优化
This commit is contained in:
@@ -8,6 +8,7 @@ import io.legado.app.data.entities.Cookie
|
|||||||
import io.legado.app.help.CacheManager
|
import io.legado.app.help.CacheManager
|
||||||
import io.legado.app.help.http.api.CookieManager
|
import io.legado.app.help.http.api.CookieManager
|
||||||
import io.legado.app.utils.NetworkUtils
|
import io.legado.app.utils.NetworkUtils
|
||||||
|
import io.legado.app.utils.removeCookie
|
||||||
|
|
||||||
object CookieStore : CookieManager {
|
object CookieStore : CookieManager {
|
||||||
|
|
||||||
@@ -61,7 +62,7 @@ object CookieStore : CookieManager {
|
|||||||
val domain = NetworkUtils.getSubDomain(url)
|
val domain = NetworkUtils.getSubDomain(url)
|
||||||
appDb.cookieDao.delete(domain)
|
appDb.cookieDao.delete(domain)
|
||||||
CacheManager.deleteMemory("${domain}_cookie")
|
CacheManager.deleteMemory("${domain}_cookie")
|
||||||
android.webkit.CookieManager.getInstance().removeAllCookies(null)
|
android.webkit.CookieManager.getInstance().removeCookie(domain)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun cookieToMap(cookie: String): MutableMap<String, String> {
|
override fun cookieToMap(cookie: String): MutableMap<String, String> {
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
package io.legado.app.utils
|
||||||
|
|
||||||
|
import android.webkit.CookieManager
|
||||||
|
|
||||||
|
|
||||||
|
@Suppress("unused")
|
||||||
|
fun CookieManager.removeCookie(domain: String) {
|
||||||
|
val cm = CookieManager.getInstance()
|
||||||
|
val urls = arrayOf(
|
||||||
|
"http://$domain",
|
||||||
|
"https://$domain"
|
||||||
|
)
|
||||||
|
urls.forEach { url ->
|
||||||
|
val cookieGlob = cm.getCookie(url)
|
||||||
|
cookieGlob.split(";").forEach {
|
||||||
|
val cookieName = it.substringBefore("=")
|
||||||
|
if (cookieName.isEmpty()) {
|
||||||
|
cm.setCookie(url, "$cookieName=; Expires=Wed, 31 Dec 2000 23:59:59 GMT")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user