diff --git a/res/values/config.xml b/res/values/config.xml index c357207d80c..8fa91fe75a5 100755 --- a/res/values/config.xml +++ b/res/values/config.xml @@ -140,6 +140,9 @@ --> true + + false + true diff --git a/src/com/android/settings/accounts/AvatarViewMixin.java b/src/com/android/settings/accounts/AvatarViewMixin.java index d7f6f8aa836..6dcf312a167 100644 --- a/src/com/android/settings/accounts/AvatarViewMixin.java +++ b/src/com/android/settings/accounts/AvatarViewMixin.java @@ -18,6 +18,7 @@ package com.android.settings.accounts; import android.accounts.Account; import android.content.Context; +import android.util.Log; import android.widget.ImageView; import androidx.annotation.VisibleForTesting; @@ -34,8 +35,10 @@ import com.android.settings.overlay.FeatureFactory; * in {@link SettingsHomepageActivity}. */ public class AvatarViewMixin implements LifecycleObserver { - private Context mContext; - private ImageView mAvatarView; + private static final String TAG = "AvatarViewMixin"; + + private final Context mContext; + private final ImageView mAvatarView; public AvatarViewMixin(Context context, ImageView avatarView) { mContext = context.getApplicationContext(); @@ -44,6 +47,10 @@ public class AvatarViewMixin implements LifecycleObserver { @OnLifecycleEvent(Lifecycle.Event.ON_START) public void onStart() { + if (!mContext.getResources().getBoolean(R.bool.config_show_avatar_in_homepage)) { + Log.d(TAG, "Feature disabled. Skipping"); + return; + } if (hasAccount()) { //TODO(b/117509285): To migrate account icon on search bar } else { diff --git a/tests/robotests/res/values-mcc999/config.xml b/tests/robotests/res/values-mcc999/config.xml index 9a7bdc902ac..73d22647091 100644 --- a/tests/robotests/res/values-mcc999/config.xml +++ b/tests/robotests/res/values-mcc999/config.xml @@ -63,6 +63,7 @@ true false false + true false diff --git a/tests/robotests/src/com/android/settings/accounts/AvatarViewMixinTest.java b/tests/robotests/src/com/android/settings/accounts/AvatarViewMixinTest.java index c72561ed59c..b3d929c8b38 100644 --- a/tests/robotests/src/com/android/settings/accounts/AvatarViewMixinTest.java +++ b/tests/robotests/src/com/android/settings/accounts/AvatarViewMixinTest.java @@ -18,6 +18,7 @@ package com.android.settings.accounts; import static com.google.common.truth.Truth.assertThat; +import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; @@ -29,7 +30,6 @@ import com.android.settings.homepage.SettingsHomepageActivity; import com.android.settings.testutils.SettingsRobolectricTestRunner; import org.junit.Before; -import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.MockitoAnnotations; @@ -69,6 +69,15 @@ public class AvatarViewMixinTest { } @Test + public void onStart_configDisabled_doNothing() { + final AvatarViewMixin mixin = spy(new AvatarViewMixin(mContext, mImageView)); + mixin.onStart(); + + verify(mixin, never()).hasAccount(); + } + + @Test + @Config(qualifiers = "mcc999") public void onStart_useMockAvatarViewMixin_shouldBeExecuted() { final AvatarViewMixin mockAvatar = spy(new AvatarViewMixin(mContext, mImageView)); @@ -79,7 +88,7 @@ public class AvatarViewMixinTest { settingsHomepageActivity.getLifecycle().addObserver(mockAvatar); controller.start(); - verify(mockAvatar).onStart(); + verify(mockAvatar).hasAccount(); } @Implements(AccountFeatureProviderImpl.class)