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

Commit d907a129 authored by Wesley Wang's avatar Wesley Wang
Browse files

Move setup optimization mode to main thread

 - Due to unclear root cause of optimization mode being reset after
   reboot, update the setup logic from deferred background thread to
   main thread, to avoid any possible background task unexecuted case.

Bug: 241735485
Test: make SettingsRoboTests
Change-Id: I2de2181321712f89fadc04bf5000aea91a01485a
Merged-In: I2de2181321712f89fadc04bf5000aea91a01485a
(cherry picked from commit 7423f439)
parent 8ccf48b0
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -301,7 +301,6 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements

            notifyBackupManager();
            logMetricCategory(selectedPreference);
            mBatteryOptimizeUtils.setAppUsageState(selectedPreference);
            Log.d(TAG, "Leave with mode: " + selectedPreference);
        }
    }
@@ -468,6 +467,7 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
        updatePreferenceState(mUnrestrictedPreference, selectedKey);
        updatePreferenceState(mOptimizePreference, selectedKey);
        updatePreferenceState(mRestrictedPreference, selectedKey);
	mBatteryOptimizeUtils.setAppUsageState(getSelectedPreference());
    }

    private void updatePreferenceState(SelectorWithWidgetPreference preference,
+1 −4
Original line number Diff line number Diff line
@@ -24,7 +24,6 @@ import android.content.pm.IPackageManager;
import android.content.pm.PackageManager;
import android.content.pm.ParceledListSlice;
import android.content.pm.UserInfo;
import android.os.AsyncTask;
import android.os.UserHandle;
import android.os.UserManager;
import android.util.ArraySet;
@@ -222,10 +221,8 @@ public class BatteryOptimizeUtils {
                mode == MODE_RESTRICTED ? AppOpsManager.MODE_IGNORED : AppOpsManager.MODE_ALLOWED;
        final boolean allowListed = mode == MODE_UNRESTRICTED;

        AsyncTask.execute(() -> {
        setAppOptimizationModeInternal(appOpsManagerMode, allowListed, uid, packageName,
                    batteryUtils, powerAllowlistBackend);
        });
    }

    private static void setAppOptimizationModeInternal(