NetworkPreference: Make microG login configurable for users

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2025-02-11 13:15:47 +07:00
parent 1db64250d5
commit 40524c7379
5 changed files with 25 additions and 2 deletions

View File

@@ -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"

View File

@@ -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<SwitchPreferenceCompat>(PREFERENCE_MICROG_AUTH)?.isEnabled =
PackageUtil.hasSupportedMicroG(requireContext())
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {

View File

@@ -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<FragmentSplashBinding>() {
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<FragmentSplashBinding>() {
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<FragmentSplashBinding>() {
} else {
findNavController().navigate(R.id.googleFragment)
}
}
}
}