package ani.dantotsu.others.webview import android.annotation.SuppressLint import android.app.Application import android.os.Build import android.os.Bundle import android.webkit.CookieManager import android.webkit.WebResourceRequest import android.webkit.WebView import android.webkit.WebViewClient import androidx.appcompat.app.AppCompatActivity import ani.dantotsu.R import ani.dantotsu.themes.ThemeManager import eu.kanade.tachiyomi.network.NetworkHelper import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get class CookieCatcher : AppCompatActivity() { @SuppressLint("SetJavaScriptEnabled") @Suppress("UNCHECKED_CAST") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) ThemeManager(this).applyTheme() //get url from intent val url = intent.getStringExtra("url") ?: "https://www.youtube.com/watch?v=dQw4w9WgXcQ" val headers: Map = intent.getSerializableExtra("headers") as? Map ?: emptyMap() if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { val process = Application.getProcessName() if (packageName != process) WebView.setDataDirectorySuffix(process) } setContentView(R.layout.activity_discord) val webView = findViewById(R.id.discordWebview) val cookies: CookieManager = Injekt.get().cookieJar.manager cookies.setAcceptThirdPartyCookies(webView, true) webView.apply { settings.javaScriptEnabled = true settings.databaseEnabled = true settings.domStorageEnabled = true } WebView.setWebContentsDebuggingEnabled(true) webView.webViewClient = object : WebViewClient() { override fun shouldOverrideUrlLoading( view: WebView?, request: WebResourceRequest? ): Boolean { return super.shouldOverrideUrlLoading(view, request) } override fun onPageFinished(view: WebView?, url: String?) { super.onPageFinished(view, url) } } webView.loadUrl(url, headers) } }