diff options
author | Christopher Tate <ctate@google.com> | 2015-09-02 12:54:41 -0700 |
---|---|---|
committer | Christopher Tate <ctate@google.com> | 2015-09-02 13:01:52 -0700 |
commit | 60aae166e99dff0dba379e14c0fc43e89fd1a018 (patch) | |
tree | 7c88f5db3c053824046ba152a902d7c53c51b660 /services | |
parent | ee72f99dd14c8e531cd1a114d162a49636e7b809 (diff) | |
download | frameworks_base-60aae166e99dff0dba379e14c0fc43e89fd1a018.zip frameworks_base-60aae166e99dff0dba379e14c0fc43e89fd1a018.tar.gz frameworks_base-60aae166e99dff0dba379e14c0fc43e89fd1a018.tar.bz2 |
Apply default link-handling policy at OTA from pre-M
Not just at first (wiped) boot.
Bug 23744303
Change-Id: I9ab42f7b081e92231d89b3c97935135c3dd901d4
Diffstat (limited to 'services')
-rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerService.java | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index c650b6d..136f6a4 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -2283,16 +2283,16 @@ public class PackageManagerService extends IPackageManager.Stub { } updatePermissionsLPw(null, null, updateFlags); ver.sdkVersion = mSdkVersion; - // clear only after permissions have been updated - mExistingSystemPackages.clear(); - mPromoteSystemApps = false; - // If this is the first boot, and it is a normal boot, then - // we need to initialize the default preferred apps. - if (!mRestoredSettings && !onlyCore) { - mSettings.applyDefaultPreferredAppsLPw(this, UserHandle.USER_OWNER); - applyFactoryDefaultBrowserLPw(UserHandle.USER_OWNER); - primeDomainVerificationsLPw(UserHandle.USER_OWNER); + // If this is the first boot or an update from pre-M, and it is a normal + // boot, then we need to initialize the default preferred apps across + // all defined users. + if (!onlyCore && (mPromoteSystemApps || !mRestoredSettings)) { + for (UserInfo user : sUserManager.getUsers(true)) { + mSettings.applyDefaultPreferredAppsLPw(this, user.id); + applyFactoryDefaultBrowserLPw(user.id); + primeDomainVerificationsLPw(user.id); + } } // If this is first boot after an OTA, and a normal boot, then @@ -2310,6 +2310,10 @@ public class PackageManagerService extends IPackageManager.Stub { checkDefaultBrowser(); + // clear only after permissions and other defaults have been updated + mExistingSystemPackages.clear(); + mPromoteSystemApps = false; + // All the changes are done during package scanning. ver.databaseVersion = Settings.CURRENT_DATABASE_VERSION; |