Add whitelist in ResetAppsHelper

Add "com.android.systemui" into the whitelist and skip the clear data.

Fixes: 137037930
Test: manual test
Change-Id: Ie2f527309f9159babe79636a69ff13fe3ceb64d9
This commit is contained in:
Sunny Shao
2019-07-12 13:41:06 +08:00
parent c9e680edac
commit b54d2f90f2
2 changed files with 14 additions and 1 deletions

View File

@@ -417,4 +417,9 @@
<!-- "Show work policy info" intent action. TODO(b/134391103): Replace with final SystemAPI intent when it's available. -->
<string name="config_work_policy_info_intent_action" translatable="false"/>
<!-- Reset application package name -->
<string-array name="config_reset_app_package_name" translatable="false">
<item>com.android.systemui</item>
</string-array>
</resources>

View File

@@ -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<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_reset_app_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) {