Delay setting night mode to show ripple animation

Bug: 183944309
Test: Manual
Change-Id: I7a5df8d12b35316b7d0711b99426cde25c7a1430
diff --git a/src/com/android/customization/model/mode/DarkModeSectionController.java b/src/com/android/customization/model/mode/DarkModeSectionController.java
index de63983..382162e 100644
--- a/src/com/android/customization/model/mode/DarkModeSectionController.java
+++ b/src/com/android/customization/model/mode/DarkModeSectionController.java
@@ -25,6 +25,8 @@
 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 @@
             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 {
diff --git a/src/com/android/customization/picker/mode/DarkModeSectionView.java b/src/com/android/customization/picker/mode/DarkModeSectionView.java
index 64b4622..6fc0a57 100644
--- a/src/com/android/customization/picker/mode/DarkModeSectionView.java
+++ b/src/com/android/customization/picker/mode/DarkModeSectionView.java
@@ -45,8 +45,7 @@
         switchView.setOnCheckedChangeListener((buttonView, isChecked) ->
                 switchView.setChecked(mIsDarkModeActivated)
         );
-        setOnClickListener(
-                view -> switchView.postDelayed(() -> modeToggleClicked(), /* delayMillis= */ 100));
+        setOnClickListener(view -> modeToggleClicked());
     }
 
     private void modeToggleClicked() {