Merge "Fix flash notification preview not working for second user issue" into main

This commit is contained in:
Angela Wang
2023-08-19 08:38:38 +00:00
committed by Android (Google) Code Review
3 changed files with 9 additions and 6 deletions

View File

@@ -28,6 +28,7 @@ import android.database.ContentObserver;
import android.net.Uri; import android.net.Uri;
import android.os.Handler; import android.os.Handler;
import android.os.Looper; import android.os.Looper;
import android.os.UserHandle;
import android.provider.Settings; import android.provider.Settings;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
@@ -81,7 +82,7 @@ public class FlashNotificationsPreviewPreferenceController extends
if (getPreferenceKey().equals(preference.getKey())) { if (getPreferenceKey().equals(preference.getKey())) {
Intent intent = new Intent(ACTION_FLASH_NOTIFICATION_START_PREVIEW); Intent intent = new Intent(ACTION_FLASH_NOTIFICATION_START_PREVIEW);
intent.putExtra(EXTRA_FLASH_NOTIFICATION_PREVIEW_TYPE, TYPE_SHORT_PREVIEW); intent.putExtra(EXTRA_FLASH_NOTIFICATION_PREVIEW_TYPE, TYPE_SHORT_PREVIEW);
mContext.sendBroadcast(intent); mContext.sendBroadcastAsUser(intent, UserHandle.SYSTEM);
return true; return true;
} }

View File

@@ -27,6 +27,7 @@ import android.app.Dialog;
import android.content.Intent; import android.content.Intent;
import android.graphics.Color; import android.graphics.Color;
import android.os.Bundle; import android.os.Bundle;
import android.os.UserHandle;
import android.view.View; import android.view.View;
import androidx.annotation.ColorInt; import androidx.annotation.ColorInt;
@@ -41,6 +42,7 @@ import java.util.Timer;
import java.util.TimerTask; import java.util.TimerTask;
import java.util.function.Consumer; import java.util.function.Consumer;
/** /**
* DialogFragment for Screen flash notification color picker. * DialogFragment for Screen flash notification color picker.
*/ */
@@ -166,14 +168,14 @@ public class ScreenFlashNotificationColorDialogFragment extends DialogFragment i
Intent intent = new Intent(ACTION_FLASH_NOTIFICATION_START_PREVIEW); 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_TYPE, TYPE_LONG_PREVIEW);
intent.putExtra(EXTRA_FLASH_NOTIFICATION_PREVIEW_COLOR, mCurrentColor); intent.putExtra(EXTRA_FLASH_NOTIFICATION_PREVIEW_COLOR, mCurrentColor);
getContext().sendBroadcast(intent); getContext().sendBroadcastAsUser(intent, UserHandle.SYSTEM);
} }
private void stopPreviewLocked() { private void stopPreviewLocked() {
if (getContext() == null) return; if (getContext() == null) return;
Intent stopIntent = new Intent(ACTION_FLASH_NOTIFICATION_STOP_PREVIEW); Intent stopIntent = new Intent(ACTION_FLASH_NOTIFICATION_STOP_PREVIEW);
getContext().sendBroadcast(stopIntent); getContext().sendBroadcastAsUser(stopIntent, UserHandle.SYSTEM);
mIsPreview = false; mIsPreview = false;
} }

View File

@@ -131,7 +131,7 @@ public class FlashNotificationsPreviewPreferenceControllerTest {
@Test @Test
public void testHandlePreferenceTreeClick_invalidPreference() { public void testHandlePreferenceTreeClick_invalidPreference() {
mController.handlePreferenceTreeClick(mock(Preference.class)); mController.handlePreferenceTreeClick(mock(Preference.class));
verify(mContext, never()).sendBroadcast(any()); verify(mContext, never()).sendBroadcastAsUser(any(), any());
} }
@Test @Test
@@ -139,7 +139,7 @@ public class FlashNotificationsPreviewPreferenceControllerTest {
mController.handlePreferenceTreeClick(mPreference); mController.handlePreferenceTreeClick(mPreference);
ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class); ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
verify(mContext).sendBroadcast(captor.capture()); verify(mContext).sendBroadcastAsUser(captor.capture(), any());
Intent captured = captor.getValue(); Intent captured = captor.getValue();
assertThat(captured.getAction()).isEqualTo(ACTION_FLASH_NOTIFICATION_START_PREVIEW); assertThat(captured.getAction()).isEqualTo(ACTION_FLASH_NOTIFICATION_START_PREVIEW);
@@ -150,7 +150,7 @@ public class FlashNotificationsPreviewPreferenceControllerTest {
mController.handlePreferenceTreeClick(mPreference); mController.handlePreferenceTreeClick(mPreference);
ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class); ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
verify(mContext).sendBroadcast(captor.capture()); verify(mContext).sendBroadcastAsUser(captor.capture(), any());
Intent captured = captor.getValue(); Intent captured = captor.getValue();
assertThat(captured.getIntExtra(EXTRA_FLASH_NOTIFICATION_PREVIEW_TYPE, TYPE_LONG_PREVIEW)) assertThat(captured.getIntExtra(EXTRA_FLASH_NOTIFICATION_PREVIEW_TYPE, TYPE_LONG_PREVIEW))