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)