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();
+    }
 }