Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dbf78b81 authored by Philip P. Moltmann's avatar Philip P. Moltmann
Browse files

Move RuntimePermissionPresenter to android.permission

Consolidate all permission related code in a single java package.

Test: atest SettingsLibRoboTests
      Looked at Settings AppInfo UI (uses RuntimePermissionPresenter)
Bug: 120221960
Change-Id: If135e984a8273e9bed80cab9fbf2d70f40a05c7f
parent 44689735
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -264,6 +264,7 @@ java_defaults {
        "core/java/android/os/storage/IStorageEventListener.aidl",
        "core/java/android/os/storage/IStorageShutdownObserver.aidl",
        "core/java/android/os/storage/IObbActionListener.aidl",
        "core/java/android/permission/IRuntimePermissionPresenter.aidl",
        "core/java/android/rolecontrollerservice/IRoleControllerService.aidl",
        ":keystore_aidl",
        "core/java/android/security/keymaster/IKeyAttestationApplicationIdProvider.aidl",
+21 −2
Original line number Diff line number Diff line
@@ -1384,7 +1384,7 @@ package android.content.pm.dex {

package android.content.pm.permission {

  public final class RuntimePermissionPresentationInfo implements android.os.Parcelable {
  public final deprecated class RuntimePermissionPresentationInfo implements android.os.Parcelable {
    ctor public RuntimePermissionPresentationInfo(java.lang.CharSequence, boolean, boolean);
    method public int describeContents();
    method public java.lang.CharSequence getLabel();
@@ -4382,11 +4382,30 @@ package android.permission {
    method public int getTargetSdk();
  }

  public final class RuntimePermissionPresentationInfo implements android.os.Parcelable {
    ctor public RuntimePermissionPresentationInfo(java.lang.CharSequence, boolean, boolean);
    method public int describeContents();
    method public java.lang.CharSequence getLabel();
    method public boolean isGranted();
    method public boolean isStandard();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.permission.RuntimePermissionPresentationInfo> CREATOR;
  }

  public abstract class RuntimePermissionPresenterService extends android.app.Service {
    ctor public RuntimePermissionPresenterService();
    method public final void attachBaseContext(android.content.Context);
    method public final android.os.IBinder onBind(android.content.Intent);
    method public abstract java.util.List<android.permission.RuntimePermissionPresentationInfo> onGetAppPermissions(java.lang.String);
    method public abstract void onRevokeRuntimePermission(java.lang.String, java.lang.String);
    field public static final java.lang.String SERVICE_INTERFACE = "android.permission.RuntimePermissionPresenterService";
  }

}

package android.permissionpresenterservice {

  public abstract class RuntimePermissionPresenterService extends android.app.Service {
  public abstract deprecated class RuntimePermissionPresenterService extends android.app.Service {
    ctor public RuntimePermissionPresenterService();
    method public final void attachBaseContext(android.content.Context);
    method public final android.os.IBinder onBind(android.content.Intent);
+2 −0
Original line number Diff line number Diff line
@@ -22,6 +22,8 @@ import android.os.RemoteCallback;
 * Interface for communication with the permission presenter service.
 *
 * @hide
 * @deprecated Only available to keep
 *             android.permissionpresenterservice.RuntimePermissionPresenterService functional
 */
oneway interface IRuntimePermissionPresenter {
    void getAppPermissions(String packageName, in RemoteCallback callback);
+4 −0
Original line number Diff line number Diff line
@@ -29,7 +29,11 @@ import android.os.Parcelable;
 * coarse and fine platform permissions.
 *
 * @hide
 *
 * @deprecated Not used anymore. Use {@link android.permission.RuntimePermissionPresentationInfo}
 * instead
 */
@Deprecated
@SystemApi
public final class RuntimePermissionPresentationInfo implements Parcelable {
    private static final int FLAG_GRANTED = 1 << 0;
+29 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2016 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.permission;

import android.os.RemoteCallback;

/**
 * Interface for communication with the permission presenter service.
 *
 * @hide
 */
oneway interface IRuntimePermissionPresenter {
    void getAppPermissions(String packageName, in RemoteCallback callback);
    void revokeRuntimePermission(String packageName, String permissionName);
}
Loading