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

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

Always review permissions before <M app is started the first time

This splits the
- review permissions
- individually control permissions
- consent to manage wireleess (wifi + bluetooth)
properties.

Almost all code cares only for the first and it is now always true.
Hence a lot of code can be simplified.

Bug: 110431654
Test: atest PermissionsHostTest
      started pre-M app
Change-Id: I733cd476ccd0bf5eaa59e9a9506db34f57c6baee
parent 148cd8c0
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -81,7 +81,7 @@ package android.net.wifi {
package android.os {

  public class Build {
    field public static final boolean PERMISSIONS_REVIEW_REQUIRED;
    field public static final boolean PERMISSIONS_REVIEW_REQUIRED = true;
  }

  public final class PowerManager {
+1 −1
Original line number Diff line number Diff line
@@ -266,6 +266,7 @@ package android.content.pm {
  }

  public abstract class PackageManager {
    method public abstract boolean arePermissionsIndividuallyControlled();
    method public abstract java.lang.String getDefaultBrowserPackageNameAsUser(int);
    method public abstract int getInstallReason(java.lang.String, android.os.UserHandle);
    method public abstract java.util.List<android.content.pm.ApplicationInfo> getInstalledApplicationsAsUser(int, int);
@@ -275,7 +276,6 @@ package android.content.pm {
    method public abstract java.lang.String getServicesSystemSharedLibraryPackageName();
    method public abstract java.lang.String getSharedSystemSharedLibraryPackageName();
    method public abstract void grantRuntimePermission(java.lang.String, java.lang.String, android.os.UserHandle);
    method public abstract boolean isPermissionReviewModeEnabled();
    method public abstract void revokeRuntimePermission(java.lang.String, java.lang.String, android.os.UserHandle);
    field public static final java.lang.String FEATURE_ADOPTABLE_STORAGE = "android.software.adoptable_storage";
    field public static final java.lang.String FEATURE_FILE_BASED_ENCRYPTION = "android.software.file_based_encryption";
+8 −2
Original line number Diff line number Diff line
@@ -342,9 +342,15 @@ public class ApplicationPackageManager extends PackageManager {
    }

    @Override
    public boolean isPermissionReviewModeEnabled() {
    public boolean arePermissionsIndividuallyControlled() {
        return mContext.getResources().getBoolean(
                com.android.internal.R.bool.config_permissionReviewRequired);
                com.android.internal.R.bool.config_permissionsIndividuallyControlled);
    }

    @Override
    public boolean isWirelessConsentModeEnabled() {
        return mContext.getResources().getBoolean(
                com.android.internal.R.bool.config_wirelessConsentRequired);
    }

    @Override
+9 −2
Original line number Diff line number Diff line
@@ -3269,12 +3269,19 @@ public abstract class PackageManager {
            @PermissionInfoFlags int flags) throws NameNotFoundException;

    /**
     * Returns true if Permission Review Mode is enabled, false otherwise.
     * Returns true if some permissions are individually controlled
     *
     * @hide
     */
    @TestApi
    public abstract boolean isPermissionReviewModeEnabled();
    public abstract boolean arePermissionsIndividuallyControlled();

    /**
     * Returns true if wireless consent mode is enabled
     *
     * @hide
     */
    public abstract boolean isWirelessConsentModeEnabled();

    /**
     * Retrieve all of the information we know about a particular group of
+1 −2
Original line number Diff line number Diff line
@@ -1114,8 +1114,7 @@ public class Build {
     * @removed
     */
    @SystemApi
    public static final boolean PERMISSIONS_REVIEW_REQUIRED =
            SystemProperties.getInt("ro.permission_review_required", 0) == 1;
    public static final boolean PERMISSIONS_REVIEW_REQUIRED = true;

    /**
     * Returns the version string for the radio firmware.  May return
Loading