diff --git a/res/values/config.xml b/res/values/config.xml
index 147a73e75bd..4df84acfce8 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) {