summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Android.mk2
-rw-r--r--src/com/android/packageinstaller/permission/model/AppPermissionGroup.java2
-rw-r--r--src/com/android/packageinstaller/permission/model/PermissionApps.java4
-rw-r--r--src/com/android/packageinstaller/permission/service/RuntimePermissionPresenterServiceImpl.java2
-rw-r--r--src/com/android/packageinstaller/permission/ui/auto/AppPermissionsFragment.java2
-rw-r--r--src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java2
-rw-r--r--src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java2
-rw-r--r--src/com/android/packageinstaller/permission/ui/handheld/PermissionPreference.java2
-rw-r--r--src/com/android/packageinstaller/permission/ui/handheld/ReviewPermissionsFragment.java2
-rw-r--r--src/com/android/packageinstaller/permission/ui/television/AppPermissionsFragment.java5
-rw-r--r--src/com/android/packageinstaller/permission/ui/television/PermissionAppsFragment.java4
-rw-r--r--src/com/android/packageinstaller/permission/ui/wear/AppPermissionsFragmentWear.java4
-rw-r--r--src/com/android/packageinstaller/permission/ui/wear/ReviewPermissionsWearFragment.java2
-rw-r--r--src/com/android/packageinstaller/permission/utils/LocationUtils.java21
-rw-r--r--src/com/android/packageinstaller/permission/utils/Utils.java4
15 files changed, 28 insertions, 32 deletions
diff --git a/Android.mk b/Android.mk
index bf2ba533..e420ff1e 100644
--- a/Android.mk
+++ b/Android.mk
@@ -39,4 +39,4 @@ LOCAL_PROGUARD_FLAG_FILES := proguard.flags
# LOCAL_SDK_VERSION := system_current
LOCAL_PRIVATE_PLATFORM_APIS := true
-include $(BUILD_PACKAGE) \ No newline at end of file
+include $(BUILD_PACKAGE)
diff --git a/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java b/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java
index bcb25526..5da0e00a 100644
--- a/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java
+++ b/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java
@@ -509,7 +509,7 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup>
}
public boolean areRuntimePermissionsGranted(String[] filterPermissions) {
- if (LocationUtils.isLocationGroupAndProvider(mName, mPackageInfo.packageName)) {
+ if (LocationUtils.isLocationGroupAndProvider(mContext, mName, mPackageInfo.packageName)) {
return LocationUtils.isLocationEnabled(mContext);
}
final int permissionCount = mPermissions.size();
diff --git a/src/com/android/packageinstaller/permission/model/PermissionApps.java b/src/com/android/packageinstaller/permission/model/PermissionApps.java
index 2a09fefc..6ce849c7 100644
--- a/src/com/android/packageinstaller/permission/model/PermissionApps.java
+++ b/src/com/android/packageinstaller/permission/model/PermissionApps.java
@@ -109,7 +109,7 @@ public class PermissionApps {
public int getGrantedCount(ArraySet<String> launcherPkgs) {
int count = 0;
for (PermissionApp app : mPermApps) {
- if (!Utils.shouldShowPermission(app.getPermissionGroup())) {
+ if (!Utils.shouldShowPermission(mContext, app.getPermissionGroup())) {
continue;
}
if (Utils.isSystem(app, launcherPkgs)) {
@@ -126,7 +126,7 @@ public class PermissionApps {
public int getTotalCount(ArraySet<String> launcherPkgs) {
int count = 0;
for (PermissionApp app : mPermApps) {
- if (!Utils.shouldShowPermission(app.getPermissionGroup())) {
+ if (!Utils.shouldShowPermission(mContext, app.getPermissionGroup())) {
continue;
}
if (Utils.isSystem(app, launcherPkgs)) {
diff --git a/src/com/android/packageinstaller/permission/service/RuntimePermissionPresenterServiceImpl.java b/src/com/android/packageinstaller/permission/service/RuntimePermissionPresenterServiceImpl.java
index ab19fa11..774d8a22 100644
--- a/src/com/android/packageinstaller/permission/service/RuntimePermissionPresenterServiceImpl.java
+++ b/src/com/android/packageinstaller/permission/service/RuntimePermissionPresenterServiceImpl.java
@@ -50,7 +50,7 @@ public final class RuntimePermissionPresenterServiceImpl extends RuntimePermissi
AppPermissions appPermissions = new AppPermissions(this, packageInfo, false, null);
for (AppPermissionGroup group : appPermissions.getPermissionGroups()) {
- if (Utils.shouldShowPermission(group)) {
+ if (Utils.shouldShowPermission(this, group)) {
final boolean granted = group.areRuntimePermissionsGranted();
final boolean standard = Utils.OS_PKG.equals(group.getDeclaringPackage());
RuntimePermissionPresentationInfo permission =
diff --git a/src/com/android/packageinstaller/permission/ui/auto/AppPermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/auto/AppPermissionsFragment.java
index 5b331dd9..3d65e9f7 100644
--- a/src/com/android/packageinstaller/permission/ui/auto/AppPermissionsFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/auto/AppPermissionsFragment.java
@@ -149,7 +149,7 @@ public final class AppPermissionsFragment extends Fragment{
}
for (AppPermissionGroup group : mAppPermissions.getPermissionGroups()) {
- if (!Utils.shouldShowPermission(group)) {
+ if (!Utils.shouldShowPermission(getContext(), group)) {
continue;
}
items.add(new PermissionLineItem(group, context));
diff --git a/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java
index beef0b03..69f62899 100644
--- a/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java
@@ -199,7 +199,7 @@ public final class AppPermissionsFragment extends SettingsWithHeader
extraPerms.setTitle(R.string.additional_permissions);
for (AppPermissionGroup group : mAppPermissions.getPermissionGroups()) {
- if (!Utils.shouldShowPermission(group)) {
+ if (!Utils.shouldShowPermission(getContext(), group)) {
continue;
}
diff --git a/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java b/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java
index 5551a003..0b1c924e 100644
--- a/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java
@@ -204,7 +204,7 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple
boolean menuOptionsInvalided = false;
for (PermissionApp app : permissionApps.getApps()) {
- if (!Utils.shouldShowPermission(app.getPermissionGroup())) {
+ if (!Utils.shouldShowPermission(getContext(), app.getPermissionGroup())) {
continue;
}
diff --git a/src/com/android/packageinstaller/permission/ui/handheld/PermissionPreference.java b/src/com/android/packageinstaller/permission/ui/handheld/PermissionPreference.java
index 07c463c2..d564c8b2 100644
--- a/src/com/android/packageinstaller/permission/ui/handheld/PermissionPreference.java
+++ b/src/com/android/packageinstaller/permission/ui/handheld/PermissionPreference.java
@@ -451,7 +451,7 @@ class PermissionPreference extends MultiTargetSwitchPreference {
* @return If the request was processed.
*/
private boolean requestChange(boolean requestGrant, @ChangeTarget int changeTarget) {
- if (LocationUtils.isLocationGroupAndProvider(mGroup.getName(),
+ if (LocationUtils.isLocationGroupAndProvider(getContext(), mGroup.getName(),
mGroup.getApp().packageName)) {
LocationUtils.showLocationDialog(getContext(), getAppLabel());
return false;
diff --git a/src/com/android/packageinstaller/permission/ui/handheld/ReviewPermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/handheld/ReviewPermissionsFragment.java
index 1b9c6888..d18b67c1 100644
--- a/src/com/android/packageinstaller/permission/ui/handheld/ReviewPermissionsFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/handheld/ReviewPermissionsFragment.java
@@ -290,7 +290,7 @@ public final class ReviewPermissionsFragment extends PreferenceFragmentCompat
final boolean isPackageUpdated = isPackageUpdated();
for (AppPermissionGroup group : mAppPermissions.getPermissionGroups()) {
- if (!Utils.shouldShowPermission(group)
+ if (!Utils.shouldShowPermission(getContext(), group)
|| !Utils.OS_PKG.equals(group.getDeclaringPackage())) {
continue;
}
diff --git a/src/com/android/packageinstaller/permission/ui/television/AppPermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/television/AppPermissionsFragment.java
index c57b4ba4..935d4ffe 100644
--- a/src/com/android/packageinstaller/permission/ui/television/AppPermissionsFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/television/AppPermissionsFragment.java
@@ -190,7 +190,7 @@ public final class AppPermissionsFragment extends SettingsWithHeader
extraPerms.setTitle(R.string.additional_permissions);
for (AppPermissionGroup group : mAppPermissions.getPermissionGroups()) {
- if (!Utils.shouldShowPermission(group)) {
+ if (!Utils.shouldShowPermission(getContext(), group)) {
continue;
}
@@ -277,7 +277,8 @@ public final class AppPermissionsFragment extends SettingsWithHeader
addToggledGroup(group);
- if (LocationUtils.isLocationGroupAndProvider(group.getName(), group.getApp().packageName)) {
+ if (LocationUtils.isLocationGroupAndProvider(getContext(), group.getName(),
+ group.getApp().packageName)) {
LocationUtils.showLocationDialog(getContext(), mAppPermissions.getAppLabel());
return false;
}
diff --git a/src/com/android/packageinstaller/permission/ui/television/PermissionAppsFragment.java b/src/com/android/packageinstaller/permission/ui/television/PermissionAppsFragment.java
index d659f479..0ca2f788 100644
--- a/src/com/android/packageinstaller/permission/ui/television/PermissionAppsFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/television/PermissionAppsFragment.java
@@ -185,7 +185,7 @@ public final class PermissionAppsFragment extends SettingsWithHeader implements
boolean menuOptionsInvalided = false;
for (PermissionApp app : permissionApps.getApps()) {
- if (!Utils.shouldShowPermission(app.getPermissionGroup())) {
+ if (!Utils.shouldShowPermission(getContext(), app.getPermissionGroup())) {
continue;
}
@@ -313,7 +313,7 @@ public final class PermissionAppsFragment extends SettingsWithHeader implements
return false;
}
- if (LocationUtils.isLocationGroupAndProvider(mPermissionApps.getGroupName(),
+ if (LocationUtils.isLocationGroupAndProvider(getContext(), mPermissionApps.getGroupName(),
app.getPackageName())) {
LocationUtils.showLocationDialog(getContext(), app.getLabel());
return false;
diff --git a/src/com/android/packageinstaller/permission/ui/wear/AppPermissionsFragmentWear.java b/src/com/android/packageinstaller/permission/ui/wear/AppPermissionsFragmentWear.java
index 3de63869..20196d36 100644
--- a/src/com/android/packageinstaller/permission/ui/wear/AppPermissionsFragmentWear.java
+++ b/src/com/android/packageinstaller/permission/ui/wear/AppPermissionsFragmentWear.java
@@ -164,7 +164,7 @@ public final class AppPermissionsFragmentWear extends PreferenceFragment {
}
for (final AppPermissionGroup group : groups) {
- if (!Utils.shouldShowPermission(group)) {
+ if (!Utils.shouldShowPermission(getContext(), group)) {
continue;
}
@@ -322,7 +322,7 @@ public final class AppPermissionsFragmentWear extends PreferenceFragment {
pref.setEnabled(false);
} else {
pref.setOnPreferenceChangeListener((p, newVal) -> {
- if (LocationUtils.isLocationGroupAndProvider(
+ if (LocationUtils.isLocationGroupAndProvider(getContext(),
group.getName(), group.getApp().packageName)) {
LocationUtils.showLocationDialog(
getContext(), mAppPermissions.getAppLabel());
diff --git a/src/com/android/packageinstaller/permission/ui/wear/ReviewPermissionsWearFragment.java b/src/com/android/packageinstaller/permission/ui/wear/ReviewPermissionsWearFragment.java
index 64ef25ed..1ab4de68 100644
--- a/src/com/android/packageinstaller/permission/ui/wear/ReviewPermissionsWearFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/wear/ReviewPermissionsWearFragment.java
@@ -135,7 +135,7 @@ public class ReviewPermissionsWearFragment extends PreferenceFragmentCompat
int permOrder = ORDER_PERM_OFFSET_START;
for (AppPermissionGroup group : mAppPermissions.getPermissionGroups()) {
- if (!Utils.shouldShowPermission(group)
+ if (!Utils.shouldShowPermission(getContext(), group)
|| !Utils.OS_PKG.equals(group.getDeclaringPackage())) {
continue;
}
diff --git a/src/com/android/packageinstaller/permission/utils/LocationUtils.java b/src/com/android/packageinstaller/permission/utils/LocationUtils.java
index e7af3788..56491aea 100644
--- a/src/com/android/packageinstaller/permission/utils/LocationUtils.java
+++ b/src/com/android/packageinstaller/permission/utils/LocationUtils.java
@@ -21,17 +21,11 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
-import android.content.res.Resources;
-import android.location.ILocationManager;
import android.location.LocationManager;
-import android.os.RemoteException;
-import android.os.ServiceManager;
import android.provider.Settings;
import com.android.permissioncontroller.R;
-import java.util.ArrayList;
-
public class LocationUtils {
public static final String LOCATION_PERMISSION = Manifest.permission_group.LOCATION;
@@ -56,16 +50,17 @@ public class LocationUtils {
Settings.Secure.LOCATION_MODE_OFF) != Settings.Secure.LOCATION_MODE_OFF;
}
- public static boolean isLocationGroupAndProvider(String groupName, String packageName) {
- return LOCATION_PERMISSION.equals(groupName) && isNetworkLocationProvider(packageName);
+ public static boolean isLocationGroupAndProvider(Context context, String groupName,
+ String packageName) {
+ return LOCATION_PERMISSION.equals(groupName)
+ && isNetworkLocationProvider(context, packageName);
}
- private static boolean isNetworkLocationProvider(String packageName) {
- ILocationManager locationService = ILocationManager.Stub.asInterface(
- ServiceManager.getService(Context.LOCATION_SERVICE));
+ private static boolean isNetworkLocationProvider(Context context, String packageName) {
try {
- return packageName.equals(locationService.getNetworkProviderPackage());
- } catch (RemoteException e) {
+ return packageName.equals(context.getSystemService(LocationManager.class)
+ .getNetworkProviderPackage());
+ } catch (Exception e) {
return false;
}
}
diff --git a/src/com/android/packageinstaller/permission/utils/Utils.java b/src/com/android/packageinstaller/permission/utils/Utils.java
index 6fc17048..987b82d0 100644
--- a/src/com/android/packageinstaller/permission/utils/Utils.java
+++ b/src/com/android/packageinstaller/permission/utils/Utils.java
@@ -91,7 +91,7 @@ public final class Utils {
*
* @return
*/
- public static boolean shouldShowPermission(AppPermissionGroup group) {
+ public static boolean shouldShowPermission(Context context, AppPermissionGroup group) {
boolean isSystemFixed = group.isSystemFixed();
if (group.getBackgroundPermissions() != null) {
// If the foreground mode is fixed to "enabled", the background mode might still be
@@ -103,7 +103,7 @@ public final class Utils {
// We currently will not show permissions fixed by the system.
// which is what the system does for system components.
- if (isSystemFixed && !LocationUtils.isLocationGroupAndProvider(
+ if (isSystemFixed && !LocationUtils.isLocationGroupAndProvider(context,
group.getName(), group.getApp().packageName)) {
return false;
}