fix webview lol srr

pull/1069/head
deniscerri 6 months ago
parent 1101705b8d
commit abae9e8b2a
No known key found for this signature in database
GPG Key ID: 95C43D517D830350

@ -158,7 +158,7 @@ class WebViewActivity : BaseActivity() {
}
webViewCompose.apply {
setContent { WebViewView(incognito, webViewClient) }
setContent { WebViewView(incognito, webViewClient, url) }
}
}
@ -184,6 +184,7 @@ class WebViewActivity : BaseActivity() {
fun WebViewView(
incognito: Boolean,
webViewClient: WebViewClient,
url: String
) {
val context = LocalContext.current
val cookieManager = remember { CookieManager.getInstance() }
@ -228,6 +229,11 @@ class WebViewActivity : BaseActivity() {
.padding(padding)
.fillMaxSize(),
factory = { webView },
update = {
if (it.url != url) {
it.loadUrl(url)
}
}
)
}
}

@ -225,6 +225,7 @@ class GenerateYoutubePoTokensFragment : Fragment() {
val intent = Intent(requireContext(), PoTokenWebViewLoginActivity::class.java)
intent.putExtra("url", "https://www.youtube.com")
intent.putExtra("redirect_url", "https://www.youtube.com/embed/${editText.text.toString().getIDFromYoutubeURL()}")
intent.putExtra("no_auth", true)
webPoTokenResultLauncher.launch(intent)
}
@ -246,6 +247,7 @@ class GenerateYoutubePoTokensFragment : Fragment() {
dialog.setPositiveButton(getString(R.string.auth)) { dialogInterface: DialogInterface, _: Int ->
val intent = Intent(requireContext(), PoTokenWebViewLoginActivity::class.java)
intent.putExtra("url", "https://www.youtube.com/account")
intent.putExtra("no_auth", false)
webPoTokenResultLauncher.launch(intent)
}

@ -66,6 +66,7 @@ class PoTokenWebViewLoginActivity : BaseActivity() {
val url = intent.getStringExtra("url")!!
var redirectUrl = intent.getStringExtra("redirect_url")
val noAuth = intent.getBooleanExtra("no_auth", false)
cookiesViewModel = ViewModelProvider(this)[CookieViewModel::class.java]
lifecycleScope.launch {
@ -187,6 +188,11 @@ class PoTokenWebViewLoginActivity : BaseActivity() {
webView.loadUrl("https://www.youtube.com/robots.txt")
}
if (savedInstanceState == null && noAuth) {
cookieManager.removeAllCookies(null)
cookieManager.flush()
}
webViewCompose.apply {
setContent { WebViewView(url, webViewClient) }
}
@ -233,6 +239,9 @@ class PoTokenWebViewLoginActivity : BaseActivity() {
}
}
cookieManager.setAcceptThirdPartyCookies(this, true)
this.webViewClient = webViewClient
this.webChromeClient = object : WebChromeClient() {}
}
}
@ -242,6 +251,11 @@ class PoTokenWebViewLoginActivity : BaseActivity() {
.padding(padding)
.fillMaxSize(),
factory = { webView },
update = {
if (it.url != url) {
it.loadUrl(url)
}
}
)
}
}

Loading…
Cancel
Save