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

Commit 98b2c219 authored by Jay Aliomer's avatar Jay Aliomer
Browse files

When change user, update configuration

Config now relies on too many variables and should be processed not only
when mNightMode changes
Unable to write unit test for the ActivityTaskManager. will refactor and
add tests later

Fixes: 224702828
Test: follow steps in the bug
Change-Id: I694f38d0b5d7cb5a2bea5478e970ca5f868658be
parent 781829d9
Loading
Loading
Loading
Loading
+6 −13
Original line number Diff line number Diff line
@@ -362,13 +362,11 @@ final class UiModeManagerService extends SystemService {
        getContext().getContentResolver().unregisterContentObserver(mSetupWizardObserver);
        verifySetupWizardCompleted();
        synchronized (mLock) {
            // only update if the value is actually changed
            if (updateNightModeFromSettingsLocked(getContext(), getContext().getResources(),
                    to.getUserIdentifier())) {
            updateNightModeFromSettingsLocked(getContext(), getContext().getResources(),
                    to.getUserIdentifier());
            updateLocked(0, 0);
        }
    }
    }

    @Override
    public void onBootPhase(int phase) {
@@ -534,19 +532,16 @@ final class UiModeManagerService extends SystemService {
    }

    /**
     * Updates the night mode setting in Settings.Secure and returns if the value was successfully
     * changed.
     * Updates the night mode setting in Settings.Secure
     *
     * @param context A valid context
     * @param res     A valid resource object
     * @param userId  The user to update the setting for
     * @return True if the new value is different from the old value. False otherwise.
     */
    private boolean updateNightModeFromSettingsLocked(Context context, Resources res, int userId) {
    private void updateNightModeFromSettingsLocked(Context context, Resources res, int userId) {
        if (mCarModeEnabled || mCar) {
            return false;
            return;
        }
        int oldNightMode = mNightMode;
        if (mSetupWizardComplete) {
            mNightMode = Secure.getIntForUser(context.getContentResolver(),
                    Secure.UI_NIGHT_MODE, res.getInteger(
@@ -570,8 +565,6 @@ final class UiModeManagerService extends SystemService {
                        Secure.UI_NIGHT_MODE_LAST_COMPUTED, 0, userId) != 0;
            }
        }

        return oldNightMode != mNightMode;
    }

    private static long toMilliSeconds(LocalTime t) {