Merge "Fix flash notification preview not working for second user issue" into main
diff --git a/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceController.java b/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceController.java
index f137584..ae1adfa 100644
--- a/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceController.java
+++ b/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceController.java
@@ -28,6 +28,7 @@
 import android.net.Uri;
 import android.os.Handler;
 import android.os.Looper;
+import android.os.UserHandle;
 import android.provider.Settings;
 
 import androidx.annotation.NonNull;
@@ -81,7 +82,7 @@
         if (getPreferenceKey().equals(preference.getKey())) {
             Intent intent = new Intent(ACTION_FLASH_NOTIFICATION_START_PREVIEW);
             intent.putExtra(EXTRA_FLASH_NOTIFICATION_PREVIEW_TYPE, TYPE_SHORT_PREVIEW);
-            mContext.sendBroadcast(intent);
+            mContext.sendBroadcastAsUser(intent, UserHandle.SYSTEM);
             return true;
         }
 
diff --git a/src/com/android/settings/accessibility/ScreenFlashNotificationColorDialogFragment.java b/src/com/android/settings/accessibility/ScreenFlashNotificationColorDialogFragment.java
index 9683966..ca77f16 100644
--- a/src/com/android/settings/accessibility/ScreenFlashNotificationColorDialogFragment.java
+++ b/src/com/android/settings/accessibility/ScreenFlashNotificationColorDialogFragment.java
@@ -27,6 +27,7 @@
 import android.content.Intent;
 import android.graphics.Color;
 import android.os.Bundle;
+import android.os.UserHandle;
 import android.view.View;
 
 import androidx.annotation.ColorInt;
@@ -41,6 +42,7 @@
 import java.util.TimerTask;
 import java.util.function.Consumer;
 
+
 /**
  * DialogFragment for Screen flash notification color picker.
  */
@@ -166,14 +168,14 @@
         Intent intent = new Intent(ACTION_FLASH_NOTIFICATION_START_PREVIEW);
         intent.putExtra(EXTRA_FLASH_NOTIFICATION_PREVIEW_TYPE, TYPE_LONG_PREVIEW);
         intent.putExtra(EXTRA_FLASH_NOTIFICATION_PREVIEW_COLOR, mCurrentColor);
-        getContext().sendBroadcast(intent);
+        getContext().sendBroadcastAsUser(intent, UserHandle.SYSTEM);
     }
 
     private void stopPreviewLocked() {
         if (getContext() == null) return;
 
         Intent stopIntent = new Intent(ACTION_FLASH_NOTIFICATION_STOP_PREVIEW);
-        getContext().sendBroadcast(stopIntent);
+        getContext().sendBroadcastAsUser(stopIntent, UserHandle.SYSTEM);
         mIsPreview = false;
     }
 
diff --git a/tests/robotests/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceControllerTest.java
index 98da926..0f32f31 100644
--- a/tests/robotests/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceControllerTest.java
@@ -131,7 +131,7 @@
     @Test
     public void testHandlePreferenceTreeClick_invalidPreference() {
         mController.handlePreferenceTreeClick(mock(Preference.class));
-        verify(mContext, never()).sendBroadcast(any());
+        verify(mContext, never()).sendBroadcastAsUser(any(), any());
     }
 
     @Test
@@ -139,7 +139,7 @@
         mController.handlePreferenceTreeClick(mPreference);
 
         ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
-        verify(mContext).sendBroadcast(captor.capture());
+        verify(mContext).sendBroadcastAsUser(captor.capture(), any());
         Intent captured = captor.getValue();
 
         assertThat(captured.getAction()).isEqualTo(ACTION_FLASH_NOTIFICATION_START_PREVIEW);
@@ -150,7 +150,7 @@
         mController.handlePreferenceTreeClick(mPreference);
 
         ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
-        verify(mContext).sendBroadcast(captor.capture());
+        verify(mContext).sendBroadcastAsUser(captor.capture(), any());
         Intent captured = captor.getValue();
 
         assertThat(captured.getIntExtra(EXTRA_FLASH_NOTIFICATION_PREVIEW_TYPE, TYPE_LONG_PREVIEW))