OSDN Git Service

Move grantDefaultPermissions back to onNewUserCreated
authorFyodor Kupolov <fkupolov@google.com>
Tue, 12 Jul 2016 21:46:19 +0000 (14:46 -0700)
committerFyodor Kupolov <fkupolov@google.com>
Tue, 12 Jul 2016 21:46:19 +0000 (14:46 -0700)
Otherwise pre-grants may not work on managed profiles because apps could be
uninstalled when the user is started

Bug: 29955102
Change-Id: I8fafaf1ca6193c1a13bd2f0b463ee30fe473e6b5

services/core/java/com/android/server/pm/PackageManagerService.java
services/core/java/com/android/server/pm/UserManagerService.java

index 0ce6ed0..745a9ee 100644 (file)
@@ -20448,12 +20448,7 @@ Slog.v(TAG, ":: stepped forward, applying functor at tag " + parser.getName());
         }
     }
 
-    void onBeforeUserStartUninitialized(final int userId) {
-        synchronized (mPackages) {
-            if (mSettings.areDefaultRuntimePermissionsGrantedLPr(userId)) {
-                return;
-            }
-        }
+    void onNewUserCreated(final int userId) {
         mDefaultPermissionPolicy.grantDefaultPermissions(userId);
         // If permission review for legacy apps is required, we represent
         // dagerous permissions for such apps as always granted runtime
index d750cbf..5c7e87f 100644 (file)
@@ -2304,6 +2304,7 @@ public class UserManagerService extends IUserManager.Stub {
             synchronized (mRestrictionsLock) {
                 mBaseUserRestrictions.append(userId, restrictions);
             }
+            mPm.onNewUserCreated(userId);
             Intent addedIntent = new Intent(Intent.ACTION_USER_ADDED);
             addedIntent.putExtra(Intent.EXTRA_USER_HANDLE, userId);
             mContext.sendBroadcastAsUser(addedIntent, UserHandle.ALL,
@@ -2874,10 +2875,6 @@ public class UserManagerService extends IUserManager.Stub {
             synchronized (mRestrictionsLock) {
                 applyUserRestrictionsLR(userId);
             }
-            UserInfo userInfo = getUserInfoNoChecks(userId);
-            if (userInfo != null && !userInfo.isInitialized()) {
-                mPm.onBeforeUserStartUninitialized(userId);
-            }
         }
 
         maybeInitializeDemoMode(userId);