Loading core/api/module-lib-current.txt +1 −0 Original line number Original line Diff line number Diff line Loading @@ -102,6 +102,7 @@ package android.content.pm { public abstract class PackageManager { public abstract class PackageManager { method @NonNull public String getPermissionControllerPackageName(); method @NonNull public String getPermissionControllerPackageName(); method @NonNull public String getSdkSandboxPackageName(); method @NonNull public String getSdkSandboxPackageName(); method @RequiresPermission("android.permission.MAKE_UID_VISIBLE") public void makeUidVisible(int, int); field public static final String EXTRA_VERIFICATION_ROOT_HASH = "android.content.pm.extra.VERIFICATION_ROOT_HASH"; field public static final String EXTRA_VERIFICATION_ROOT_HASH = "android.content.pm.extra.VERIFICATION_ROOT_HASH"; field public static final int MATCH_STATIC_SHARED_AND_SDK_LIBRARIES = 67108864; // 0x4000000 field public static final int MATCH_STATIC_SHARED_AND_SDK_LIBRARIES = 67108864; // 0x4000000 } } Loading core/api/test-current.txt +2 −0 Original line number Original line Diff line number Diff line Loading @@ -19,6 +19,7 @@ package android { field public static final String FORCE_STOP_PACKAGES = "android.permission.FORCE_STOP_PACKAGES"; field public static final String FORCE_STOP_PACKAGES = "android.permission.FORCE_STOP_PACKAGES"; field public static final String INSTALL_TEST_ONLY_PACKAGE = "android.permission.INSTALL_TEST_ONLY_PACKAGE"; field public static final String INSTALL_TEST_ONLY_PACKAGE = "android.permission.INSTALL_TEST_ONLY_PACKAGE"; field public static final String KEEP_UNINSTALLED_PACKAGES = "android.permission.KEEP_UNINSTALLED_PACKAGES"; field public static final String KEEP_UNINSTALLED_PACKAGES = "android.permission.KEEP_UNINSTALLED_PACKAGES"; field public static final String MAKE_UID_VISIBLE = "android.permission.MAKE_UID_VISIBLE"; field @Deprecated public static final String MANAGE_ACTIVITY_STACKS = "android.permission.MANAGE_ACTIVITY_STACKS"; field @Deprecated public static final String MANAGE_ACTIVITY_STACKS = "android.permission.MANAGE_ACTIVITY_STACKS"; field public static final String MANAGE_ACTIVITY_TASKS = "android.permission.MANAGE_ACTIVITY_TASKS"; field public static final String MANAGE_ACTIVITY_TASKS = "android.permission.MANAGE_ACTIVITY_TASKS"; field public static final String MANAGE_CRATES = "android.permission.MANAGE_CRATES"; field public static final String MANAGE_CRATES = "android.permission.MANAGE_CRATES"; Loading Loading @@ -836,6 +837,7 @@ package android.content.pm { method @Nullable public String getSystemTextClassifierPackageName(); method @Nullable public String getSystemTextClassifierPackageName(); method @Nullable public String getWellbeingPackageName(); method @Nullable public String getWellbeingPackageName(); method public void holdLock(android.os.IBinder, int); method public void holdLock(android.os.IBinder, int); method @RequiresPermission(android.Manifest.permission.MAKE_UID_VISIBLE) public void makeUidVisible(int, int); method @RequiresPermission(android.Manifest.permission.KEEP_UNINSTALLED_PACKAGES) public void setKeepUninstalledPackages(@NonNull java.util.List<java.lang.String>); method @RequiresPermission(android.Manifest.permission.KEEP_UNINSTALLED_PACKAGES) public void setKeepUninstalledPackages(@NonNull java.util.List<java.lang.String>); field public static final String FEATURE_ADOPTABLE_STORAGE = "android.software.adoptable_storage"; field public static final String FEATURE_ADOPTABLE_STORAGE = "android.software.adoptable_storage"; field public static final String FEATURE_COMMUNAL_MODE = "android.software.communal_mode"; field public static final String FEATURE_COMMUNAL_MODE = "android.software.communal_mode"; Loading core/java/android/app/ApplicationPackageManager.java +9 −0 Original line number Original line Diff line number Diff line Loading @@ -3832,4 +3832,13 @@ public class ApplicationPackageManager extends PackageManager { throw re.rethrowAsRuntimeException(); throw re.rethrowAsRuntimeException(); } } } } @Override public void makeUidVisible(int recipientUid, int visibleUid) { try { mPM.makeUidVisible(recipientUid, visibleUid); } catch (RemoteException e) { throw e.rethrowAsRuntimeException(); } } } } core/java/android/content/pm/IPackageManager.aidl +5 −1 Original line number Original line Diff line number Diff line Loading @@ -781,7 +781,11 @@ interface IPackageManager { boolean isAutoRevokeWhitelisted(String packageName); boolean isAutoRevokeWhitelisted(String packageName); void grantImplicitAccess(int queryingUid, String visibleAuthority); void makeProviderVisible(int recipientAppId, String visibleAuthority); @JavaPassthrough(annotation = "@android.annotation.RequiresPermission(android.Manifest" + ".permission.MAKE_UID_VISIBLE)") void makeUidVisible(int recipientAppId, int visibleUid); IBinder getHoldLockToken(); IBinder getHoldLockToken(); Loading core/java/android/content/pm/PackageManager.java +22 −3 Original line number Original line Diff line number Diff line Loading @@ -10281,19 +10281,38 @@ public abstract class PackageManager { } } /** /** * Grants implicit visibility of the package that provides an authority to a querying UID. * Makes a package that provides an authority {@code visibleAuthority} become visible to the * application {@code recipientUid}. * * * @throws SecurityException when called by a package other than the contacts provider * @throws SecurityException when called by a package other than the contacts provider * @hide * @hide */ */ public void grantImplicitAccess(int queryingUid, String visibleAuthority) { public void makeProviderVisible(int recipientUid, String visibleAuthority) { try { try { ActivityThread.getPackageManager().grantImplicitAccess(queryingUid, visibleAuthority); ActivityThread.getPackageManager().makeProviderVisible(recipientUid, visibleAuthority); } catch (RemoteException e) { } catch (RemoteException e) { throw e.rethrowFromSystemServer(); throw e.rethrowFromSystemServer(); } } } } /** * Makes the package associated with the uid {@code visibleUid} become visible to the * recipient uid application. * * @param recipientUid The uid of the application that is being given access to {@code * visibleUid} * @param visibleUid The uid of the application that is becoming accessible to {@code * recipientAppId} * @hide */ @RequiresPermission(android.Manifest.permission.MAKE_UID_VISIBLE) @TestApi @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) public void makeUidVisible(int recipientUid, int visibleUid) { throw new UnsupportedOperationException( "makeUidVisible not implemented in subclass"); } // Some of the flags don't affect the query result, but let's be conservative and cache // Some of the flags don't affect the query result, but let's be conservative and cache // each combination of flags separately. // each combination of flags separately. Loading Loading
core/api/module-lib-current.txt +1 −0 Original line number Original line Diff line number Diff line Loading @@ -102,6 +102,7 @@ package android.content.pm { public abstract class PackageManager { public abstract class PackageManager { method @NonNull public String getPermissionControllerPackageName(); method @NonNull public String getPermissionControllerPackageName(); method @NonNull public String getSdkSandboxPackageName(); method @NonNull public String getSdkSandboxPackageName(); method @RequiresPermission("android.permission.MAKE_UID_VISIBLE") public void makeUidVisible(int, int); field public static final String EXTRA_VERIFICATION_ROOT_HASH = "android.content.pm.extra.VERIFICATION_ROOT_HASH"; field public static final String EXTRA_VERIFICATION_ROOT_HASH = "android.content.pm.extra.VERIFICATION_ROOT_HASH"; field public static final int MATCH_STATIC_SHARED_AND_SDK_LIBRARIES = 67108864; // 0x4000000 field public static final int MATCH_STATIC_SHARED_AND_SDK_LIBRARIES = 67108864; // 0x4000000 } } Loading
core/api/test-current.txt +2 −0 Original line number Original line Diff line number Diff line Loading @@ -19,6 +19,7 @@ package android { field public static final String FORCE_STOP_PACKAGES = "android.permission.FORCE_STOP_PACKAGES"; field public static final String FORCE_STOP_PACKAGES = "android.permission.FORCE_STOP_PACKAGES"; field public static final String INSTALL_TEST_ONLY_PACKAGE = "android.permission.INSTALL_TEST_ONLY_PACKAGE"; field public static final String INSTALL_TEST_ONLY_PACKAGE = "android.permission.INSTALL_TEST_ONLY_PACKAGE"; field public static final String KEEP_UNINSTALLED_PACKAGES = "android.permission.KEEP_UNINSTALLED_PACKAGES"; field public static final String KEEP_UNINSTALLED_PACKAGES = "android.permission.KEEP_UNINSTALLED_PACKAGES"; field public static final String MAKE_UID_VISIBLE = "android.permission.MAKE_UID_VISIBLE"; field @Deprecated public static final String MANAGE_ACTIVITY_STACKS = "android.permission.MANAGE_ACTIVITY_STACKS"; field @Deprecated public static final String MANAGE_ACTIVITY_STACKS = "android.permission.MANAGE_ACTIVITY_STACKS"; field public static final String MANAGE_ACTIVITY_TASKS = "android.permission.MANAGE_ACTIVITY_TASKS"; field public static final String MANAGE_ACTIVITY_TASKS = "android.permission.MANAGE_ACTIVITY_TASKS"; field public static final String MANAGE_CRATES = "android.permission.MANAGE_CRATES"; field public static final String MANAGE_CRATES = "android.permission.MANAGE_CRATES"; Loading Loading @@ -836,6 +837,7 @@ package android.content.pm { method @Nullable public String getSystemTextClassifierPackageName(); method @Nullable public String getSystemTextClassifierPackageName(); method @Nullable public String getWellbeingPackageName(); method @Nullable public String getWellbeingPackageName(); method public void holdLock(android.os.IBinder, int); method public void holdLock(android.os.IBinder, int); method @RequiresPermission(android.Manifest.permission.MAKE_UID_VISIBLE) public void makeUidVisible(int, int); method @RequiresPermission(android.Manifest.permission.KEEP_UNINSTALLED_PACKAGES) public void setKeepUninstalledPackages(@NonNull java.util.List<java.lang.String>); method @RequiresPermission(android.Manifest.permission.KEEP_UNINSTALLED_PACKAGES) public void setKeepUninstalledPackages(@NonNull java.util.List<java.lang.String>); field public static final String FEATURE_ADOPTABLE_STORAGE = "android.software.adoptable_storage"; field public static final String FEATURE_ADOPTABLE_STORAGE = "android.software.adoptable_storage"; field public static final String FEATURE_COMMUNAL_MODE = "android.software.communal_mode"; field public static final String FEATURE_COMMUNAL_MODE = "android.software.communal_mode"; Loading
core/java/android/app/ApplicationPackageManager.java +9 −0 Original line number Original line Diff line number Diff line Loading @@ -3832,4 +3832,13 @@ public class ApplicationPackageManager extends PackageManager { throw re.rethrowAsRuntimeException(); throw re.rethrowAsRuntimeException(); } } } } @Override public void makeUidVisible(int recipientUid, int visibleUid) { try { mPM.makeUidVisible(recipientUid, visibleUid); } catch (RemoteException e) { throw e.rethrowAsRuntimeException(); } } } }
core/java/android/content/pm/IPackageManager.aidl +5 −1 Original line number Original line Diff line number Diff line Loading @@ -781,7 +781,11 @@ interface IPackageManager { boolean isAutoRevokeWhitelisted(String packageName); boolean isAutoRevokeWhitelisted(String packageName); void grantImplicitAccess(int queryingUid, String visibleAuthority); void makeProviderVisible(int recipientAppId, String visibleAuthority); @JavaPassthrough(annotation = "@android.annotation.RequiresPermission(android.Manifest" + ".permission.MAKE_UID_VISIBLE)") void makeUidVisible(int recipientAppId, int visibleUid); IBinder getHoldLockToken(); IBinder getHoldLockToken(); Loading
core/java/android/content/pm/PackageManager.java +22 −3 Original line number Original line Diff line number Diff line Loading @@ -10281,19 +10281,38 @@ public abstract class PackageManager { } } /** /** * Grants implicit visibility of the package that provides an authority to a querying UID. * Makes a package that provides an authority {@code visibleAuthority} become visible to the * application {@code recipientUid}. * * * @throws SecurityException when called by a package other than the contacts provider * @throws SecurityException when called by a package other than the contacts provider * @hide * @hide */ */ public void grantImplicitAccess(int queryingUid, String visibleAuthority) { public void makeProviderVisible(int recipientUid, String visibleAuthority) { try { try { ActivityThread.getPackageManager().grantImplicitAccess(queryingUid, visibleAuthority); ActivityThread.getPackageManager().makeProviderVisible(recipientUid, visibleAuthority); } catch (RemoteException e) { } catch (RemoteException e) { throw e.rethrowFromSystemServer(); throw e.rethrowFromSystemServer(); } } } } /** * Makes the package associated with the uid {@code visibleUid} become visible to the * recipient uid application. * * @param recipientUid The uid of the application that is being given access to {@code * visibleUid} * @param visibleUid The uid of the application that is becoming accessible to {@code * recipientAppId} * @hide */ @RequiresPermission(android.Manifest.permission.MAKE_UID_VISIBLE) @TestApi @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) public void makeUidVisible(int recipientUid, int visibleUid) { throw new UnsupportedOperationException( "makeUidVisible not implemented in subclass"); } // Some of the flags don't affect the query result, but let's be conservative and cache // Some of the flags don't affect the query result, but let's be conservative and cache // each combination of flags separately. // each combination of flags separately. Loading