Loading Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -279,6 +279,7 @@ java_defaults { "core/java/android/os/storage/IStorageShutdownObserver.aidl", "core/java/android/os/storage/IObbActionListener.aidl", "core/java/android/permission/IPermissionController.aidl", "core/java/android/permission/IPermissionManager.aidl", ":keystore_aidl", "core/java/android/security/keymaster/IKeyAttestationApplicationIdProvider.aidl", "core/java/android/service/appprediction/IPredictionService.aidl", Loading core/java/android/app/ActivityThread.java +15 −5 Original line number Diff line number Diff line Loading @@ -113,6 +113,7 @@ import android.os.SystemClock; import android.os.SystemProperties; import android.os.Trace; import android.os.UserHandle; import android.permission.IPermissionManager; import android.provider.BlockedNumberContract; import android.provider.CalendarContract; import android.provider.CallLog; Loading Loading @@ -287,6 +288,7 @@ public final class ActivityThread extends ClientTransactionHandler { @UnsupportedAppUsage static volatile IPackageManager sPackageManager; private static volatile IPermissionManager sPermissionManager; @UnsupportedAppUsage final ApplicationThread mAppThread = new ApplicationThread(); Loading Loading @@ -2136,16 +2138,23 @@ public final class ActivityThread extends ClientTransactionHandler { @UnsupportedAppUsage public static IPackageManager getPackageManager() { if (sPackageManager != null) { //Slog.v("PackageManager", "returning cur default = " + sPackageManager); return sPackageManager; } IBinder b = ServiceManager.getService("package"); //Slog.v("PackageManager", "default service binder = " + b); final IBinder b = ServiceManager.getService("package"); sPackageManager = IPackageManager.Stub.asInterface(b); //Slog.v("PackageManager", "default service = " + sPackageManager); return sPackageManager; } /** Returns the permission manager */ public static IPermissionManager getPermissionManager() { if (sPermissionManager != null) { return sPermissionManager; } final IBinder b = ServiceManager.getService("permissionmgr"); sPermissionManager = IPermissionManager.Stub.asInterface(b); return sPermissionManager; } private Configuration mMainThreadConfig = new Configuration(); Configuration applyConfigCompatMainThread(int displayDensity, Configuration config, Loading Loading @@ -6317,7 +6326,8 @@ public final class ActivityThread extends ClientTransactionHandler { final InstrumentationInfo ii; if (data.instrumentationName != null) { try { ii = new ApplicationPackageManager(null, getPackageManager()) ii = new ApplicationPackageManager( null, getPackageManager(), getPermissionManager()) .getInstrumentationInfo(data.instrumentationName, 0); } catch (PackageManager.NameNotFoundException e) { throw new RuntimeException( Loading core/java/android/app/AppGlobals.java +9 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package android.app; import android.annotation.UnsupportedAppUsage; import android.content.pm.IPackageManager; import android.permission.IPermissionManager; /** * Special private access for certain globals related to a process. Loading Loading @@ -51,6 +52,14 @@ public class AppGlobals { return ActivityThread.getPackageManager(); } /** * Return the raw interface to the permission manager. * @return The permission manager. */ public static IPermissionManager getPermissionManager() { return ActivityThread.getPermissionManager(); } /** * Gets the value of an integer core setting. * Loading core/java/android/app/ApplicationPackageManager.java +5 −2 Original line number Diff line number Diff line Loading @@ -82,6 +82,7 @@ import android.os.UserHandle; import android.os.UserManager; import android.os.storage.StorageManager; import android.os.storage.VolumeInfo; import android.permission.IPermissionManager; import android.provider.Settings; import android.system.ErrnoException; import android.system.Os; Loading Loading @@ -1655,10 +1656,11 @@ public class ApplicationPackageManager extends PackageManager { } @UnsupportedAppUsage protected ApplicationPackageManager(ContextImpl context, IPackageManager pm) { protected ApplicationPackageManager(ContextImpl context, IPackageManager pm, IPermissionManager permissionManager) { mContext = context; mPM = pm; mPermissionManager = permissionManager; } /** Loading Loading @@ -2930,6 +2932,7 @@ public class ApplicationPackageManager extends PackageManager { private final ContextImpl mContext; @UnsupportedAppUsage private final IPackageManager mPM; private final IPermissionManager mPermissionManager; /** Assume locked until we hear otherwise */ private volatile boolean mUserUnlocked = false; Loading core/java/android/app/ContextImpl.java +5 −3 Original line number Diff line number Diff line Loading @@ -68,6 +68,7 @@ import android.os.Trace; import android.os.UserHandle; import android.os.UserManager; import android.os.storage.StorageManager; import android.permission.IPermissionManager; import android.system.ErrnoException; import android.system.Os; import android.system.OsConstants; Loading Loading @@ -297,10 +298,11 @@ class ContextImpl extends Context { return mPackageManager; } IPackageManager pm = ActivityThread.getPackageManager(); if (pm != null) { final IPackageManager pm = ActivityThread.getPackageManager(); final IPermissionManager permissionManager = ActivityThread.getPermissionManager(); if (pm != null && permissionManager != null) { // Doesn't matter if we make more than one instance. return (mPackageManager = new ApplicationPackageManager(this, pm)); return (mPackageManager = new ApplicationPackageManager(this, pm, permissionManager)); } return null; Loading Loading
Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -279,6 +279,7 @@ java_defaults { "core/java/android/os/storage/IStorageShutdownObserver.aidl", "core/java/android/os/storage/IObbActionListener.aidl", "core/java/android/permission/IPermissionController.aidl", "core/java/android/permission/IPermissionManager.aidl", ":keystore_aidl", "core/java/android/security/keymaster/IKeyAttestationApplicationIdProvider.aidl", "core/java/android/service/appprediction/IPredictionService.aidl", Loading
core/java/android/app/ActivityThread.java +15 −5 Original line number Diff line number Diff line Loading @@ -113,6 +113,7 @@ import android.os.SystemClock; import android.os.SystemProperties; import android.os.Trace; import android.os.UserHandle; import android.permission.IPermissionManager; import android.provider.BlockedNumberContract; import android.provider.CalendarContract; import android.provider.CallLog; Loading Loading @@ -287,6 +288,7 @@ public final class ActivityThread extends ClientTransactionHandler { @UnsupportedAppUsage static volatile IPackageManager sPackageManager; private static volatile IPermissionManager sPermissionManager; @UnsupportedAppUsage final ApplicationThread mAppThread = new ApplicationThread(); Loading Loading @@ -2136,16 +2138,23 @@ public final class ActivityThread extends ClientTransactionHandler { @UnsupportedAppUsage public static IPackageManager getPackageManager() { if (sPackageManager != null) { //Slog.v("PackageManager", "returning cur default = " + sPackageManager); return sPackageManager; } IBinder b = ServiceManager.getService("package"); //Slog.v("PackageManager", "default service binder = " + b); final IBinder b = ServiceManager.getService("package"); sPackageManager = IPackageManager.Stub.asInterface(b); //Slog.v("PackageManager", "default service = " + sPackageManager); return sPackageManager; } /** Returns the permission manager */ public static IPermissionManager getPermissionManager() { if (sPermissionManager != null) { return sPermissionManager; } final IBinder b = ServiceManager.getService("permissionmgr"); sPermissionManager = IPermissionManager.Stub.asInterface(b); return sPermissionManager; } private Configuration mMainThreadConfig = new Configuration(); Configuration applyConfigCompatMainThread(int displayDensity, Configuration config, Loading Loading @@ -6317,7 +6326,8 @@ public final class ActivityThread extends ClientTransactionHandler { final InstrumentationInfo ii; if (data.instrumentationName != null) { try { ii = new ApplicationPackageManager(null, getPackageManager()) ii = new ApplicationPackageManager( null, getPackageManager(), getPermissionManager()) .getInstrumentationInfo(data.instrumentationName, 0); } catch (PackageManager.NameNotFoundException e) { throw new RuntimeException( Loading
core/java/android/app/AppGlobals.java +9 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package android.app; import android.annotation.UnsupportedAppUsage; import android.content.pm.IPackageManager; import android.permission.IPermissionManager; /** * Special private access for certain globals related to a process. Loading Loading @@ -51,6 +52,14 @@ public class AppGlobals { return ActivityThread.getPackageManager(); } /** * Return the raw interface to the permission manager. * @return The permission manager. */ public static IPermissionManager getPermissionManager() { return ActivityThread.getPermissionManager(); } /** * Gets the value of an integer core setting. * Loading
core/java/android/app/ApplicationPackageManager.java +5 −2 Original line number Diff line number Diff line Loading @@ -82,6 +82,7 @@ import android.os.UserHandle; import android.os.UserManager; import android.os.storage.StorageManager; import android.os.storage.VolumeInfo; import android.permission.IPermissionManager; import android.provider.Settings; import android.system.ErrnoException; import android.system.Os; Loading Loading @@ -1655,10 +1656,11 @@ public class ApplicationPackageManager extends PackageManager { } @UnsupportedAppUsage protected ApplicationPackageManager(ContextImpl context, IPackageManager pm) { protected ApplicationPackageManager(ContextImpl context, IPackageManager pm, IPermissionManager permissionManager) { mContext = context; mPM = pm; mPermissionManager = permissionManager; } /** Loading Loading @@ -2930,6 +2932,7 @@ public class ApplicationPackageManager extends PackageManager { private final ContextImpl mContext; @UnsupportedAppUsage private final IPackageManager mPM; private final IPermissionManager mPermissionManager; /** Assume locked until we hear otherwise */ private volatile boolean mUserUnlocked = false; Loading
core/java/android/app/ContextImpl.java +5 −3 Original line number Diff line number Diff line Loading @@ -68,6 +68,7 @@ import android.os.Trace; import android.os.UserHandle; import android.os.UserManager; import android.os.storage.StorageManager; import android.permission.IPermissionManager; import android.system.ErrnoException; import android.system.Os; import android.system.OsConstants; Loading Loading @@ -297,10 +298,11 @@ class ContextImpl extends Context { return mPackageManager; } IPackageManager pm = ActivityThread.getPackageManager(); if (pm != null) { final IPackageManager pm = ActivityThread.getPackageManager(); final IPermissionManager permissionManager = ActivityThread.getPermissionManager(); if (pm != null && permissionManager != null) { // Doesn't matter if we make more than one instance. return (mPackageManager = new ApplicationPackageManager(this, pm)); return (mPackageManager = new ApplicationPackageManager(this, pm, permissionManager)); } return null; Loading