Merge "Fix flash notification preview not working for second user issue" into main
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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))
|
||||||
|
Reference in New Issue
Block a user