From 74ded43527926d427ab7903e9e30ad458c646e4b Mon Sep 17 00:00:00 2001 From: Sunny Shao Date: Fri, 12 Jul 2019 13:41:06 +0800 Subject: [PATCH] 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) --- res/values/config.xml | 7 +++++++ .../manageapplications/ResetAppsHelper.java | 10 +++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/res/values/config.xml b/res/values/config.xml index b3eceb3c732..0f03c23eecd 100755 --- a/res/values/config.xml +++ b/res/values/config.xml @@ -424,4 +424,11 @@ + + + android + com.android.providers.downloads + com.android.systemui + com.android.vending + diff --git a/src/com/android/settings/applications/manageapplications/ResetAppsHelper.java b/src/com/android/settings/applications/manageapplications/ResetAppsHelper.java index 92c0958c640..270a5c806f2 100644 --- a/src/com/android/settings/applications/manageapplications/ResetAppsHelper.java +++ b/src/com/android/settings/applications/manageapplications/ResetAppsHelper.java @@ -37,6 +37,7 @@ import androidx.appcompat.app.AlertDialog; import com.android.settings.R; +import java.util.Arrays; import java.util.List; public class ResetAppsHelper implements DialogInterface.OnClickListener, @@ -109,10 +110,17 @@ public class ResetAppsHelper implements DialogInterface.OnClickListener, AsyncTask.execute(new Runnable() { @Override public void run() { - List apps = mPm.getInstalledApplications( + final List apps = mPm.getInstalledApplications( PackageManager.GET_DISABLED_COMPONENTS); + final List 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) {