summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/applications/AdvancedAppSettings.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/settings/applications/AdvancedAppSettings.java')
-rw-r--r--src/com/android/settings/applications/AdvancedAppSettings.java164
1 files changed, 2 insertions, 162 deletions
diff --git a/src/com/android/settings/applications/AdvancedAppSettings.java b/src/com/android/settings/applications/AdvancedAppSettings.java
index 2c6efa6..ee47c68 100644
--- a/src/com/android/settings/applications/AdvancedAppSettings.java
+++ b/src/com/android/settings/applications/AdvancedAppSettings.java
@@ -15,33 +15,13 @@
*/
package com.android.settings.applications;
-import static android.net.NetworkPolicyManager.POLICY_NONE;
-import static android.net.NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND;
-
import android.app.Activity;
-import android.app.ActivityManager;
-import android.app.AlertDialog;
-import android.app.AppOpsManager;
-import android.app.INotificationManager;
import android.content.Context;
-import android.content.DialogInterface;
import android.content.pm.ApplicationInfo;
-import android.content.pm.IPackageManager;
-import android.content.pm.PackageManager;
-import android.net.NetworkPolicyManager;
-import android.os.AsyncTask;
import android.os.Bundle;
-import android.os.Handler;
-import android.os.RemoteException;
-import android.os.ServiceManager;
-import android.os.UserHandle;
import android.preference.Preference;
-import android.preference.Preference.OnPreferenceClickListener;
import android.provider.SearchIndexableResource;
import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
import com.android.internal.logging.MetricsLogger;
import com.android.settings.R;
@@ -56,35 +36,20 @@ import com.android.settings.search.Indexable;
import java.util.ArrayList;
import java.util.List;
-public class AdvancedAppSettings extends SettingsPreferenceFragment implements Callbacks,
- DialogInterface.OnClickListener, DialogInterface.OnDismissListener, Callback, Indexable {
+public class AdvancedAppSettings extends SettingsPreferenceFragment implements Callbacks, Callback,
+ Indexable {
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_APP_DOMAIN_URLS = "domain_urls";
- private static final String KEY_RESET_ALL = "reset_all";
private static final String KEY_DEFAULT_EMERGENCY_APP = "default_emergency_app";
- private static final String EXTRA_RESET_DIALOG = "resetDialog";
private ApplicationsState mApplicationsState;
private Session mSession;
private Preference mAppPermsPreference;
private Preference mAppDomainURLsPreference;
- private Preference mAllAppsPreference;
- private Preference mResetAllPreference;
-
- AlertDialog mResetDialog;
-
- private boolean mActivityResumed;
- private PackageManager mPm;
- private IPackageManager mIPm;
- private INotificationManager mNm;
- private NetworkPolicyManager mNpm;
- private AppOpsManager mAom;
- private Handler mHandler;
private PermissionsInfo mPermissionsInfo;
@Override
@@ -97,25 +62,8 @@ public class AdvancedAppSettings extends SettingsPreferenceFragment implements C
mAppPermsPreference = findPreference(KEY_APP_PERM);
mAppDomainURLsPreference = findPreference(KEY_APP_DOMAIN_URLS);
- mAllAppsPreference = findPreference(KEY_ALL_APPS);
- mResetAllPreference = findPreference(KEY_RESET_ALL);
- mResetAllPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
- @Override
- public boolean onPreferenceClick(Preference preference) {
- buildResetDialog();
- return true;
- }
- });
updateUI();
- mPm = getActivity().getPackageManager();
- mIPm = IPackageManager.Stub.asInterface(ServiceManager.getService("package"));
- mNm = INotificationManager.Stub.asInterface(
- ServiceManager.getService(Context.NOTIFICATION_SERVICE));
- mNpm = NetworkPolicyManager.from(getActivity());
- mAom = (AppOpsManager)getActivity().getSystemService(Context.APP_OPS_SERVICE);
- mHandler = new Handler(getActivity().getMainLooper());
-
if (!DefaultEmergencyPreference.isAvailable(getActivity())) {
removePreference(KEY_DEFAULT_EMERGENCY_APP);
}
@@ -123,7 +71,6 @@ public class AdvancedAppSettings extends SettingsPreferenceFragment implements C
private void updateUI() {
ArrayList<AppEntry> allApps = mSession.getAllApps();
- mAllAppsPreference.setSummary(getString(R.string.all_apps_summary, allApps.size()));
int countAppWithDomainURLs = 0;
for (AppEntry entry : allApps) {
@@ -137,25 +84,6 @@ public class AdvancedAppSettings extends SettingsPreferenceFragment implements C
}
@Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- if (savedInstanceState != null && savedInstanceState.getBoolean(EXTRA_RESET_DIALOG)) {
- buildResetDialog();
- }
-
- return super.onCreateView(inflater, container, savedInstanceState);
- }
-
- @Override
- public void onStop() {
- super.onStop();
- if (mResetDialog != null) {
- mResetDialog.dismiss();
- mResetDialog = null;
- }
- }
-
- @Override
protected int getMetricsCategory() {
return MetricsLogger.APPLICATIONS_ADVANCED;
}
@@ -163,98 +91,10 @@ public class AdvancedAppSettings extends SettingsPreferenceFragment implements C
@Override
public void onResume() {
super.onResume();
- mActivityResumed = true;
mPermissionsInfo = new PermissionsInfo(getActivity(), this);
}
@Override
- public void onPause() {
- mActivityResumed = false;
- super.onPause();
- }
-
- @Override
- public void onSaveInstanceState(Bundle outState) {
- super.onSaveInstanceState(outState);
- if (mResetDialog != null) {
- outState.putBoolean(EXTRA_RESET_DIALOG, true);
- }
- }
-
- void buildResetDialog() {
- if (mResetDialog == null) {
- AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
- builder.setTitle(R.string.reset_app_preferences_title);
- builder.setMessage(R.string.reset_app_preferences_desc);
- builder.setPositiveButton(R.string.reset_app_preferences_button, this);
- builder.setNegativeButton(R.string.cancel, null);
- mResetDialog = builder.show();
- mResetDialog.setOnDismissListener(this);
- }
- }
-
- @Override
- public void onDismiss(DialogInterface dialog) {
- if (mResetDialog == dialog) {
- mResetDialog = null;
- }
- }
-
- @Override
- public void onClick(DialogInterface dialog, int which) {
- if (mResetDialog == dialog) {
- (new AsyncTask<Void, Void, Void>() {
- @Override protected Void doInBackground(Void... params) {
- List<ApplicationInfo> apps = mPm.getInstalledApplications(
- PackageManager.GET_DISABLED_COMPONENTS);
- for (int i=0; i<apps.size(); i++) {
- ApplicationInfo app = apps.get(i);
- try {
- if (DEBUG) Log.v(TAG, "Enabling notifications: " + app.packageName);
- mNm.setNotificationsEnabledForPackage(app.packageName, app.uid, true);
- } catch (android.os.RemoteException ex) {
- }
- if (!app.enabled) {
- if (DEBUG) Log.v(TAG, "Enabling app: " + app.packageName);
- if (mPm.getApplicationEnabledSetting(app.packageName)
- == PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER) {
- mPm.setApplicationEnabledSetting(app.packageName,
- PackageManager.COMPONENT_ENABLED_STATE_DEFAULT,
- PackageManager.DONT_KILL_APP);
- }
- }
- }
- try {
- mIPm.resetPreferredActivities(UserHandle.myUserId());
- } catch (RemoteException e) {
- }
- mAom.resetAllModes();
- final int[] restrictedUids = mNpm.getUidsWithPolicy(
- POLICY_REJECT_METERED_BACKGROUND);
- final int currentUserId = ActivityManager.getCurrentUser();
- for (int uid : restrictedUids) {
- // Only reset for current user
- if (UserHandle.getUserId(uid) == currentUserId) {
- if (DEBUG) Log.v(TAG, "Clearing data policy: " + uid);
- mNpm.setUidPolicy(uid, POLICY_NONE);
- }
- }
- mHandler.post(new Runnable() {
- @Override public void run() {
- if (DEBUG) Log.v(TAG, "Done clearing");
- if (getActivity() != null && mActivityResumed) {
- if (DEBUG) Log.v(TAG, "Updating UI!");
-
- }
- }
- });
- return null;
- }
- }).execute();
- }
- }
-
- @Override
public void onRunningStateChanged(boolean running) {
// No-op.
}