From 087098fccd684fcc03f371d8c3f31ec1305c9227 Mon Sep 17 00:00:00 2001 From: DaVinci9196 <150454414+DaVinci9196@users.noreply.github.com> Date: Sat, 28 Sep 2024 16:56:59 +0800 Subject: [PATCH] Account Settings: Take product name into MyActivity page (#2491) (cherry picked from commit f2479fe595615d4d31356147a7faae1cc92a6e00) --- .../org/microg/gms/accountsettings/ui/MainActivity.kt | 8 +++++++- .../org/microg/gms/accountsettings/ui/extensions.kt | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/play-services-core/src/main/kotlin/org/microg/gms/accountsettings/ui/MainActivity.kt b/play-services-core/src/main/kotlin/org/microg/gms/accountsettings/ui/MainActivity.kt index c304d4040e..fedc4f814c 100644 --- a/play-services-core/src/main/kotlin/org/microg/gms/accountsettings/ui/MainActivity.kt +++ b/play-services-core/src/main/kotlin/org/microg/gms/accountsettings/ui/MainActivity.kt @@ -7,7 +7,9 @@ package org.microg.gms.accountsettings.ui import android.accounts.Account import android.accounts.AccountManager +import android.annotation.SuppressLint import android.os.Bundle +import android.text.TextUtils import android.util.Log import android.view.View import android.webkit.WebView @@ -130,6 +132,8 @@ class MainActivity : AppCompatActivity() { super.onCreate(savedInstanceState) val screenId = intent?.getIntExtra(EXTRA_SCREEN_ID, -1).takeIf { it != -1 } ?: ACTION_TO_SCREEN_ID[intent.action] ?: 1 + val product = intent?.getStringExtra(EXTRA_SCREEN_MY_ACTIVITY_PRODUCT) + val screenOptions = intent.extras?.keySet().orEmpty() .filter { it.startsWith(EXTRA_SCREEN_OPTIONS_PREFIX) } .map { it.substring(EXTRA_SCREEN_OPTIONS_PREFIX.length) to intent.getStringExtra(it) } @@ -149,6 +153,7 @@ class MainActivity : AppCompatActivity() { } if (screenId in SCREEN_ID_TO_URL) { + val screenUrl = SCREEN_ID_TO_URL[screenId]?.run { if (screenId == 547 && !product.isNullOrEmpty()) { replace("search", product) } else { this } } val layout = RelativeLayout(this) layout.addView(ProgressBar(this).apply { layoutParams = RelativeLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT).apply { @@ -163,7 +168,7 @@ class MainActivity : AppCompatActivity() { } layout.addView(webView) setContentView(layout) - WebViewHelper(this, webView, ALLOWED_WEB_PREFIXES).openWebView(SCREEN_ID_TO_URL[screenId], accountName) + WebViewHelper(this, webView, ALLOWED_WEB_PREFIXES).openWebView(screenUrl, accountName) setResult(RESULT_OK) } else { Log.w(TAG, "Unknown screen id, can't open corresponding web page") @@ -176,6 +181,7 @@ class MainActivity : AppCompatActivity() { super.onDestroy() } + @SuppressLint("MissingSuperCall") override fun onBackPressed() { if (this::webView.isInitialized && webView.canGoBack()) { webView.goBack() diff --git a/play-services-core/src/main/kotlin/org/microg/gms/accountsettings/ui/extensions.kt b/play-services-core/src/main/kotlin/org/microg/gms/accountsettings/ui/extensions.kt index 5ca88fe76c..ddf9f1fb60 100644 --- a/play-services-core/src/main/kotlin/org/microg/gms/accountsettings/ui/extensions.kt +++ b/play-services-core/src/main/kotlin/org/microg/gms/accountsettings/ui/extensions.kt @@ -19,5 +19,6 @@ const val EXTRA_SCREEN_OPTIONS_PREFIX = "extra.screen." const val EXTRA_FALLBACK_URL = "extra.fallbackUrl" const val EXTRA_FALLBACK_AUTH = "extra.fallbackAuth" const val EXTRA_THEME_CHOICE = "extra.themeChoice" +const val EXTRA_SCREEN_MY_ACTIVITY_PRODUCT = "extra.screen.myactivityProduct" const val OPTION_SCREEN_FLAVOR = "screenFlavor" \ No newline at end of file