Clean up USER_OWNER reference in pm/Settings

Bug: 19913735
Change-Id: I538ed443b945e9cbb731520450bf5ef39882ae37
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 47729f9..153bd3b 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -1925,8 +1925,7 @@
 
             mFoundPolicyFile = SELinuxMMAC.readInstallPolicy();
 
-            mRestoredSettings = mSettings.readLPw(this, sUserManager.getUsers(false),
-                    mSdkVersion, mOnlyCore);
+            mRestoredSettings = mSettings.readLPw(sUserManager.getUsers(false));
 
             String customResolverActivity = Resources.getSystem().getString(
                     R.string.config_customResolverActivity);
diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java
index 943e649..715dd2c 100644
--- a/services/core/java/com/android/server/pm/Settings.java
+++ b/services/core/java/com/android/server/pm/Settings.java
@@ -29,6 +29,7 @@
 import static android.os.Process.PACKAGE_INFO_GID;
 import static com.android.server.pm.PackageManagerService.DEBUG_DOMAIN_VERIFICATION;
 
+import android.annotation.NonNull;
 import android.content.IntentFilter;
 import android.content.pm.ActivityInfo;
 import android.content.pm.IntentFilterVerificationInfo;
@@ -2486,8 +2487,7 @@
         }
     }
 
-    boolean readLPw(PackageManagerService service, List<UserInfo> users, int sdkVersion,
-            boolean onlyCore) {
+    boolean readLPw(@NonNull List<UserInfo> users) {
         FileInputStream str = null;
         if (mBackupSettingsFilename.exists()) {
             try {
@@ -2583,7 +2583,7 @@
                     String userStr = parser.getAttributeValue(null, ATTR_USER);
                     String codeStr = parser.getAttributeValue(null, ATTR_CODE);
                     if (name != null) {
-                        int userId = 0;
+                        int userId = UserHandle.USER_SYSTEM;
                         boolean andCode = true;
                         try {
                             if (userStr != null) {
@@ -2672,14 +2672,8 @@
         if (PackageManagerService.CLEAR_RUNTIME_PERMISSIONS_ON_UPGRADE) {
             final VersionInfo internal = getInternalVersion();
             if (!Build.FINGERPRINT.equals(internal.fingerprint)) {
-                if (users == null) {
-                    mRuntimePermissionsPersistence.deleteUserRuntimePermissionsFile(
-                            UserHandle.USER_OWNER);
-                } else {
-                    for (UserInfo user : users) {
-                        mRuntimePermissionsPersistence.deleteUserRuntimePermissionsFile(
-                                user.id);
-                    }
+                for (UserInfo user : users) {
+                    mRuntimePermissionsPersistence.deleteUserRuntimePermissionsFile(user.id);
                 }
             }
         }
@@ -2722,23 +2716,15 @@
             mBackupStoppedPackagesFilename.delete();
             mStoppedPackagesFilename.delete();
             // Migrate to new file format
-            writePackageRestrictionsLPr(0);
+            writePackageRestrictionsLPr(UserHandle.USER_SYSTEM);
         } else {
-            if (users == null) {
-                readPackageRestrictionsLPr(0);
-            } else {
-                for (UserInfo user : users) {
-                    readPackageRestrictionsLPr(user.id);
-                }
+            for (UserInfo user : users) {
+                readPackageRestrictionsLPr(user.id);
             }
         }
 
-        if (users == null) {
-            mRuntimePermissionsPersistence.readStateForUserSyncLPr(UserHandle.USER_OWNER);
-        } else {
-            for (UserInfo user : users) {
-                mRuntimePermissionsPersistence.readStateForUserSyncLPr(user.id);
-            }
+        for (UserInfo user : users) {
+            mRuntimePermissionsPersistence.readStateForUserSyncLPr(user.id);
         }
 
         /*
@@ -4321,7 +4307,7 @@
             pw.print("    sourcePackage="); pw.println(p.sourcePackage);
             pw.print("    uid="); pw.print(p.uid);
                     pw.print(" gids="); pw.print(Arrays.toString(
-                            p.computeGids(UserHandle.USER_OWNER)));
+                            p.computeGids(UserHandle.USER_SYSTEM)));
                     pw.print(" type="); pw.print(p.type);
                     pw.print(" prot=");
                     pw.println(PermissionInfo.protectionToString(p.protectionLevel));
diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java
index fcfb5e8..08f0f09 100644
--- a/services/core/java/com/android/server/pm/UserManagerService.java
+++ b/services/core/java/com/android/server/pm/UserManagerService.java
@@ -16,6 +16,7 @@
 
 package com.android.server.pm;
 
+import android.annotation.NonNull;
 import android.app.Activity;
 import android.app.ActivityManager;
 import android.app.ActivityManagerNative;
@@ -280,7 +281,7 @@
     }
 
     @Override
-    public List<UserInfo> getUsers(boolean excludeDying) {
+    public @NonNull List<UserInfo> getUsers(boolean excludeDying) {
         checkManageUsersPermission("query users");
         synchronized (mPackagesLock) {
             ArrayList<UserInfo> users = new ArrayList<UserInfo>(mUsers.size());
diff --git a/services/tests/servicestests/src/com/android/server/pm/PackageManagerSettingsTests.java b/services/tests/servicestests/src/com/android/server/pm/PackageManagerSettingsTests.java
index ed1db6f..bf6343f 100644
--- a/services/tests/servicestests/src/com/android/server/pm/PackageManagerSettingsTests.java
+++ b/services/tests/servicestests/src/com/android/server/pm/PackageManagerSettingsTests.java
@@ -21,8 +21,11 @@
 import static android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER;
 import static android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_ENABLED;
 
+import android.annotation.NonNull;
 import android.content.Context;
 import android.content.pm.PackageParser;
+import android.content.pm.UserInfo;
+import android.os.UserHandle;
 import android.test.AndroidTestCase;
 import android.util.ArrayMap;
 import android.util.ArraySet;
@@ -36,6 +39,8 @@
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.security.PublicKey;
+import java.util.ArrayList;
+import java.util.List;
 
 public class PackageManagerSettingsTests extends AndroidTestCase {
     private static final String PACKAGE_NAME_2 = "com.google.app2";
@@ -45,6 +50,12 @@
     public static final String TAG = "PackageManagerSettingsTests";
     protected final String PREFIX = "android.content.pm";
 
+    private @NonNull List<UserInfo> createFakeUsers() {
+        ArrayList<UserInfo> users = new ArrayList<>();
+        users.add(new UserInfo(UserHandle.USER_SYSTEM, "test user", UserInfo.FLAG_INITIALIZED));
+        return users;
+    }
+
     private void writeFile(File file, byte[] data) {
         file.mkdirs();
         try {
@@ -245,7 +256,7 @@
         writeOldFiles();
         createUserManagerServiceRef();
         Settings settings = new Settings(getContext().getFilesDir(), new Object());
-        assertEquals(true, settings.readLPw(null, null, 0, false));
+        assertEquals(true, settings.readLPw(createFakeUsers()));
         verifyKeySetMetaData(settings);
     }
 
@@ -257,11 +268,11 @@
         writeOldFiles();
         createUserManagerServiceRef();
         Settings settings = new Settings(getContext().getFilesDir(), new Object());
-        assertEquals(true, settings.readLPw(null, null, 0, false));
+        assertEquals(true, settings.readLPw(createFakeUsers()));
 
         /* write out, read back in and verify the same */
         settings.writeLPr();
-        assertEquals(true, settings.readLPw(null, null, 0, false));
+        assertEquals(true, settings.readLPw(createFakeUsers()));
         verifyKeySetMetaData(settings);
     }
 
@@ -269,7 +280,7 @@
         // Write the package files and make sure they're parsed properly the first time
         writeOldFiles();
         Settings settings = new Settings(getContext().getFilesDir(), new Object());
-        assertEquals(true, settings.readLPw(null, null, 0, false));
+        assertEquals(true, settings.readLPw(createFakeUsers()));
         assertNotNull(settings.peekPackageLPr(PACKAGE_NAME_3));
         assertNotNull(settings.peekPackageLPr(PACKAGE_NAME_1));
 
@@ -289,12 +300,12 @@
         writeOldFiles();
         createUserManagerServiceRef();
         Settings settings = new Settings(getContext().getFilesDir(), new Object());
-        assertEquals(true, settings.readLPw(null, null, 0, false));
+        assertEquals(true, settings.readLPw(createFakeUsers()));
         settings.writeLPr();
 
         // Create Settings again to make it read from the new files
         settings = new Settings(getContext().getFilesDir(), new Object());
-        assertEquals(true, settings.readLPw(null, null, 0, false));
+        assertEquals(true, settings.readLPw(createFakeUsers()));
 
         PackageSetting ps = settings.peekPackageLPr(PACKAGE_NAME_2);
         assertEquals(COMPONENT_ENABLED_STATE_DISABLED_USER, ps.getEnabled(0));
@@ -305,7 +316,7 @@
         // Write the package files and make sure they're parsed properly the first time
         writeOldFiles();
         Settings settings = new Settings(getContext().getFilesDir(), new Object());
-        assertEquals(true, settings.readLPw(null, null, 0, false));
+        assertEquals(true, settings.readLPw(createFakeUsers()));
 
         // Enable/Disable a package
         PackageSetting ps = settings.peekPackageLPr(PACKAGE_NAME_1);