diff options
author | Jason Monk <jmonk@google.com> | 2015-03-26 08:30:50 -0400 |
---|---|---|
committer | Jason Monk <jmonk@google.com> | 2015-03-30 10:39:29 -0400 |
commit | 2f41aa7955e27a050155765803d3a5ae98782f26 (patch) | |
tree | 98a9e44dc8c33e9ce6df33f1bb833a76ac597c08 /src/com/android/settings/applications/AdvancedAppSettings.java | |
parent | ec5a3373db706778d2bcde6700c270f33bf8f7f1 (diff) | |
download | packages_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.java | 18 |
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())); + } + } |