summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/applications/AdvancedAppSettings.java
diff options
context:
space:
mode:
authorJason Monk <jmonk@google.com>2015-03-26 08:30:50 -0400
committerJason Monk <jmonk@google.com>2015-03-30 10:39:29 -0400
commit2f41aa7955e27a050155765803d3a5ae98782f26 (patch)
tree98a9e44dc8c33e9ce6df33f1bb833a76ac597c08 /src/com/android/settings/applications/AdvancedAppSettings.java
parentec5a3373db706778d2bcde6700c270f33bf8f7f1 (diff)
downloadpackages_apps_Settings-2f41aa7955e27a050155765803d3a5ae98782f26.zip
packages_apps_Settings-2f41aa7955e27a050155765803d3a5ae98782f26.tar.gz
packages_apps_Settings-2f41aa7955e27a050155765803d3a5ae98782f26.tar.bz2
Add permissions screen to advanced apps
Add a screen that shows a list of permissions and how many apps have been granted them, link to PackageInstaller for control of the permissions. Depends on I68cdbe53177f742daf396f4eb53761fd5cda2636 Change-Id: I183848ea89ea41a17eaf663441dc4ef963be99bf
Diffstat (limited to 'src/com/android/settings/applications/AdvancedAppSettings.java')
-rw-r--r--src/com/android/settings/applications/AdvancedAppSettings.java18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/com/android/settings/applications/AdvancedAppSettings.java b/src/com/android/settings/applications/AdvancedAppSettings.java
index 28ac1d0..d5ab8dc 100644
--- a/src/com/android/settings/applications/AdvancedAppSettings.java
+++ b/src/com/android/settings/applications/AdvancedAppSettings.java
@@ -26,6 +26,7 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.pm.ApplicationInfo;
import android.content.pm.IPackageManager;
+import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.net.NetworkPolicyManager;
import android.os.AsyncTask;
@@ -34,9 +35,11 @@ import android.os.Handler;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.UserHandle;
+import android.os.UserManager;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceClickListener;
import android.util.Log;
+import android.util.Pair;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -47,22 +50,25 @@ import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.applications.ApplicationsState.AppEntry;
import com.android.settings.applications.ApplicationsState.Callbacks;
import com.android.settings.applications.ApplicationsState.Session;
+import com.android.settings.applications.PermissionsInfo.Callback;
import java.util.ArrayList;
import java.util.List;
public class AdvancedAppSettings extends SettingsPreferenceFragment implements Callbacks,
- DialogInterface.OnClickListener, DialogInterface.OnDismissListener {
+ DialogInterface.OnClickListener, DialogInterface.OnDismissListener, Callback {
static final String TAG = "AdvancedAppSettings";
static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
+ private static final String KEY_APP_PERM = "manage_perms";
private static final String KEY_ALL_APPS = "all_apps";
private static final String KEY_RESET_ALL = "reset_all";
private static final String EXTRA_RESET_DIALOG = "resetDialog";
private ApplicationsState mApplicationsState;
private Session mSession;
+ private Preference mAppPerms;
private Preference mAllApps;
private Preference mResetAll;
@@ -75,6 +81,7 @@ public class AdvancedAppSettings extends SettingsPreferenceFragment implements C
private NetworkPolicyManager mNpm;
private AppOpsManager mAom;
private Handler mHandler;
+ private PermissionsInfo mPermissionsInfo;
@Override
public void onCreate(Bundle icicle) {
@@ -84,6 +91,7 @@ public class AdvancedAppSettings extends SettingsPreferenceFragment implements C
mApplicationsState = ApplicationsState.getInstance(getActivity().getApplication());
mSession = mApplicationsState.newSession(this);
+ mAppPerms = findPreference(KEY_APP_PERM);
mAllApps = findPreference(KEY_ALL_APPS);
mResetAll = findPreference(KEY_RESET_ALL);
mResetAll.setOnPreferenceClickListener(new OnPreferenceClickListener() {
@@ -136,6 +144,7 @@ public class AdvancedAppSettings extends SettingsPreferenceFragment implements C
public void onResume() {
super.onResume();
mActivityResumed = true;
+ mPermissionsInfo = new PermissionsInfo(getActivity(), this);
}
@Override
@@ -265,4 +274,11 @@ public class AdvancedAppSettings extends SettingsPreferenceFragment implements C
// No-op.
}
+ @Override
+ public void onPermissionLoadComplete() {
+ mAppPerms.setSummary(getActivity().getString(R.string.app_permissions_summary,
+ mPermissionsInfo.getRuntimePermAppsGrantedCount(),
+ mPermissionsInfo.getRuntimePermAppsCount()));
+ }
+
}