Add whitelist in ResetAppsHelper
- Add "com.android.systemui" and "com.android.vending" into the whitelist.
- Add "com.android.providers.downloads" and "android" into the whitelist.
- Do not data clear in the whitelist.
Fixes: 147124412
Test: manual test
Change-Id: Ie2f527309f9159babe79636a69ff13fe3ceb64d9
Merged-In: Ie2f527309f9159babe79636a69ff13fe3ceb64d9
(cherry picked from commit b54d2f90f2674e73e397b3ac4578a39739b4d94b)
diff --git a/res/values/config.xml b/res/values/config.xml
index b3eceb3..0f03c23 100755
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -424,4 +424,11 @@
<!-- Package name of dialer supports RTT setting-->
<string name="config_rtt_setting_package_name" translatable="false"></string>
+ <!-- Reset application package name -->
+ <string-array name="config_skip_reset_apps_package_name" translatable="false">
+ <item>android</item>
+ <item>com.android.providers.downloads</item>
+ <item>com.android.systemui</item>
+ <item>com.android.vending</item>
+ </string-array>
</resources>
diff --git a/src/com/android/settings/applications/manageapplications/ResetAppsHelper.java b/src/com/android/settings/applications/manageapplications/ResetAppsHelper.java
index 92c0958..270a5c8 100644
--- a/src/com/android/settings/applications/manageapplications/ResetAppsHelper.java
+++ b/src/com/android/settings/applications/manageapplications/ResetAppsHelper.java
@@ -37,6 +37,7 @@
import com.android.settings.R;
+import java.util.Arrays;
import java.util.List;
public class ResetAppsHelper implements DialogInterface.OnClickListener,
@@ -109,10 +110,17 @@
AsyncTask.execute(new Runnable() {
@Override
public void run() {
- List<ApplicationInfo> apps = mPm.getInstalledApplications(
+ final List<ApplicationInfo> apps = mPm.getInstalledApplications(
PackageManager.GET_DISABLED_COMPONENTS);
+ final List<String> whiteList = Arrays.asList(
+ mContext.getResources().getStringArray(
+ R.array.config_skip_reset_apps_package_name));
+
for (int i = 0; i < apps.size(); i++) {
ApplicationInfo app = apps.get(i);
+ if (whiteList.contains(app.packageName)) {
+ continue;
+ }
try {
mNm.clearData(app.packageName, app.uid, false);
} catch (android.os.RemoteException ex) {