Loading services/core/java/com/android/server/NetworkScoreService.java +3 −3 Original line number Diff line number Diff line Loading @@ -59,7 +59,7 @@ import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.content.PackageMonitor; import com.android.internal.util.DumpUtils; import com.android.server.pm.permission.PermissionManagerServiceInternal; import com.android.server.pm.permission.LegacyPermissionManagerInternal; import java.io.FileDescriptor; import java.io.PrintWriter; Loading Loading @@ -290,7 +290,7 @@ public class NetworkScoreService extends INetworkScoreService.Stub { String useOpenWifiPackage = Global.getString(mContext.getContentResolver(), Global.USE_OPEN_WIFI_PACKAGE); if (!TextUtils.isEmpty(useOpenWifiPackage)) { LocalServices.getService(PermissionManagerServiceInternal.class) LocalServices.getService(LegacyPermissionManagerInternal.class) .grantDefaultPermissionsToDefaultUseOpenWifiApp(useOpenWifiPackage, userId); } Loading @@ -302,7 +302,7 @@ public class NetworkScoreService extends INetworkScoreService.Stub { false /*notifyForDescendants*/, mUseOpenWifiPackageObserver); // Set a callback for the package manager to query the use open wifi app. LocalServices.getService(PermissionManagerServiceInternal.class) LocalServices.getService(LegacyPermissionManagerInternal.class) .setUseOpenWifiAppPackagesProvider((userId) -> { String useOpenWifiPackage = Global.getString(mContext.getContentResolver(), Global.USE_OPEN_WIFI_PACKAGE); Loading services/core/java/com/android/server/content/ContentService.java +3 −4 Original line number Diff line number Diff line Loading @@ -76,8 +76,7 @@ import com.android.internal.util.DumpUtils; import com.android.internal.util.IndentingPrintWriter; import com.android.server.LocalServices; import com.android.server.SystemService; import com.android.server.SystemService.TargetUser; import com.android.server.pm.permission.PermissionManagerServiceInternal; import com.android.server.pm.permission.LegacyPermissionManagerInternal; import java.io.FileDescriptor; import java.io.PrintWriter; Loading Loading @@ -296,8 +295,8 @@ public final class ContentService extends IContentService.Stub { // Let the package manager query for the sync adapters for a given authority // as we grant default permissions to sync adapters for specific authorities. final PermissionManagerServiceInternal permissionManagerInternal = LocalServices.getService(PermissionManagerServiceInternal.class); final LegacyPermissionManagerInternal permissionManagerInternal = LocalServices.getService(LegacyPermissionManagerInternal.class); permissionManagerInternal.setSyncAdapterPackagesProvider((authority, userId) -> { return getSyncAdapterPackagesForAuthorityAsUser(authority, userId); }); Loading services/core/java/com/android/server/location/LocationManagerService.java +3 −3 Original line number Diff line number Diff line Loading @@ -113,7 +113,7 @@ import com.android.server.location.provider.MockLocationProvider; import com.android.server.location.provider.PassiveLocationProvider; import com.android.server.location.provider.PassiveLocationProviderManager; import com.android.server.location.provider.proxy.ProxyLocationProvider; import com.android.server.pm.permission.PermissionManagerServiceInternal; import com.android.server.pm.permission.LegacyPermissionManagerInternal; import java.io.FileDescriptor; import java.io.PrintWriter; Loading Loading @@ -261,8 +261,8 @@ public class LocationManagerService extends ILocationManager.Stub { // Let the package manager query which are the default location // providers as they get certain permissions granted by default. PermissionManagerServiceInternal permissionManagerInternal = LocalServices.getService( PermissionManagerServiceInternal.class); LegacyPermissionManagerInternal permissionManagerInternal = LocalServices.getService( LegacyPermissionManagerInternal.class); permissionManagerInternal.setLocationPackagesProvider( userId -> mContext.getResources().getStringArray( com.android.internal.R.array.config_locationProviderPackageNames)); Loading services/core/java/com/android/server/pm/DefaultAppProvider.java +2 −12 Original line number Diff line number Diff line Loading @@ -27,7 +27,6 @@ import android.util.Slog; import com.android.internal.infra.AndroidFuture; import com.android.internal.util.CollectionUtils; import com.android.server.FgThread; import com.android.server.pm.permission.PermissionManagerServiceInternal; import java.util.concurrent.ExecutionException; import java.util.concurrent.Executor; Loading @@ -42,19 +41,14 @@ import java.util.function.Supplier; public class DefaultAppProvider { @NonNull private final Supplier<RoleManager> mRoleManagerSupplier; @NonNull private final PermissionManagerServiceInternal mPermissionManager; /** * Create a new instance of this class * * @param roleManagerSupplier the supplier for {@link RoleManager} * @param permissionManager the {@link PermissionManagerServiceInternal} */ public DefaultAppProvider(@NonNull Supplier<RoleManager> roleManagerSupplier, @NonNull PermissionManagerServiceInternal permissionManager) { public DefaultAppProvider(@NonNull Supplier<RoleManager> roleManagerSupplier) { mRoleManagerSupplier = roleManagerSupplier; mPermissionManager = permissionManager; } /** Loading @@ -73,11 +67,10 @@ public class DefaultAppProvider { * * @param packageName package name of the default browser, or {@code null} to unset * @param async whether the operation should be asynchronous * @param doGrant whether to grant default permissions * @param userId the user ID * @return whether the default browser was successfully set. */ public boolean setDefaultBrowser(@Nullable String packageName, boolean async, boolean doGrant, public boolean setDefaultBrowser(@Nullable String packageName, boolean async, @UserIdInt int userId) { if (userId == UserHandle.USER_ALL) { return false; Loading Loading @@ -114,9 +107,6 @@ public class DefaultAppProvider { return false; } } if (doGrant && packageName != null) { mPermissionManager.grantDefaultPermissionsToDefaultBrowser(packageName, userId); } } finally { Binder.restoreCallingIdentity(identity); } Loading services/core/java/com/android/server/pm/PackageManagerService.java +43 −14 Original line number Diff line number Diff line Loading @@ -380,6 +380,8 @@ import com.android.server.pm.parsing.pkg.AndroidPackage; import com.android.server.pm.parsing.pkg.AndroidPackageUtils; import com.android.server.pm.parsing.pkg.PackageImpl; import com.android.server.pm.parsing.pkg.ParsedPackage; import com.android.server.pm.permission.LegacyPermissionManagerInternal; import com.android.server.pm.permission.LegacyPermissionManagerService; import com.android.server.pm.permission.Permission; import com.android.server.pm.permission.PermissionManagerService; import com.android.server.pm.permission.PermissionManagerServiceInternal; Loading Loading @@ -961,6 +963,8 @@ public class PackageManagerService extends IPackageManager.Stub private final Singleton<PackageInstallerService> mPackageInstallerServiceProducer; private final ProducerWithArgument<InstantAppResolverConnection, ComponentName> mInstantAppResolverConnectionProducer; private final Singleton<LegacyPermissionManagerInternal> mLegacyPermissionManagerInternalProducer; private final SystemWrapper mSystemWrapper; private final ServiceProducer mGetLocalServiceProducer; private final ServiceProducer mGetSystemServiceProducer; Loading Loading @@ -993,6 +997,7 @@ public class PackageManagerService extends IPackageManager.Stub ProducerWithArgument<InstantAppResolverConnection, ComponentName> instantAppResolverConnectionProducer, Producer<ModuleInfoProvider> moduleInfoProviderProducer, Producer<LegacyPermissionManagerInternal> legacyPermissionManagerInternalProducer, SystemWrapper systemWrapper, ServiceProducer getLocalServiceProducer, ServiceProducer getSystemServiceProducer) { Loading Loading @@ -1026,6 +1031,8 @@ public class PackageManagerService extends IPackageManager.Stub mPackageInstallerServiceProducer = new Singleton<>(packageInstallerServiceProducer); mInstantAppResolverConnectionProducer = instantAppResolverConnectionProducer; mModuleInfoProviderProducer = new Singleton<>(moduleInfoProviderProducer); mLegacyPermissionManagerInternalProducer = new Singleton<>( legacyPermissionManagerInternalProducer); mSystemWrapper = systemWrapper; mGetLocalServiceProducer = getLocalServiceProducer; mGetSystemServiceProducer = getSystemServiceProducer; Loading Loading @@ -1174,6 +1181,10 @@ public class PackageManagerService extends IPackageManager.Stub public ModuleInfoProvider getModuleInfoProvider() { return mModuleInfoProviderProducer.get(this, mPackageManager); } public LegacyPermissionManagerInternal getLegacyPermissionManagerInternal() { return mLegacyPermissionManagerInternalProducer.get(this, mPackageManager); } } /** Provides an abstraction to static access to system state. */ Loading Loading @@ -1232,6 +1243,7 @@ public class PackageManagerService extends IPackageManager.Stub public boolean isPreNupgrade; public boolean isPreQupgrade; public boolean isUpgrade; public LegacyPermissionManagerInternal legacyPermissionManagerInternal; public DisplayMetrics Metrics; public ModuleInfoProvider moduleInfoProvider; public MoveCallbacks moveCallbacks; Loading Loading @@ -1375,6 +1387,8 @@ public class PackageManagerService extends IPackageManager.Stub private final DefaultAppProvider mDefaultAppProvider; private final LegacyPermissionManagerInternal mLegacyPermissionManager; private final PackageProperty mPackageProperty = new PackageProperty(); private static class IFVerificationParams { Loading Loading @@ -2838,8 +2852,8 @@ public class PackageManagerService extends IPackageManager.Stub (i, pm) -> new ViewCompiler(i.getInstallLock(), i.getInstaller()), (i, pm) -> (IncrementalManager) i.getContext().getSystemService(Context.INCREMENTAL_SERVICE), (i, pm) -> new DefaultAppProvider(() -> context.getSystemService(RoleManager.class), i.getPermissionManagerServiceInternal()), (i, pm) -> new DefaultAppProvider(() -> context.getSystemService( RoleManager.class)), (i, pm) -> new DisplayMetrics(), (i, pm) -> new PackageParser2(pm.mSeparateProcesses, pm.mOnlyCore, i.getDisplayMetrics(), pm.mCacheDir, Loading @@ -2856,6 +2870,7 @@ public class PackageManagerService extends IPackageManager.Stub (i, pm, cn) -> new InstantAppResolverConnection( i.getContext(), cn, Intent.ACTION_RESOLVE_INSTANT_APP_PACKAGE), (i, pm) -> new ModuleInfoProvider(i.getContext(), pm), (i, pm) -> LegacyPermissionManagerService.create(i.getContext()), new DefaultSystemWrapper(), LocalServices::getService, context::getSystemService); Loading Loading @@ -3032,6 +3047,7 @@ public class PackageManagerService extends IPackageManager.Stub mAvailableFeatures = testParams.availableFeatures; mDefParseFlags = testParams.defParseFlags; mDefaultAppProvider = testParams.defaultAppProvider; mLegacyPermissionManager = testParams.legacyPermissionManagerInternal; mDexManager = testParams.dexManager; mDirsToScanAsSystem = testParams.dirsToScanAsSystem; mFactoryTest = testParams.factoryTest; Loading Loading @@ -3136,6 +3152,7 @@ public class PackageManagerService extends IPackageManager.Stub mPermissionManagerService = injector.getPermissionManagerService(); mIncrementalManager = mInjector.getIncrementalManager(); mDefaultAppProvider = mInjector.getDefaultAppProvider(); mLegacyPermissionManager = mInjector.getLegacyPermissionManagerInternal(); PlatformCompat platformCompat = mInjector.getCompatibility(); mPackageParserCallback = new PackageParser2.Callback() { @Override Loading Loading @@ -20702,7 +20719,7 @@ public class PackageManagerService extends IPackageManager.Stub final String defaultBrowserPackageName = mDefaultAppProvider.getDefaultBrowser(userId); if (!TextUtils.isEmpty(defaultBrowserPackageName)) { if (packageName.equals(defaultBrowserPackageName)) { mDefaultAppProvider.setDefaultBrowser(null, true, true, userId); mDefaultAppProvider.setDefaultBrowser(null, true, userId); } } } Loading @@ -20717,7 +20734,7 @@ public class PackageManagerService extends IPackageManager.Stub // If this browser is restored from user's backup, do not clear // default-browser state for this user if (installReason != PackageManager.INSTALL_REASON_DEVICE_RESTORE) { mDefaultAppProvider.setDefaultBrowser(null, true, true, userId); mDefaultAppProvider.setDefaultBrowser(null, true, userId); } } Loading Loading @@ -20755,7 +20772,7 @@ public class PackageManagerService extends IPackageManager.Stub // significant refactoring to keep all default apps in the package // manager (cleaner but more work) or have the services provide // callbacks to the package manager to request a default app reset. mDefaultAppProvider.setDefaultBrowser(null, true, true, userId); mDefaultAppProvider.setDefaultBrowser(null, true, userId); resetNetworkPolicies(userId); synchronized (mLock) { scheduleWritePackageRestrictionsLocked(userId); Loading Loading @@ -20989,8 +21006,7 @@ public class PackageManagerService extends IPackageManager.Stub defaultBrowser = mSettings.removeDefaultBrowserPackageNameLPw(userId1); } if (defaultBrowser != null) { mDefaultAppProvider.setDefaultBrowser(defaultBrowser, false, false, userId1); mDefaultAppProvider.setDefaultBrowser(defaultBrowser, false, userId1); } }); } catch (Exception e) { Loading Loading @@ -22250,6 +22266,24 @@ public class PackageManagerService extends IPackageManager.Stub mPermissionManager.systemReady(); int[] grantPermissionsUserIds = EMPTY_INT_ARRAY; for (int userId : UserManagerService.getInstance().getUserIds()) { if (mPmInternal.isPermissionUpgradeNeeded(userId)) { grantPermissionsUserIds = ArrayUtils.appendInt( grantPermissionsUserIds, userId); } } // If we upgraded grant all default permissions before kicking off. for (int userId : grantPermissionsUserIds) { mLegacyPermissionManager.grantDefaultPermissions(userId); } if (grantPermissionsUserIds == EMPTY_INT_ARRAY) { // If we did not grant default permissions, we preload from this the // default permission exceptions lazily to ensure we don't hit the // disk on a new user creation. mLegacyPermissionManager.scheduleReadDefaultPermissionExceptions(); } if (mInstantAppResolverConnection != null) { mContext.registerReceiver(new BroadcastReceiver() { @Override Loading Loading @@ -24331,14 +24365,9 @@ public class PackageManagerService extends IPackageManager.Stub Slog.d(TAG, "onNewUserCreated(id=" + userId + ", convertedFromPreCreated=" + convertedFromPreCreated + ")"); } if (!convertedFromPreCreated) { mPermissionManager.onUserCreated(userId); return; } if (!readPermissionStateForUser(userId)) { // Could not read the existing permissions, re-grant them. Slog.i(TAG, "re-granting permissions for pre-created user " + userId); if (!convertedFromPreCreated || !readPermissionStateForUser(userId)) { mPermissionManager.onUserCreated(userId); mLegacyPermissionManager.grantDefaultPermissions(userId); } } Loading
services/core/java/com/android/server/NetworkScoreService.java +3 −3 Original line number Diff line number Diff line Loading @@ -59,7 +59,7 @@ import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.content.PackageMonitor; import com.android.internal.util.DumpUtils; import com.android.server.pm.permission.PermissionManagerServiceInternal; import com.android.server.pm.permission.LegacyPermissionManagerInternal; import java.io.FileDescriptor; import java.io.PrintWriter; Loading Loading @@ -290,7 +290,7 @@ public class NetworkScoreService extends INetworkScoreService.Stub { String useOpenWifiPackage = Global.getString(mContext.getContentResolver(), Global.USE_OPEN_WIFI_PACKAGE); if (!TextUtils.isEmpty(useOpenWifiPackage)) { LocalServices.getService(PermissionManagerServiceInternal.class) LocalServices.getService(LegacyPermissionManagerInternal.class) .grantDefaultPermissionsToDefaultUseOpenWifiApp(useOpenWifiPackage, userId); } Loading @@ -302,7 +302,7 @@ public class NetworkScoreService extends INetworkScoreService.Stub { false /*notifyForDescendants*/, mUseOpenWifiPackageObserver); // Set a callback for the package manager to query the use open wifi app. LocalServices.getService(PermissionManagerServiceInternal.class) LocalServices.getService(LegacyPermissionManagerInternal.class) .setUseOpenWifiAppPackagesProvider((userId) -> { String useOpenWifiPackage = Global.getString(mContext.getContentResolver(), Global.USE_OPEN_WIFI_PACKAGE); Loading
services/core/java/com/android/server/content/ContentService.java +3 −4 Original line number Diff line number Diff line Loading @@ -76,8 +76,7 @@ import com.android.internal.util.DumpUtils; import com.android.internal.util.IndentingPrintWriter; import com.android.server.LocalServices; import com.android.server.SystemService; import com.android.server.SystemService.TargetUser; import com.android.server.pm.permission.PermissionManagerServiceInternal; import com.android.server.pm.permission.LegacyPermissionManagerInternal; import java.io.FileDescriptor; import java.io.PrintWriter; Loading Loading @@ -296,8 +295,8 @@ public final class ContentService extends IContentService.Stub { // Let the package manager query for the sync adapters for a given authority // as we grant default permissions to sync adapters for specific authorities. final PermissionManagerServiceInternal permissionManagerInternal = LocalServices.getService(PermissionManagerServiceInternal.class); final LegacyPermissionManagerInternal permissionManagerInternal = LocalServices.getService(LegacyPermissionManagerInternal.class); permissionManagerInternal.setSyncAdapterPackagesProvider((authority, userId) -> { return getSyncAdapterPackagesForAuthorityAsUser(authority, userId); }); Loading
services/core/java/com/android/server/location/LocationManagerService.java +3 −3 Original line number Diff line number Diff line Loading @@ -113,7 +113,7 @@ import com.android.server.location.provider.MockLocationProvider; import com.android.server.location.provider.PassiveLocationProvider; import com.android.server.location.provider.PassiveLocationProviderManager; import com.android.server.location.provider.proxy.ProxyLocationProvider; import com.android.server.pm.permission.PermissionManagerServiceInternal; import com.android.server.pm.permission.LegacyPermissionManagerInternal; import java.io.FileDescriptor; import java.io.PrintWriter; Loading Loading @@ -261,8 +261,8 @@ public class LocationManagerService extends ILocationManager.Stub { // Let the package manager query which are the default location // providers as they get certain permissions granted by default. PermissionManagerServiceInternal permissionManagerInternal = LocalServices.getService( PermissionManagerServiceInternal.class); LegacyPermissionManagerInternal permissionManagerInternal = LocalServices.getService( LegacyPermissionManagerInternal.class); permissionManagerInternal.setLocationPackagesProvider( userId -> mContext.getResources().getStringArray( com.android.internal.R.array.config_locationProviderPackageNames)); Loading
services/core/java/com/android/server/pm/DefaultAppProvider.java +2 −12 Original line number Diff line number Diff line Loading @@ -27,7 +27,6 @@ import android.util.Slog; import com.android.internal.infra.AndroidFuture; import com.android.internal.util.CollectionUtils; import com.android.server.FgThread; import com.android.server.pm.permission.PermissionManagerServiceInternal; import java.util.concurrent.ExecutionException; import java.util.concurrent.Executor; Loading @@ -42,19 +41,14 @@ import java.util.function.Supplier; public class DefaultAppProvider { @NonNull private final Supplier<RoleManager> mRoleManagerSupplier; @NonNull private final PermissionManagerServiceInternal mPermissionManager; /** * Create a new instance of this class * * @param roleManagerSupplier the supplier for {@link RoleManager} * @param permissionManager the {@link PermissionManagerServiceInternal} */ public DefaultAppProvider(@NonNull Supplier<RoleManager> roleManagerSupplier, @NonNull PermissionManagerServiceInternal permissionManager) { public DefaultAppProvider(@NonNull Supplier<RoleManager> roleManagerSupplier) { mRoleManagerSupplier = roleManagerSupplier; mPermissionManager = permissionManager; } /** Loading @@ -73,11 +67,10 @@ public class DefaultAppProvider { * * @param packageName package name of the default browser, or {@code null} to unset * @param async whether the operation should be asynchronous * @param doGrant whether to grant default permissions * @param userId the user ID * @return whether the default browser was successfully set. */ public boolean setDefaultBrowser(@Nullable String packageName, boolean async, boolean doGrant, public boolean setDefaultBrowser(@Nullable String packageName, boolean async, @UserIdInt int userId) { if (userId == UserHandle.USER_ALL) { return false; Loading Loading @@ -114,9 +107,6 @@ public class DefaultAppProvider { return false; } } if (doGrant && packageName != null) { mPermissionManager.grantDefaultPermissionsToDefaultBrowser(packageName, userId); } } finally { Binder.restoreCallingIdentity(identity); } Loading
services/core/java/com/android/server/pm/PackageManagerService.java +43 −14 Original line number Diff line number Diff line Loading @@ -380,6 +380,8 @@ import com.android.server.pm.parsing.pkg.AndroidPackage; import com.android.server.pm.parsing.pkg.AndroidPackageUtils; import com.android.server.pm.parsing.pkg.PackageImpl; import com.android.server.pm.parsing.pkg.ParsedPackage; import com.android.server.pm.permission.LegacyPermissionManagerInternal; import com.android.server.pm.permission.LegacyPermissionManagerService; import com.android.server.pm.permission.Permission; import com.android.server.pm.permission.PermissionManagerService; import com.android.server.pm.permission.PermissionManagerServiceInternal; Loading Loading @@ -961,6 +963,8 @@ public class PackageManagerService extends IPackageManager.Stub private final Singleton<PackageInstallerService> mPackageInstallerServiceProducer; private final ProducerWithArgument<InstantAppResolverConnection, ComponentName> mInstantAppResolverConnectionProducer; private final Singleton<LegacyPermissionManagerInternal> mLegacyPermissionManagerInternalProducer; private final SystemWrapper mSystemWrapper; private final ServiceProducer mGetLocalServiceProducer; private final ServiceProducer mGetSystemServiceProducer; Loading Loading @@ -993,6 +997,7 @@ public class PackageManagerService extends IPackageManager.Stub ProducerWithArgument<InstantAppResolverConnection, ComponentName> instantAppResolverConnectionProducer, Producer<ModuleInfoProvider> moduleInfoProviderProducer, Producer<LegacyPermissionManagerInternal> legacyPermissionManagerInternalProducer, SystemWrapper systemWrapper, ServiceProducer getLocalServiceProducer, ServiceProducer getSystemServiceProducer) { Loading Loading @@ -1026,6 +1031,8 @@ public class PackageManagerService extends IPackageManager.Stub mPackageInstallerServiceProducer = new Singleton<>(packageInstallerServiceProducer); mInstantAppResolverConnectionProducer = instantAppResolverConnectionProducer; mModuleInfoProviderProducer = new Singleton<>(moduleInfoProviderProducer); mLegacyPermissionManagerInternalProducer = new Singleton<>( legacyPermissionManagerInternalProducer); mSystemWrapper = systemWrapper; mGetLocalServiceProducer = getLocalServiceProducer; mGetSystemServiceProducer = getSystemServiceProducer; Loading Loading @@ -1174,6 +1181,10 @@ public class PackageManagerService extends IPackageManager.Stub public ModuleInfoProvider getModuleInfoProvider() { return mModuleInfoProviderProducer.get(this, mPackageManager); } public LegacyPermissionManagerInternal getLegacyPermissionManagerInternal() { return mLegacyPermissionManagerInternalProducer.get(this, mPackageManager); } } /** Provides an abstraction to static access to system state. */ Loading Loading @@ -1232,6 +1243,7 @@ public class PackageManagerService extends IPackageManager.Stub public boolean isPreNupgrade; public boolean isPreQupgrade; public boolean isUpgrade; public LegacyPermissionManagerInternal legacyPermissionManagerInternal; public DisplayMetrics Metrics; public ModuleInfoProvider moduleInfoProvider; public MoveCallbacks moveCallbacks; Loading Loading @@ -1375,6 +1387,8 @@ public class PackageManagerService extends IPackageManager.Stub private final DefaultAppProvider mDefaultAppProvider; private final LegacyPermissionManagerInternal mLegacyPermissionManager; private final PackageProperty mPackageProperty = new PackageProperty(); private static class IFVerificationParams { Loading Loading @@ -2838,8 +2852,8 @@ public class PackageManagerService extends IPackageManager.Stub (i, pm) -> new ViewCompiler(i.getInstallLock(), i.getInstaller()), (i, pm) -> (IncrementalManager) i.getContext().getSystemService(Context.INCREMENTAL_SERVICE), (i, pm) -> new DefaultAppProvider(() -> context.getSystemService(RoleManager.class), i.getPermissionManagerServiceInternal()), (i, pm) -> new DefaultAppProvider(() -> context.getSystemService( RoleManager.class)), (i, pm) -> new DisplayMetrics(), (i, pm) -> new PackageParser2(pm.mSeparateProcesses, pm.mOnlyCore, i.getDisplayMetrics(), pm.mCacheDir, Loading @@ -2856,6 +2870,7 @@ public class PackageManagerService extends IPackageManager.Stub (i, pm, cn) -> new InstantAppResolverConnection( i.getContext(), cn, Intent.ACTION_RESOLVE_INSTANT_APP_PACKAGE), (i, pm) -> new ModuleInfoProvider(i.getContext(), pm), (i, pm) -> LegacyPermissionManagerService.create(i.getContext()), new DefaultSystemWrapper(), LocalServices::getService, context::getSystemService); Loading Loading @@ -3032,6 +3047,7 @@ public class PackageManagerService extends IPackageManager.Stub mAvailableFeatures = testParams.availableFeatures; mDefParseFlags = testParams.defParseFlags; mDefaultAppProvider = testParams.defaultAppProvider; mLegacyPermissionManager = testParams.legacyPermissionManagerInternal; mDexManager = testParams.dexManager; mDirsToScanAsSystem = testParams.dirsToScanAsSystem; mFactoryTest = testParams.factoryTest; Loading Loading @@ -3136,6 +3152,7 @@ public class PackageManagerService extends IPackageManager.Stub mPermissionManagerService = injector.getPermissionManagerService(); mIncrementalManager = mInjector.getIncrementalManager(); mDefaultAppProvider = mInjector.getDefaultAppProvider(); mLegacyPermissionManager = mInjector.getLegacyPermissionManagerInternal(); PlatformCompat platformCompat = mInjector.getCompatibility(); mPackageParserCallback = new PackageParser2.Callback() { @Override Loading Loading @@ -20702,7 +20719,7 @@ public class PackageManagerService extends IPackageManager.Stub final String defaultBrowserPackageName = mDefaultAppProvider.getDefaultBrowser(userId); if (!TextUtils.isEmpty(defaultBrowserPackageName)) { if (packageName.equals(defaultBrowserPackageName)) { mDefaultAppProvider.setDefaultBrowser(null, true, true, userId); mDefaultAppProvider.setDefaultBrowser(null, true, userId); } } } Loading @@ -20717,7 +20734,7 @@ public class PackageManagerService extends IPackageManager.Stub // If this browser is restored from user's backup, do not clear // default-browser state for this user if (installReason != PackageManager.INSTALL_REASON_DEVICE_RESTORE) { mDefaultAppProvider.setDefaultBrowser(null, true, true, userId); mDefaultAppProvider.setDefaultBrowser(null, true, userId); } } Loading Loading @@ -20755,7 +20772,7 @@ public class PackageManagerService extends IPackageManager.Stub // significant refactoring to keep all default apps in the package // manager (cleaner but more work) or have the services provide // callbacks to the package manager to request a default app reset. mDefaultAppProvider.setDefaultBrowser(null, true, true, userId); mDefaultAppProvider.setDefaultBrowser(null, true, userId); resetNetworkPolicies(userId); synchronized (mLock) { scheduleWritePackageRestrictionsLocked(userId); Loading Loading @@ -20989,8 +21006,7 @@ public class PackageManagerService extends IPackageManager.Stub defaultBrowser = mSettings.removeDefaultBrowserPackageNameLPw(userId1); } if (defaultBrowser != null) { mDefaultAppProvider.setDefaultBrowser(defaultBrowser, false, false, userId1); mDefaultAppProvider.setDefaultBrowser(defaultBrowser, false, userId1); } }); } catch (Exception e) { Loading Loading @@ -22250,6 +22266,24 @@ public class PackageManagerService extends IPackageManager.Stub mPermissionManager.systemReady(); int[] grantPermissionsUserIds = EMPTY_INT_ARRAY; for (int userId : UserManagerService.getInstance().getUserIds()) { if (mPmInternal.isPermissionUpgradeNeeded(userId)) { grantPermissionsUserIds = ArrayUtils.appendInt( grantPermissionsUserIds, userId); } } // If we upgraded grant all default permissions before kicking off. for (int userId : grantPermissionsUserIds) { mLegacyPermissionManager.grantDefaultPermissions(userId); } if (grantPermissionsUserIds == EMPTY_INT_ARRAY) { // If we did not grant default permissions, we preload from this the // default permission exceptions lazily to ensure we don't hit the // disk on a new user creation. mLegacyPermissionManager.scheduleReadDefaultPermissionExceptions(); } if (mInstantAppResolverConnection != null) { mContext.registerReceiver(new BroadcastReceiver() { @Override Loading Loading @@ -24331,14 +24365,9 @@ public class PackageManagerService extends IPackageManager.Stub Slog.d(TAG, "onNewUserCreated(id=" + userId + ", convertedFromPreCreated=" + convertedFromPreCreated + ")"); } if (!convertedFromPreCreated) { mPermissionManager.onUserCreated(userId); return; } if (!readPermissionStateForUser(userId)) { // Could not read the existing permissions, re-grant them. Slog.i(TAG, "re-granting permissions for pre-created user " + userId); if (!convertedFromPreCreated || !readPermissionStateForUser(userId)) { mPermissionManager.onUserCreated(userId); mLegacyPermissionManager.grantDefaultPermissions(userId); } }