Loading src/com/android/settings/applications/manageapplications/ResetAppsHelper.java +31 −18 Original line number Diff line number Diff line Loading @@ -32,6 +32,8 @@ import android.os.Bundle; import android.os.RemoteException; import android.os.ServiceManager; import android.os.UserHandle; import android.os.UserManager; import android.util.Log; import androidx.appcompat.app.AlertDialog; Loading @@ -44,6 +46,7 @@ public class ResetAppsHelper implements DialogInterface.OnClickListener, DialogInterface.OnDismissListener { private static final String EXTRA_RESET_DIALOG = "resetDialog"; private static final String TAG = "ResetAppsHelper"; private final PackageManager mPm; private final IPackageManager mIPm; Loading @@ -51,6 +54,7 @@ public class ResetAppsHelper implements DialogInterface.OnClickListener, private final NetworkPolicyManager mNpm; private final AppOpsManager mAom; private final Context mContext; private final UserManager mUm; private AlertDialog mResetDialog; Loading @@ -62,6 +66,7 @@ public class ResetAppsHelper implements DialogInterface.OnClickListener, ServiceManager.getService(Context.NOTIFICATION_SERVICE)); mNpm = NetworkPolicyManager.from(context); mAom = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE); mUm = (UserManager) context.getSystemService(Context.USER_SERVICE); } public void onRestoreInstanceState(Bundle savedInstanceState) { Loading Loading @@ -110,12 +115,13 @@ public class ResetAppsHelper implements DialogInterface.OnClickListener, AsyncTask.execute(new Runnable() { @Override public void run() { final List<ApplicationInfo> apps = mPm.getInstalledApplications( PackageManager.GET_DISABLED_COMPONENTS); final List<String> allowList = Arrays.asList( mContext.getResources().getStringArray( R.array.config_skip_reset_apps_package_name)); for (UserHandle userHandle : mUm.getEnabledProfiles()) { final int userId = userHandle.getIdentifier(); final List<ApplicationInfo> apps = mPm.getInstalledApplicationsAsUser( PackageManager.GET_DISABLED_COMPONENTS, userId); for (int i = 0; i < apps.size(); i++) { ApplicationInfo app = apps.get(i); if (allowList.contains(app.packageName)) { Loading @@ -126,11 +132,18 @@ public class ResetAppsHelper implements DialogInterface.OnClickListener, } catch (android.os.RemoteException ex) { } if (!app.enabled) { if (mPm.getApplicationEnabledSetting(app.packageName) try { if (mIPm.getApplicationEnabledSetting(app.packageName, userId) == PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER) { mPm.setApplicationEnabledSetting(app.packageName, mIPm.setApplicationEnabledSetting(app.packageName, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, PackageManager.DONT_KILL_APP); PackageManager.DONT_KILL_APP, userId, mContext.getPackageName()); } } catch (RemoteException e) { Log.e(TAG, "Error during reset disabled apps.", e); } } } } Loading Loading
src/com/android/settings/applications/manageapplications/ResetAppsHelper.java +31 −18 Original line number Diff line number Diff line Loading @@ -32,6 +32,8 @@ import android.os.Bundle; import android.os.RemoteException; import android.os.ServiceManager; import android.os.UserHandle; import android.os.UserManager; import android.util.Log; import androidx.appcompat.app.AlertDialog; Loading @@ -44,6 +46,7 @@ public class ResetAppsHelper implements DialogInterface.OnClickListener, DialogInterface.OnDismissListener { private static final String EXTRA_RESET_DIALOG = "resetDialog"; private static final String TAG = "ResetAppsHelper"; private final PackageManager mPm; private final IPackageManager mIPm; Loading @@ -51,6 +54,7 @@ public class ResetAppsHelper implements DialogInterface.OnClickListener, private final NetworkPolicyManager mNpm; private final AppOpsManager mAom; private final Context mContext; private final UserManager mUm; private AlertDialog mResetDialog; Loading @@ -62,6 +66,7 @@ public class ResetAppsHelper implements DialogInterface.OnClickListener, ServiceManager.getService(Context.NOTIFICATION_SERVICE)); mNpm = NetworkPolicyManager.from(context); mAom = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE); mUm = (UserManager) context.getSystemService(Context.USER_SERVICE); } public void onRestoreInstanceState(Bundle savedInstanceState) { Loading Loading @@ -110,12 +115,13 @@ public class ResetAppsHelper implements DialogInterface.OnClickListener, AsyncTask.execute(new Runnable() { @Override public void run() { final List<ApplicationInfo> apps = mPm.getInstalledApplications( PackageManager.GET_DISABLED_COMPONENTS); final List<String> allowList = Arrays.asList( mContext.getResources().getStringArray( R.array.config_skip_reset_apps_package_name)); for (UserHandle userHandle : mUm.getEnabledProfiles()) { final int userId = userHandle.getIdentifier(); final List<ApplicationInfo> apps = mPm.getInstalledApplicationsAsUser( PackageManager.GET_DISABLED_COMPONENTS, userId); for (int i = 0; i < apps.size(); i++) { ApplicationInfo app = apps.get(i); if (allowList.contains(app.packageName)) { Loading @@ -126,11 +132,18 @@ public class ResetAppsHelper implements DialogInterface.OnClickListener, } catch (android.os.RemoteException ex) { } if (!app.enabled) { if (mPm.getApplicationEnabledSetting(app.packageName) try { if (mIPm.getApplicationEnabledSetting(app.packageName, userId) == PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER) { mPm.setApplicationEnabledSetting(app.packageName, mIPm.setApplicationEnabledSetting(app.packageName, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, PackageManager.DONT_KILL_APP); PackageManager.DONT_KILL_APP, userId, mContext.getPackageName()); } } catch (RemoteException e) { Log.e(TAG, "Error during reset disabled apps.", e); } } } } Loading