Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1f14eef2 authored by Sumit Pundir's avatar Sumit Pundir
Browse files

ui: google: fix alert dialog showing up on multiple instances for device spoof

The spoof alert was showing up twice which isn't the desired
functionality. Partial revert and fix of commit
https://gitlab.e.foundation/e/apps/AccountManager/-/commit/7e7e16c8af2847b9793a6f8cb4bb19ab11d32771



Also patch up the indentation for the files.

Signed-off-by: default avatarSumit Pundir <pundirsumit11@gmail.com>
parent b57dbf29
Loading
Loading
Loading
Loading
Loading
+84 −61
Original line number Diff line number Diff line
@@ -31,7 +31,11 @@ import foundation.e.accountmanager.databinding.FragmentGoogleAuthenticatorBindin
import foundation.e.accountmanager.model.Credentials
import kotlinx.android.synthetic.main.fragment_google_authenticator.*
import android.net.ConnectivityManager
import android.text.Layout
import android.text.SpannableString
import android.text.style.AlignmentSpan
import android.widget.Toast
import androidx.appcompat.app.AlertDialog

class GoogleAuthenticatorFragment : Fragment(), AuthorizationService.TokenResponseCallback {

@@ -68,8 +72,21 @@ class GoogleAuthenticatorFragment : Fragment(), AuthorizationService.TokenRespon

        activity?.intent?.let {
            model.initialize(it)
            val builder = AlertDialog.Builder(context!!)

            if (!with(it) { getBooleanExtra(LoginActivity.ACCOUNT_PROVIDER_GOOGLE_AUTH_COMPLETE, false) }) {
                val title = SpannableString(getString(R.string.google_alert_title))
                // alert dialog title align center
                title.setSpan(
                        AlignmentSpan.Standard(Layout.Alignment.ALIGN_CENTER),
                        0,
                        title.length,
                        0
                )

                builder.setTitle(title)
                builder.setMessage(getString(R.string.google_alert_message))
                builder.setPositiveButton(android.R.string.yes) { dialog, which ->
                    // Get all the account providers
                    val providers = IdentityProvider.getEnabledProviders(context)

@@ -93,6 +110,12 @@ class GoogleAuthenticatorFragment : Fragment(), AuthorizationService.TokenRespon
                        }
                    }
                }
                builder.setCancelable(false)

                val dialog = builder.create()
                dialog.show()

            }
            else {
                if (authState == null) {
                    val response = AuthorizationResponse.fromIntent(activity!!.intent)
+12 −36
Original line number Diff line number Diff line
@@ -10,11 +10,7 @@ package foundation.e.accountmanager.ui.setup

import android.os.Bundle
import android.view.MenuItem
import android.text.Layout
import android.text.SpannableString
import android.text.style.AlignmentSpan
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.app.AlertDialog
import androidx.fragment.app.Fragment
import foundation.e.accountmanager.R
import foundation.e.accountmanager.App
@@ -72,30 +68,10 @@ class LoginActivity: AppCompatActivity() {
                                .commit()
                    }
                    ACCOUNT_PROVIDER_GOOGLE -> {
			val builder = AlertDialog.Builder(this)
			val title = SpannableString(getString(R.string.google_alert_title))

			// alert dialog title align center
            		title.setSpan(
                	    AlignmentSpan.Standard(Layout.Alignment.ALIGN_CENTER),
                	    0,
                	    title.length,
                	    0
            		)

            		builder.setTitle(title)
        		builder.setMessage(getString(R.string.google_alert_message))
			builder.setPositiveButton(android.R.string.yes) { dialog, which ->
			    dialog.cancel()	
                        supportFragmentManager.beginTransaction()
                                .replace(android.R.id.content, GoogleAuthenticatorFragment())
                                .commit()
                    }
			builder.setCancelable(false)

			val dialog = builder.create()
			dialog.show()
                    }
                    else ->
                        // first call, add first login fragment
                        supportFragmentManager.beginTransaction()