Merge "Don't show owner as a secondary user."
diff --git a/src/com/android/settings/deviceinfo/storage/SecondaryUserController.java b/src/com/android/settings/deviceinfo/storage/SecondaryUserController.java
index 41800a2..4fd9e52 100644
--- a/src/com/android/settings/deviceinfo/storage/SecondaryUserController.java
+++ b/src/com/android/settings/deviceinfo/storage/SecondaryUserController.java
@@ -32,6 +32,7 @@
import java.util.ArrayList;
import java.util.List;
+
/**
* SecondaryUserController controls the preferences on the Storage screen which had to do with
* secondary users.
@@ -62,7 +63,7 @@
List<UserInfo> infos = userManager.getUsers();
for (int i = 0, size = infos.size(); i < size; i++) {
UserInfo info = infos.get(i);
- if (info.equals(primaryUser)) {
+ if (info.isPrimary()) {
continue;
}
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/storage/SecondaryUserControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/storage/SecondaryUserControllerTest.java
index c8f3069..16bf1ae 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/storage/SecondaryUserControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/storage/SecondaryUserControllerTest.java
@@ -69,6 +69,7 @@
MockitoAnnotations.initMocks(this);
mContext = RuntimeEnvironment.application;
mPrimaryUser = new UserInfo();
+ mPrimaryUser.flags = UserInfo.FLAG_PRIMARY;
mController = new SecondaryUserController(mContext, mPrimaryUser);
when(mScreen.getContext()).thenReturn(mContext);
@@ -167,4 +168,23 @@
assertThat(preference.getSummary()).isEqualTo("99.00B");
}
+
+ @Test
+ public void dontAddPrimaryProfileAsASecondaryProfile() throws Exception {
+ ArrayList<UserInfo> userInfos = new ArrayList<>();
+ // The primary UserInfo may be a different object with a different name... but represent the
+ // same user!
+ UserInfo primaryUserRenamed = new UserInfo();
+ primaryUserRenamed.name = "Owner";
+ primaryUserRenamed.flags = UserInfo.FLAG_PRIMARY;
+ userInfos.add(primaryUserRenamed);
+ when(mUserManager.getPrimaryUser()).thenReturn(mPrimaryUser);
+ when(mUserManager.getUsers()).thenReturn(userInfos);
+ List<PreferenceController> controllers =
+ SecondaryUserController.getSecondaryUserControllers(mContext, mUserManager);
+
+ assertThat(controllers).hasSize(1);
+ // We should have the NoSecondaryUserController.
+ assertThat(controllers.get(0) instanceof SecondaryUserController).isFalse();
+ }
}