Twidere-App-Android-Twitter.../twidere/src/main/kotlin/org/mariotaku/ktextension/CookieManagerExtension.kt

32 lines
835 B
Kotlin

package org.mariotaku.ktextension
import android.annotation.TargetApi
import android.os.Build
import android.webkit.CookieManager
/**
* Created by mariotaku on 2016/12/18.
*/
fun CookieManager.removeAllCookiesSupport(callback: ((Boolean) -> Unit)? = null) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
@Suppress("DEPRECATION")
removeAllCookie()
callback?.invoke(true)
return
}
CookieManagerSupportL.removeAllCookiesL(this, callback)
}
internal object CookieManagerSupportL {
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
fun removeAllCookiesL(manager: CookieManager, callback: ((Boolean) -> Unit)?) {
if (callback != null) {
manager.removeAllCookies { callback(it) }
} else {
manager.removeAllCookies(null)
}
}
}