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

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

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

Loading…
Cancel
Save