From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Sat, 22 Jul 2017 21:43:50 -0400 Subject: [PATCH] always treat INTERNET as a runtime permission --- .../permission/model/AppPermissionGroup.java | 5 +++-- .../packageinstaller/permission/model/Permission.java | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java b/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java index da5277777..c9fa2ca3e 100644 --- a/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java +++ b/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java @@ -33,6 +33,7 @@ import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.PermissionGroupInfo; import android.content.pm.PermissionInfo; +import android.Manifest; import android.os.Build; import android.os.UserHandle; import android.permission.PermissionManager; @@ -785,7 +786,7 @@ public final class AppPermissionGroup implements Comparable boolean wasGranted = permission.isGrantedIncludingAppOp(); - if (mAppSupportsRuntimePermissions) { + if (mAppSupportsRuntimePermissions || Manifest.permission.INTERNET.equals(permission.getName())) { // Do not touch permissions fixed by the system. if (permission.isSystemFixed()) { wasAllGranted = false; @@ -962,7 +963,7 @@ public final class AppPermissionGroup implements Comparable break; } - if (mAppSupportsRuntimePermissions) { + if (mAppSupportsRuntimePermissions || Manifest.permission.INTERNET.equals(permission.getName())) { // Revoke the permission if needed. if (permission.isGranted()) { permission.setGranted(false); diff --git a/src/com/android/packageinstaller/permission/model/Permission.java b/src/com/android/packageinstaller/permission/model/Permission.java index 463c34795..c2ec88902 100644 --- a/src/com/android/packageinstaller/permission/model/Permission.java +++ b/src/com/android/packageinstaller/permission/model/Permission.java @@ -18,6 +18,7 @@ package com.android.packageinstaller.permission.model; import android.content.pm.PackageManager; import android.content.pm.PermissionInfo; +import android.Manifest; import androidx.annotation.NonNull; @@ -136,7 +137,7 @@ public final class Permission { * @return {@code true} if the permission (and the app-op) is granted. */ public boolean isGrantedIncludingAppOp() { - return mGranted && (!affectsAppOp() || isAppOpAllowed()) && !isReviewRequired(); + return mGranted && (!affectsAppOp() || isAppOpAllowed()) && (!isReviewRequired() || Manifest.permission.INTERNET.equals(mName)); } public boolean isReviewRequired() {