Loading api/test-current.txt +13 −0 Original line number Diff line number Diff line Loading @@ -646,6 +646,7 @@ package android.content { method public void setContentCaptureOptions(@Nullable android.content.ContentCaptureOptions); field public static final String BUGREPORT_SERVICE = "bugreport"; field public static final String CONTENT_CAPTURE_MANAGER_SERVICE = "content_capture"; field public static final String PERMISSION_SERVICE = "permission"; field public static final String ROLLBACK_SERVICE = "rollback"; field public static final String STATUS_BAR_SERVICE = "statusbar"; field public static final String TEST_NETWORK_SERVICE = "test_network"; Loading Loading @@ -2214,6 +2215,18 @@ package android.permission { method public abstract void onRevokeRuntimePermissions(@NonNull java.util.Map<java.lang.String,java.util.List<java.lang.String>>); } public final class PermissionManager { method @IntRange(from=0) @RequiresPermission("android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY") public int getRuntimePermissionsVersion(); method @NonNull public java.util.List<android.permission.PermissionManager.SplitPermissionInfo> getSplitPermissions(); method @RequiresPermission("android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY") public void setRuntimePermissionsVersion(@IntRange(from=0) int); } public static final class PermissionManager.SplitPermissionInfo { method @NonNull public java.util.List<java.lang.String> getNewPermissions(); method @NonNull public String getSplitPermission(); method public int getTargetSdk(); } public final class RuntimePermissionPresentationInfo implements android.os.Parcelable { ctor public RuntimePermissionPresentationInfo(@NonNull CharSequence, boolean, boolean); method public int describeContents(); Loading core/java/android/app/Activity.java +2 −2 Original line number Diff line number Diff line Loading @@ -2330,7 +2330,7 @@ public class Activity extends ContextThemeWrapper * calling {@link VoiceInteractor#notifyDirectActionsChanged()}. * * <p>To get the voice interactor you need to call {@link #getVoiceInteractor()} * which would return non <code>null<c/ode> only if there is an ongoing voice * which would return non <code>null</code> only if there is an ongoing voice * interaction session. You an also detect when the voice interactor is no * longer valid because the voice interaction session that is backing is finished * by calling {@link VoiceInteractor#registerOnDestroyedCallback(Executor, Runnable)}. Loading @@ -2339,7 +2339,7 @@ public class Activity extends ContextThemeWrapper * before {@link #onStop()} is being called. * * <p>You should pass to the callback the currently supported direct actions which * cannot be <code>null</code> or contain <code>null</null> elements. * cannot be <code>null</code> or contain <code>null</code> elements. * * <p>You should return the action list as soon as possible to ensure the consumer, * for example the assistant, is as responsive as possible which would improve user Loading core/java/android/app/admin/DevicePolicyManager.java +8 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package android.app.admin; import static com.android.internal.util.function.pooled.PooledLambda.obtainMessage; import android.Manifest.permission; import android.annotation.CallbackExecutor; import android.annotation.ColorInt; Loading Loading @@ -88,6 +90,7 @@ import android.util.Log; import com.android.internal.R; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.os.BackgroundThread; import com.android.internal.util.Preconditions; import com.android.org.conscrypt.TrustedCertificateStore; Loading Loading @@ -8810,6 +8813,11 @@ public class DevicePolicyManager { mService.setPermissionGrantState(admin, mContext.getPackageName(), packageName, permission, grantState, new RemoteCallback((b) -> result.complete(b != null))); // Timeout BackgroundThread.getHandler().sendMessageDelayed( obtainMessage(CompletableFuture::complete, result, false), 20_000); return result.get(); } catch (RemoteException re) { throw re.rethrowFromSystemServer(); Loading core/java/android/content/Context.java +1 −0 Original line number Diff line number Diff line Loading @@ -4126,6 +4126,7 @@ public abstract class Context { * @see #getSystemService(String) * @hide */ @TestApi @SystemApi public static final String PERMISSION_SERVICE = "permission"; Loading core/java/android/permission/PermissionManager.java +4 −2 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ import java.util.Objects; * * @hide */ @TestApi @SystemApi @SystemService(Context.PERMISSION_SERVICE) public final class PermissionManager { Loading Loading @@ -140,12 +141,13 @@ public final class PermissionManager { if (o == null || getClass() != o.getClass()) return false; SplitPermissionInfo that = (SplitPermissionInfo) o; return mTargetSdk == that.mTargetSdk && Objects.equals(mSplitPerm, that.mSplitPerm); && mSplitPerm.equals(that.mSplitPerm) && mNewPerms.equals(that.mNewPerms); } @Override public int hashCode() { return Objects.hash(mSplitPerm, mTargetSdk); return Objects.hash(mSplitPerm, mNewPerms, mTargetSdk); } /** Loading Loading
api/test-current.txt +13 −0 Original line number Diff line number Diff line Loading @@ -646,6 +646,7 @@ package android.content { method public void setContentCaptureOptions(@Nullable android.content.ContentCaptureOptions); field public static final String BUGREPORT_SERVICE = "bugreport"; field public static final String CONTENT_CAPTURE_MANAGER_SERVICE = "content_capture"; field public static final String PERMISSION_SERVICE = "permission"; field public static final String ROLLBACK_SERVICE = "rollback"; field public static final String STATUS_BAR_SERVICE = "statusbar"; field public static final String TEST_NETWORK_SERVICE = "test_network"; Loading Loading @@ -2214,6 +2215,18 @@ package android.permission { method public abstract void onRevokeRuntimePermissions(@NonNull java.util.Map<java.lang.String,java.util.List<java.lang.String>>); } public final class PermissionManager { method @IntRange(from=0) @RequiresPermission("android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY") public int getRuntimePermissionsVersion(); method @NonNull public java.util.List<android.permission.PermissionManager.SplitPermissionInfo> getSplitPermissions(); method @RequiresPermission("android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY") public void setRuntimePermissionsVersion(@IntRange(from=0) int); } public static final class PermissionManager.SplitPermissionInfo { method @NonNull public java.util.List<java.lang.String> getNewPermissions(); method @NonNull public String getSplitPermission(); method public int getTargetSdk(); } public final class RuntimePermissionPresentationInfo implements android.os.Parcelable { ctor public RuntimePermissionPresentationInfo(@NonNull CharSequence, boolean, boolean); method public int describeContents(); Loading
core/java/android/app/Activity.java +2 −2 Original line number Diff line number Diff line Loading @@ -2330,7 +2330,7 @@ public class Activity extends ContextThemeWrapper * calling {@link VoiceInteractor#notifyDirectActionsChanged()}. * * <p>To get the voice interactor you need to call {@link #getVoiceInteractor()} * which would return non <code>null<c/ode> only if there is an ongoing voice * which would return non <code>null</code> only if there is an ongoing voice * interaction session. You an also detect when the voice interactor is no * longer valid because the voice interaction session that is backing is finished * by calling {@link VoiceInteractor#registerOnDestroyedCallback(Executor, Runnable)}. Loading @@ -2339,7 +2339,7 @@ public class Activity extends ContextThemeWrapper * before {@link #onStop()} is being called. * * <p>You should pass to the callback the currently supported direct actions which * cannot be <code>null</code> or contain <code>null</null> elements. * cannot be <code>null</code> or contain <code>null</code> elements. * * <p>You should return the action list as soon as possible to ensure the consumer, * for example the assistant, is as responsive as possible which would improve user Loading
core/java/android/app/admin/DevicePolicyManager.java +8 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package android.app.admin; import static com.android.internal.util.function.pooled.PooledLambda.obtainMessage; import android.Manifest.permission; import android.annotation.CallbackExecutor; import android.annotation.ColorInt; Loading Loading @@ -88,6 +90,7 @@ import android.util.Log; import com.android.internal.R; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.os.BackgroundThread; import com.android.internal.util.Preconditions; import com.android.org.conscrypt.TrustedCertificateStore; Loading Loading @@ -8810,6 +8813,11 @@ public class DevicePolicyManager { mService.setPermissionGrantState(admin, mContext.getPackageName(), packageName, permission, grantState, new RemoteCallback((b) -> result.complete(b != null))); // Timeout BackgroundThread.getHandler().sendMessageDelayed( obtainMessage(CompletableFuture::complete, result, false), 20_000); return result.get(); } catch (RemoteException re) { throw re.rethrowFromSystemServer(); Loading
core/java/android/content/Context.java +1 −0 Original line number Diff line number Diff line Loading @@ -4126,6 +4126,7 @@ public abstract class Context { * @see #getSystemService(String) * @hide */ @TestApi @SystemApi public static final String PERMISSION_SERVICE = "permission"; Loading
core/java/android/permission/PermissionManager.java +4 −2 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ import java.util.Objects; * * @hide */ @TestApi @SystemApi @SystemService(Context.PERMISSION_SERVICE) public final class PermissionManager { Loading Loading @@ -140,12 +141,13 @@ public final class PermissionManager { if (o == null || getClass() != o.getClass()) return false; SplitPermissionInfo that = (SplitPermissionInfo) o; return mTargetSdk == that.mTargetSdk && Objects.equals(mSplitPerm, that.mSplitPerm); && mSplitPerm.equals(that.mSplitPerm) && mNewPerms.equals(that.mNewPerms); } @Override public int hashCode() { return Objects.hash(mSplitPerm, mTargetSdk); return Objects.hash(mSplitPerm, mNewPerms, mTargetSdk); } /** Loading