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

Commit e7b91d59 authored by Ching-Sung Li's avatar Ching-Sung Li Committed by Ching Sung Li
Browse files

Delay setting night mode to show ripple animation

Bug: 183944309
Test: Manual
Change-Id: I7a5df8d12b35316b7d0711b99426cde25c7a1430
parent f05aec65
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -25,6 +25,8 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Handler;
import android.os.Looper;
import android.os.PowerManager;
import android.text.TextUtils;
import android.view.LayoutInflater;
@@ -124,7 +126,10 @@ public class DarkModeSectionController implements
            return;
        }
        UiModeManager uiModeManager = context.getSystemService(UiModeManager.class);
        uiModeManager.setNightModeActivated(viewActivated);
        int shortDelay = context.getResources().getInteger(android.R.integer.config_shortAnimTime);
        new Handler(Looper.getMainLooper()).postDelayed(
                () -> uiModeManager.setNightModeActivated(viewActivated),
                /* delayMillis= */ shortDelay);
    }

    private class BatterySaverStateReceiver extends BroadcastReceiver {
+1 −2
Original line number Diff line number Diff line
@@ -45,8 +45,7 @@ public final class DarkModeSectionView extends SectionView {
        switchView.setOnCheckedChangeListener((buttonView, isChecked) ->
                switchView.setChecked(mIsDarkModeActivated)
        );
        setOnClickListener(
                view -> switchView.postDelayed(() -> modeToggleClicked(), /* delayMillis= */ 100));
        setOnClickListener(view -> modeToggleClicked());
    }

    private void modeToggleClicked() {