From 2c6d308ecb02d5e27001f4296dbe7f86b79a59ea Mon Sep 17 00:00:00 2001 From: Sunny Shao Date: Tue, 4 Jun 2019 14:11:40 +0800 Subject: [PATCH] Set the mAccountName as null while device has no any account It doesn't clean the mAccountName buffer while device has no any account. And it will be put into the Intent and pass to MeCard when user click the ghost boy avatar. It does not make sense and modify code to fixed it. Fixes: 129265427 Test: make RunSettingsRoboTests -j56 ROBOTEST_FILTER=com.android.settings.accounts make RunSettingsRoboTests -j56 ROBOTEST_FILTER=com.android.settings.core make RunSettingsRoboTests -j56 ROBOTEST_FILTER=com.android.settings.dashboard Change-Id: Ib8cfab2cb416515018f335b21ef49a95699a1597 --- .../android/settings/accounts/AvatarViewMixin.java | 4 +++- .../settings/accounts/AvatarViewMixinTest.java | 11 +++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/accounts/AvatarViewMixin.java b/src/com/android/settings/accounts/AvatarViewMixin.java index 9e762c72574..7eb8cab8f41 100644 --- a/src/com/android/settings/accounts/AvatarViewMixin.java +++ b/src/com/android/settings/accounts/AvatarViewMixin.java @@ -67,7 +67,8 @@ public class AvatarViewMixin implements LifecycleObserver { private final MutableLiveData mAvatarImage; private final ActivityManager mActivityManager; - private String mAccountName; + @VisibleForTesting + String mAccountName; public AvatarViewMixin(SettingsHomepageActivity activity, ImageView avatarView) { mContext = activity.getApplicationContext(); @@ -127,6 +128,7 @@ public class AvatarViewMixin implements LifecycleObserver { if (hasAccount()) { loadAccount(); } else { + mAccountName = null; mAvatarView.setImageResource(R.drawable.ic_account_circle_24dp); } } diff --git a/tests/robotests/src/com/android/settings/accounts/AvatarViewMixinTest.java b/tests/robotests/src/com/android/settings/accounts/AvatarViewMixinTest.java index 8c75e33b397..8dbf2a83cc5 100644 --- a/tests/robotests/src/com/android/settings/accounts/AvatarViewMixinTest.java +++ b/tests/robotests/src/com/android/settings/accounts/AvatarViewMixinTest.java @@ -130,6 +130,17 @@ public class AvatarViewMixinTest { verify(mockAvatar).hasAccount(); } + @Test + @Config(qualifiers = "mcc999") + public void onStart_noAccount_mAccountNameShouldBeNull() { + final AvatarViewMixin avatarViewMixin = new AvatarViewMixin(mActivity, mImageView); + avatarViewMixin.mAccountName = DUMMY_ACCOUNT; + + avatarViewMixin.onStart(); + + assertThat(avatarViewMixin.mAccountName).isNull(); + } + @Test public void queryProviderAuthority_useShadowPackagteManager_returnNull() { final AvatarViewMixin avatarViewMixin = new AvatarViewMixin(mActivity, mImageView);