Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b54d2f90 authored by Sunny Shao's avatar Sunny Shao
Browse files

Add whitelist in ResetAppsHelper

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

Fixes: 137037930
Test: manual test
Change-Id: Ie2f527309f9159babe79636a69ff13fe3ceb64d9
parent c9e680ed
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -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>
+9 −1
Original line number Diff line number Diff line
@@ -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) {