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

Commit 6bb80b42 authored by Angela Wang's avatar Angela Wang Committed by Android (Google) Code Review
Browse files

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

parents dad495d7 65a9173d
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ import android.database.ContentObserver;
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 @@ public class FlashNotificationsPreviewPreferenceController extends
        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;
        }

+4 −2
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ import android.app.Dialog;
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.Timer;
import java.util.TimerTask;
import java.util.function.Consumer;


/**
 * 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.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;
    }

+3 −3
Original line number Diff line number Diff line
@@ -131,7 +131,7 @@ public class FlashNotificationsPreviewPreferenceControllerTest {
    @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 @@ public class FlashNotificationsPreviewPreferenceControllerTest {
        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 @@ public class FlashNotificationsPreviewPreferenceControllerTest {
        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))