Loading api/system-current.txt +3 −0 Original line number Diff line number Diff line Loading @@ -7716,7 +7716,10 @@ package android.permission { public final class PermissionManager { method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public int getRuntimePermissionsVersion(); method @NonNull public java.util.List<android.permission.PermissionManager.SplitPermissionInfo> getSplitPermissions(); method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void grantDefaultPermissionsToEnabledImsServices(@NonNull String[], @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>); method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void grantDefaultPermissionsToEnabledTelephonyDataServices(@NonNull String[], @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>); method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void grantDefaultPermissionsToLuiApp(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>); method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void revokeDefaultPermissionsFromDisabledTelephonyDataServices(@NonNull String[], @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>); method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void revokeDefaultPermissionsFromLuiApps(@NonNull String[], @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>); method @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public void setRuntimePermissionsVersion(@IntRange(from=0) int); method @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void startOneTimePermissionSession(@NonNull String, long, int, int); core/java/android/permission/PermissionManager.java +68 −0 Original line number Diff line number Diff line Loading @@ -160,6 +160,7 @@ public final class PermissionManager { * Grant default permissions to currently active LUI app * @param packageName The package name for the LUI app * @param user The user handle * @param executor The executor for the callback * @param callback The callback provided by caller to be notified when grant completes * @hide */ Loading @@ -181,6 +182,7 @@ public final class PermissionManager { * Revoke default permissions to currently active LUI app * @param packageNames The package names for the LUI apps * @param user The user handle * @param executor The executor for the callback * @param callback The callback provided by caller to be notified when grant completes * @hide */ Loading @@ -198,6 +200,72 @@ public final class PermissionManager { } } /** * Grant default permissions to currently active Ims services * @param packageNames The package names for the Ims services * @param user The user handle * @param executor The executor for the callback * @param callback The callback provided by caller to be notified when grant completes * @hide */ @SystemApi @RequiresPermission(Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void grantDefaultPermissionsToEnabledImsServices( @NonNull String[] packageNames, @NonNull UserHandle user, @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<Boolean> callback) { try { mPermissionManager.grantDefaultPermissionsToEnabledImsServices( packageNames, user.getIdentifier()); executor.execute(() -> callback.accept(true)); } catch (RemoteException e) { e.rethrowFromSystemServer(); } } /** * Grant default permissions to currently enabled telephony data services * @param packageNames The package name for the services * @param user The user handle * @param executor The executor for the callback * @param callback The callback provided by caller to be notified when grant completes * @hide */ @SystemApi @RequiresPermission(Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void grantDefaultPermissionsToEnabledTelephonyDataServices( @NonNull String[] packageNames, @NonNull UserHandle user, @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<Boolean> callback) { try { mPermissionManager.grantDefaultPermissionsToEnabledTelephonyDataServices( packageNames, user.getIdentifier()); executor.execute(() -> callback.accept(true)); } catch (RemoteException e) { e.rethrowFromSystemServer(); } } /** * Revoke default permissions to currently active telephony data services * @param packageNames The package name for the services * @param user The user handle * @param executor The executor for the callback * @param callback The callback provided by caller to be notified when revoke completes * @hide */ @SystemApi @RequiresPermission(Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void revokeDefaultPermissionsFromDisabledTelephonyDataServices( @NonNull String[] packageNames, @NonNull UserHandle user, @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<Boolean> callback) { try { mPermissionManager.revokeDefaultPermissionsFromDisabledTelephonyDataServices( packageNames, user.getIdentifier()); executor.execute(() -> callback.accept(true)); } catch (RemoteException e) { e.rethrowFromSystemServer(); } } private List<SplitPermissionInfo> splitPermissionInfoListToNonParcelableList( List<SplitPermissionInfoParcelable> parcelableList) { final int size = parcelableList.size(); Loading telephony/common/com/android/internal/telephony/util/TelephonyUtils.java +10 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,8 @@ import android.os.RemoteException; import android.os.SystemProperties; import java.io.PrintWriter; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import java.util.function.Supplier; /** Loading Loading @@ -137,4 +139,12 @@ public final class TelephonyUtils { } return ret; } /** Wait for latch to trigger */ public static void waitUntilReady(CountDownLatch latch, long timeoutMs) { try { latch.await(timeoutMs, TimeUnit.MILLISECONDS); } catch (InterruptedException ignored) { } } } Loading
api/system-current.txt +3 −0 Original line number Diff line number Diff line Loading @@ -7716,7 +7716,10 @@ package android.permission { public final class PermissionManager { method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public int getRuntimePermissionsVersion(); method @NonNull public java.util.List<android.permission.PermissionManager.SplitPermissionInfo> getSplitPermissions(); method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void grantDefaultPermissionsToEnabledImsServices(@NonNull String[], @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>); method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void grantDefaultPermissionsToEnabledTelephonyDataServices(@NonNull String[], @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>); method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void grantDefaultPermissionsToLuiApp(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>); method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void revokeDefaultPermissionsFromDisabledTelephonyDataServices(@NonNull String[], @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>); method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void revokeDefaultPermissionsFromLuiApps(@NonNull String[], @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>); method @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public void setRuntimePermissionsVersion(@IntRange(from=0) int); method @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void startOneTimePermissionSession(@NonNull String, long, int, int);
core/java/android/permission/PermissionManager.java +68 −0 Original line number Diff line number Diff line Loading @@ -160,6 +160,7 @@ public final class PermissionManager { * Grant default permissions to currently active LUI app * @param packageName The package name for the LUI app * @param user The user handle * @param executor The executor for the callback * @param callback The callback provided by caller to be notified when grant completes * @hide */ Loading @@ -181,6 +182,7 @@ public final class PermissionManager { * Revoke default permissions to currently active LUI app * @param packageNames The package names for the LUI apps * @param user The user handle * @param executor The executor for the callback * @param callback The callback provided by caller to be notified when grant completes * @hide */ Loading @@ -198,6 +200,72 @@ public final class PermissionManager { } } /** * Grant default permissions to currently active Ims services * @param packageNames The package names for the Ims services * @param user The user handle * @param executor The executor for the callback * @param callback The callback provided by caller to be notified when grant completes * @hide */ @SystemApi @RequiresPermission(Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void grantDefaultPermissionsToEnabledImsServices( @NonNull String[] packageNames, @NonNull UserHandle user, @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<Boolean> callback) { try { mPermissionManager.grantDefaultPermissionsToEnabledImsServices( packageNames, user.getIdentifier()); executor.execute(() -> callback.accept(true)); } catch (RemoteException e) { e.rethrowFromSystemServer(); } } /** * Grant default permissions to currently enabled telephony data services * @param packageNames The package name for the services * @param user The user handle * @param executor The executor for the callback * @param callback The callback provided by caller to be notified when grant completes * @hide */ @SystemApi @RequiresPermission(Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void grantDefaultPermissionsToEnabledTelephonyDataServices( @NonNull String[] packageNames, @NonNull UserHandle user, @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<Boolean> callback) { try { mPermissionManager.grantDefaultPermissionsToEnabledTelephonyDataServices( packageNames, user.getIdentifier()); executor.execute(() -> callback.accept(true)); } catch (RemoteException e) { e.rethrowFromSystemServer(); } } /** * Revoke default permissions to currently active telephony data services * @param packageNames The package name for the services * @param user The user handle * @param executor The executor for the callback * @param callback The callback provided by caller to be notified when revoke completes * @hide */ @SystemApi @RequiresPermission(Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void revokeDefaultPermissionsFromDisabledTelephonyDataServices( @NonNull String[] packageNames, @NonNull UserHandle user, @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<Boolean> callback) { try { mPermissionManager.revokeDefaultPermissionsFromDisabledTelephonyDataServices( packageNames, user.getIdentifier()); executor.execute(() -> callback.accept(true)); } catch (RemoteException e) { e.rethrowFromSystemServer(); } } private List<SplitPermissionInfo> splitPermissionInfoListToNonParcelableList( List<SplitPermissionInfoParcelable> parcelableList) { final int size = parcelableList.size(); Loading
telephony/common/com/android/internal/telephony/util/TelephonyUtils.java +10 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,8 @@ import android.os.RemoteException; import android.os.SystemProperties; import java.io.PrintWriter; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import java.util.function.Supplier; /** Loading Loading @@ -137,4 +139,12 @@ public final class TelephonyUtils { } return ret; } /** Wait for latch to trigger */ public static void waitUntilReady(CountDownLatch latch, long timeoutMs) { try { latch.await(timeoutMs, TimeUnit.MILLISECONDS); } catch (InterruptedException ignored) { } } }