diff --git a/app/src/main/java/com/aurora/store/util/Preferences.kt b/app/src/main/java/com/aurora/store/util/Preferences.kt index d35871cbf..a380071e1 100644 --- a/app/src/main/java/com/aurora/store/util/Preferences.kt +++ b/app/src/main/java/com/aurora/store/util/Preferences.kt @@ -48,6 +48,8 @@ object Preferences { const val PREFERENCE_PROXY_INFO = "PREFERENCE_PROXY_INFO" const val PREFERENCE_PROXY_ENABLED = "PREFERENCE_PROXY_ENABLED" + const val PREFERENCE_MICROG_AUTH = "PREFERENCE_MICROG_AUTH" + const val PREFERENCE_DISPENSER_URLS = "PREFERENCE_DISPENSER_URLS" const val PREFERENCE_VENDING_VERSION = "PREFERENCE_VENDING_VERSION" diff --git a/app/src/main/java/com/aurora/store/view/ui/preferences/NetworkPreference.kt b/app/src/main/java/com/aurora/store/view/ui/preferences/NetworkPreference.kt index 3ac79050b..29fc54b48 100644 --- a/app/src/main/java/com/aurora/store/view/ui/preferences/NetworkPreference.kt +++ b/app/src/main/java/com/aurora/store/view/ui/preferences/NetworkPreference.kt @@ -29,7 +29,9 @@ import androidx.preference.SwitchPreferenceCompat import com.aurora.extensions.runOnUiThread import com.aurora.extensions.toast import com.aurora.store.R +import com.aurora.store.util.PackageUtil import com.aurora.store.util.Preferences +import com.aurora.store.util.Preferences.PREFERENCE_MICROG_AUTH import com.aurora.store.util.Preferences.PREFERENCE_PROXY_ENABLED import com.aurora.store.util.Preferences.PREFERENCE_PROXY_INFO import com.aurora.store.util.Preferences.PREFERENCE_PROXY_URL @@ -84,6 +86,9 @@ class NetworkPreference : BasePreferenceFragment(), true } } + + findPreference(PREFERENCE_MICROG_AUTH)?.isEnabled = + PackageUtil.hasSupportedMicroG(requireContext()) } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/aurora/store/view/ui/splash/SplashFragment.kt b/app/src/main/java/com/aurora/store/view/ui/splash/SplashFragment.kt index 904e60023..6e5673cc4 100644 --- a/app/src/main/java/com/aurora/store/view/ui/splash/SplashFragment.kt +++ b/app/src/main/java/com/aurora/store/view/ui/splash/SplashFragment.kt @@ -50,6 +50,7 @@ import com.aurora.store.util.PackageUtil import com.aurora.store.util.Preferences import com.aurora.store.util.Preferences.PREFERENCE_DEFAULT_SELECTED_TAB import com.aurora.store.util.Preferences.PREFERENCE_INTRO +import com.aurora.store.util.Preferences.PREFERENCE_MICROG_AUTH import com.aurora.store.view.ui.commons.BaseFragment import com.aurora.store.viewmodel.auth.AuthViewModel import dagger.hilt.android.AndroidEntryPoint @@ -63,6 +64,10 @@ class SplashFragment : BaseFragment() { private val viewModel: AuthViewModel by activityViewModels() + private val canLoginWithMicroG: Boolean + get() = isMAndAbove && PackageUtil.hasSupportedMicroG(requireContext()) && + Preferences.getBoolean(requireContext(), PREFERENCE_MICROG_AUTH, true) + private val startForAccount = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { val accountName = it.data?.getStringExtra(AccountManager.KEY_ACCOUNT_NAME) @@ -201,7 +206,7 @@ class SplashFragment : BaseFragment() { binding.btnGoogle.addOnClickListener { if (viewModel.authState.value != AuthState.Fetching) { binding.btnGoogle.updateProgress(true) - if (isMAndAbove && PackageUtil.hasSupportedMicroG(requireContext())) { + if (canLoginWithMicroG) { Log.i(TAG, "Found supported microG, trying to request credentials") val accountIntent = AccountManager.newChooseAccountIntent( null, @@ -216,7 +221,6 @@ class SplashFragment : BaseFragment() { } else { findNavController().navigate(R.id.googleFragment) } - } } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 72700d404..5a74477d0 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -489,4 +489,8 @@ %1$d apps installed + + + Use microG to sign-in to accounts + Authenticate using microG when signing into Google accounts for a simpler sign-in flow. diff --git a/app/src/main/res/xml/preferences_network.xml b/app/src/main/res/xml/preferences_network.xml index e0f4856d7..bdfbd33e8 100644 --- a/app/src/main/res/xml/preferences_network.xml +++ b/app/src/main/res/xml/preferences_network.xml @@ -44,6 +44,14 @@ app:singleLineTitle="false" app:title="@string/pref_common_extra" /> + +