Loading app/src/main/java/foundation/e/apps/ui/setup/signin/SignInFragment.kt +44 −3 Original line number Diff line number Diff line Loading @@ -132,6 +132,7 @@ class SignInFragment : Fragment(R.layout.fragment_sign_in) { getString(R.string.sign_in_google_applounge_only), getString(R.string.sign_in_google_system_wide) ) MaterialAlertDialogBuilder(requireContext()) .setTitle(getString(R.string.sign_in_google_choice_title)) .setItems(options) { dialog, which -> Loading @@ -145,15 +146,24 @@ class SignInFragment : Fragment(R.layout.fragment_sign_in) { } private fun startSystemWideGoogleLogin() { val hasMicrog = MicrogSupportChecker.hasSupportedMicrog(requireContext()) && viewModel.hasMicrogAccount() if (!hasMicrog) { val hasMicrogSupport = MicrogSupportChecker.hasSupportedMicrog(requireContext()) if (!hasMicrogSupport) { showMicrogDialog( isSuccess = false, message = getString(R.string.sign_in_microg_not_available) ) return } if (!viewModel.hasMicrogAccount()) { startMicrogSignInWizard() return } launchAccountPicker() } private fun launchAccountPicker() { val intent = AccountManager.newChooseAccountIntent( null, null, Loading @@ -163,6 +173,37 @@ class SignInFragment : Fragment(R.layout.fragment_sign_in) { null, null ) accountPickerLauncher.launch(intent) } private fun startMicrogSignInWizard() { AccountManager.get(requireContext()).addAccount( MicrogCertUtil.GOOGLE_ACCOUNT_TYPE, null, null, null, requireActivity(), { onMicrogAccountAdded() }, null ) } private fun onMicrogAccountAdded() { if (!isAdded) { return } requireActivity().runOnUiThread { if (viewModel.hasMicrogAccount()) { launchAccountPicker() return@runOnUiThread } showMicrogDialog( isSuccess = false, message = getString(R.string.sign_in_microg_no_account) ) } } } Loading
app/src/main/java/foundation/e/apps/ui/setup/signin/SignInFragment.kt +44 −3 Original line number Diff line number Diff line Loading @@ -132,6 +132,7 @@ class SignInFragment : Fragment(R.layout.fragment_sign_in) { getString(R.string.sign_in_google_applounge_only), getString(R.string.sign_in_google_system_wide) ) MaterialAlertDialogBuilder(requireContext()) .setTitle(getString(R.string.sign_in_google_choice_title)) .setItems(options) { dialog, which -> Loading @@ -145,15 +146,24 @@ class SignInFragment : Fragment(R.layout.fragment_sign_in) { } private fun startSystemWideGoogleLogin() { val hasMicrog = MicrogSupportChecker.hasSupportedMicrog(requireContext()) && viewModel.hasMicrogAccount() if (!hasMicrog) { val hasMicrogSupport = MicrogSupportChecker.hasSupportedMicrog(requireContext()) if (!hasMicrogSupport) { showMicrogDialog( isSuccess = false, message = getString(R.string.sign_in_microg_not_available) ) return } if (!viewModel.hasMicrogAccount()) { startMicrogSignInWizard() return } launchAccountPicker() } private fun launchAccountPicker() { val intent = AccountManager.newChooseAccountIntent( null, null, Loading @@ -163,6 +173,37 @@ class SignInFragment : Fragment(R.layout.fragment_sign_in) { null, null ) accountPickerLauncher.launch(intent) } private fun startMicrogSignInWizard() { AccountManager.get(requireContext()).addAccount( MicrogCertUtil.GOOGLE_ACCOUNT_TYPE, null, null, null, requireActivity(), { onMicrogAccountAdded() }, null ) } private fun onMicrogAccountAdded() { if (!isAdded) { return } requireActivity().runOnUiThread { if (viewModel.hasMicrogAccount()) { launchAccountPicker() return@runOnUiThread } showMicrogDialog( isSuccess = false, message = getString(R.string.sign_in_microg_no_account) ) } } }