From 7c2d9bd8a8ef76f08241a0d6d28e65e89e3a0f3f Mon Sep 17 00:00:00 2001 From: Gabriel Luong Date: Thu, 25 Nov 2021 13:27:10 -0500 Subject: [PATCH] For #22595 - Remove unused OnboardingAutomaticSignInViewHolder --- .../main/java/org/mozilla/fenix/home/Mode.kt | 6 - .../sessioncontrol/SessionControlAdapter.kt | 11 -- .../home/sessioncontrol/SessionControlView.kt | 5 - .../OnboardingAutomaticSignInViewHolder.kt | 83 ------------ .../ic_onboarding_avatar_anonymous.xml | 16 --- .../drawable/onboarding_padded_background.xml | 2 +- .../layout/onboarding_automatic_signin.xml | 42 ------ app/src/main/res/values/colors.xml | 6 - app/src/main/res/values/strings.xml | 8 +- app/src/main/res/values/styles.xml | 2 +- .../java/org/mozilla/fenix/home/ModeTest.kt | 14 -- ...OnboardingAutomaticSignInViewHolderTest.kt | 120 ------------------ 12 files changed, 6 insertions(+), 309 deletions(-) delete mode 100644 app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingAutomaticSignInViewHolder.kt delete mode 100644 app/src/main/res/drawable/ic_onboarding_avatar_anonymous.xml delete mode 100644 app/src/main/res/layout/onboarding_automatic_signin.xml delete mode 100644 app/src/test/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingAutomaticSignInViewHolderTest.kt diff --git a/app/src/main/java/org/mozilla/fenix/home/Mode.kt b/app/src/main/java/org/mozilla/fenix/home/Mode.kt index d9eea4172..7c281559d 100644 --- a/app/src/main/java/org/mozilla/fenix/home/Mode.kt +++ b/app/src/main/java/org/mozilla/fenix/home/Mode.kt @@ -9,7 +9,6 @@ import mozilla.components.concept.sync.AccountObserver import mozilla.components.concept.sync.AuthType import mozilla.components.concept.sync.OAuthAccount import mozilla.components.concept.sync.Profile -import mozilla.components.service.fxa.sharing.ShareableAccount import org.mozilla.fenix.browser.browsingmode.BrowsingMode import org.mozilla.fenix.browser.browsingmode.BrowsingModeManager import org.mozilla.fenix.ext.components @@ -37,8 +36,6 @@ sealed class Mode { sealed class OnboardingState { // Signed out, without an option to auto-login using a shared FxA account. object SignedOutNoAutoSignIn : OnboardingState() - // Signed out, with an option to auto-login into a shared FxA account. - data class SignedOutCanAutoSignIn(val withAccount: ShareableAccount) : OnboardingState() // Signed in. object SignedIn : OnboardingState() } @@ -60,9 +57,6 @@ class CurrentMode( Mode.Onboarding(OnboardingState.SignedIn) } else { Mode.Onboarding(OnboardingState.SignedOutNoAutoSignIn) - // The following other state is effectively disabled - #6521 - // Code still exists in app for when it will be used again - #15694 - // Mode.Onboarding(OnboardingState.SignedOutCanAutoSignIn(accountManager.shareableAccounts(context)[0])) } } diff --git a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlAdapter.kt b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlAdapter.kt index 68d9278df..bb6647e31 100644 --- a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlAdapter.kt +++ b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlAdapter.kt @@ -23,7 +23,6 @@ import org.mozilla.fenix.historymetadata.view.HistoryMetadataGroupViewHolder import org.mozilla.fenix.historymetadata.view.HistoryMetadataHeaderViewHolder import org.mozilla.fenix.home.HomeFragmentStore import org.mozilla.fenix.home.TopPlaceholderViewHolder -import org.mozilla.fenix.home.OnboardingState import org.mozilla.fenix.home.pocket.PocketStoriesViewHolder import org.mozilla.fenix.home.recentbookmarks.view.RecentBookmarksHeaderViewHolder import org.mozilla.fenix.home.recentbookmarks.view.RecentBookmarksViewHolder @@ -36,7 +35,6 @@ import org.mozilla.fenix.home.sessioncontrol.viewholders.NoCollectionsMessageVie import org.mozilla.fenix.home.sessioncontrol.viewholders.PrivateBrowsingDescriptionViewHolder import org.mozilla.fenix.home.sessioncontrol.viewholders.TabInCollectionViewHolder import org.mozilla.fenix.home.sessioncontrol.viewholders.onboarding.ExperimentDefaultBrowserCardViewHolder -import org.mozilla.fenix.home.sessioncontrol.viewholders.onboarding.OnboardingAutomaticSignInViewHolder import org.mozilla.fenix.home.sessioncontrol.viewholders.onboarding.OnboardingFinishViewHolder import org.mozilla.fenix.home.sessioncontrol.viewholders.onboarding.OnboardingHeaderViewHolder import org.mozilla.fenix.home.sessioncontrol.viewholders.onboarding.OnboardingManualSignInViewHolder @@ -144,9 +142,6 @@ sealed class AdapterItem(@LayoutRes val viewType: Int) { } object OnboardingManualSignIn : AdapterItem(OnboardingManualSignInViewHolder.LAYOUT_ID) - data class OnboardingAutomaticSignIn( - val state: OnboardingState.SignedOutCanAutoSignIn - ) : AdapterItem(OnboardingAutomaticSignInViewHolder.LAYOUT_ID) object ExperimentDefaultBrowserCard : AdapterItem(ExperimentDefaultBrowserCardViewHolder.LAYOUT_ID) @@ -263,9 +258,6 @@ class SessionControlAdapter( ) OnboardingHeaderViewHolder.LAYOUT_ID -> OnboardingHeaderViewHolder(view) OnboardingSectionHeaderViewHolder.LAYOUT_ID -> OnboardingSectionHeaderViewHolder(view) - OnboardingAutomaticSignInViewHolder.LAYOUT_ID -> OnboardingAutomaticSignInViewHolder( - view - ) OnboardingManualSignInViewHolder.LAYOUT_ID -> OnboardingManualSignInViewHolder(view) OnboardingThemePickerViewHolder.LAYOUT_ID -> OnboardingThemePickerViewHolder(view) OnboardingTrackingProtectionViewHolder.LAYOUT_ID -> OnboardingTrackingProtectionViewHolder( @@ -354,9 +346,6 @@ class SessionControlAdapter( (item as AdapterItem.OnboardingSectionHeader).labelBuilder ) is OnboardingManualSignInViewHolder -> holder.bind() - is OnboardingAutomaticSignInViewHolder -> holder.bind( - (item as AdapterItem.OnboardingAutomaticSignIn).state.withAccount - ) is HistoryMetadataGroupViewHolder, is RecentBookmarksViewHolder, is RecentTabViewHolder, diff --git a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlView.kt b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlView.kt index 94db92170..f90ea400e 100644 --- a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlView.kt +++ b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlView.kt @@ -133,11 +133,6 @@ private fun onboardingAdapterItems(onboardingState: OnboardingState): List { - listOf( - AdapterItem.OnboardingAutomaticSignIn(onboardingState) - ) - } OnboardingState.SignedIn -> listOf() } ) diff --git a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingAutomaticSignInViewHolder.kt b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingAutomaticSignInViewHolder.kt deleted file mode 100644 index 9401fda10..000000000 --- a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingAutomaticSignInViewHolder.kt +++ /dev/null @@ -1,83 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -package org.mozilla.fenix.home.sessioncontrol.viewholders.onboarding - -import android.view.View -import android.widget.Button -import androidx.annotation.VisibleForTesting -import androidx.appcompat.content.res.AppCompatResources.getDrawable -import androidx.recyclerview.widget.RecyclerView -import com.google.android.material.snackbar.Snackbar -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.MainScope -import kotlinx.coroutines.launch -import mozilla.components.service.fxa.manager.MigrationResult -import mozilla.components.service.fxa.sharing.ShareableAccount -import mozilla.components.support.ktx.android.view.putCompoundDrawablesRelativeWithIntrinsicBounds -import org.mozilla.fenix.R -import org.mozilla.fenix.components.FenixSnackbar -import org.mozilla.fenix.components.metrics.Event -import org.mozilla.fenix.databinding.OnboardingAutomaticSigninBinding -import org.mozilla.fenix.ext.components - -class OnboardingAutomaticSignInViewHolder( - view: View, - private val scope: CoroutineScope = MainScope() -) : RecyclerView.ViewHolder(view) { - - private lateinit var shareableAccount: ShareableAccount - private val binding = OnboardingAutomaticSigninBinding.bind(view) - private val headerText = binding.headerText - - init { - binding.fxaSignInButton.setOnClickListener { - scope.launch { - onClick(binding.fxaSignInButton) - } - } - } - - fun bind(account: ShareableAccount) { - shareableAccount = account - headerText.text = itemView.context.getString( - R.string.onboarding_firefox_account_auto_signin_header_3, account.email - ) - val icon = getDrawable(itemView.context, R.drawable.ic_onboarding_avatar_anonymous) - headerText.putCompoundDrawablesRelativeWithIntrinsicBounds(start = icon) - } - - @VisibleForTesting - internal suspend fun onClick(button: Button) { - val context = button.context - context.components.analytics.metrics.track(Event.OnboardingAutoSignIn) - - button.text = context.getString(R.string.onboarding_firefox_account_signing_in) - button.isEnabled = false - - val accountManager = context.components.backgroundServices.accountManager - when (accountManager.migrateFromAccount(shareableAccount)) { - MigrationResult.WillRetry, - MigrationResult.Success -> { - // We consider both of these as a 'success'. - } - MigrationResult.Failure -> { - // Failed to sign-in (e.g. bad credentials). Allow to try again. - button.text = context.getString(R.string.onboarding_firefox_account_auto_signin_confirm) - button.isEnabled = true - FenixSnackbar.make( - view = button, - duration = Snackbar.LENGTH_SHORT, - isDisplayedWithBrowserToolbar = false - ).setText( - context.getString(R.string.onboarding_firefox_account_automatic_signin_failed) - ).show() - } - } - } - - companion object { - const val LAYOUT_ID = R.layout.onboarding_automatic_signin - } -} diff --git a/app/src/main/res/drawable/ic_onboarding_avatar_anonymous.xml b/app/src/main/res/drawable/ic_onboarding_avatar_anonymous.xml deleted file mode 100644 index 75d271ab5..000000000 --- a/app/src/main/res/drawable/ic_onboarding_avatar_anonymous.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - diff --git a/app/src/main/res/drawable/onboarding_padded_background.xml b/app/src/main/res/drawable/onboarding_padded_background.xml index 4e5b99bb6..0b75e8f7b 100644 --- a/app/src/main/res/drawable/onboarding_padded_background.xml +++ b/app/src/main/res/drawable/onboarding_padded_background.xml @@ -2,7 +2,7 @@ - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. --> + android:color="#1F000000"> diff --git a/app/src/main/res/layout/onboarding_automatic_signin.xml b/app/src/main/res/layout/onboarding_automatic_signin.xml deleted file mode 100644 index a4a752a66..000000000 --- a/app/src/main/res/layout/onboarding_automatic_signin.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - -