diff options
| author | 2023-03-20 21:38:12 +0000 | |
|---|---|---|
| committer | 2023-03-20 21:38:12 +0000 | |
| commit | 87c8b76d89ea61ff1f5e7dd662496e7d433a9e2b (patch) | |
| tree | 0335545a595a56bade416650a06755b0a9c7b68b | |
| parent | 2256c42e14046c943643748c7b05b616249f4c01 (diff) | |
| parent | b1a1dc4d3a7b26e6065db032b4d8ae1c633fe2aa (diff) | |
Merge "Use DreamManager to get initial state." into tm-qpr-dev am: b1a1dc4d3a
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/22129027
Change-Id: If86d1439477b554a8d600ddaec006c067a3bada9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/dreams/conditions/DreamCondition.java | 10 | ||||
| -rw-r--r-- | packages/SystemUI/tests/src/com/android/systemui/dreams/conditions/DreamConditionTest.java | 33 |
2 files changed, 31 insertions, 12 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/dreams/conditions/DreamCondition.java b/packages/SystemUI/src/com/android/systemui/dreams/conditions/DreamCondition.java index 2befce7065ec..5bbfbda82944 100644 --- a/packages/SystemUI/src/com/android/systemui/dreams/conditions/DreamCondition.java +++ b/packages/SystemUI/src/com/android/systemui/dreams/conditions/DreamCondition.java @@ -15,6 +15,7 @@ */ package com.android.systemui.dreams.conditions; +import android.app.DreamManager; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; @@ -30,6 +31,7 @@ import javax.inject.Inject; */ public class DreamCondition extends Condition { private final Context mContext; + private final DreamManager mDreamManager; private final BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override @@ -39,8 +41,10 @@ public class DreamCondition extends Condition { }; @Inject - public DreamCondition(Context context) { + public DreamCondition(Context context, + DreamManager dreamManager) { mContext = context; + mDreamManager = dreamManager; } private void processIntent(Intent intent) { @@ -62,8 +66,8 @@ public class DreamCondition extends Condition { final IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_DREAMING_STARTED); filter.addAction(Intent.ACTION_DREAMING_STOPPED); - final Intent stickyIntent = mContext.registerReceiver(mReceiver, filter); - processIntent(stickyIntent); + mContext.registerReceiver(mReceiver, filter); + updateCondition(mDreamManager.isDreaming()); } @Override diff --git a/packages/SystemUI/tests/src/com/android/systemui/dreams/conditions/DreamConditionTest.java b/packages/SystemUI/tests/src/com/android/systemui/dreams/conditions/DreamConditionTest.java index 19347c768524..58eb7d4f3ea7 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/dreams/conditions/DreamConditionTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/dreams/conditions/DreamConditionTest.java @@ -21,9 +21,11 @@ import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.clearInvocations; +import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import android.app.DreamManager; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; @@ -50,6 +52,9 @@ public class DreamConditionTest extends SysuiTestCase { @Mock Condition.Callback mCallback; + @Mock + DreamManager mDreamManager; + @Before public void setup() { MockitoAnnotations.initMocks(this); @@ -59,29 +64,39 @@ public class DreamConditionTest extends SysuiTestCase { * Ensure a dreaming state immediately triggers the condition. */ @Test - public void testInitialState() { - final Intent intent = new Intent(Intent.ACTION_DREAMING_STARTED); - when(mContext.registerReceiver(any(), any())).thenReturn(intent); - final DreamCondition condition = new DreamCondition(mContext); + public void testInitialDreamingState() { + when(mDreamManager.isDreaming()).thenReturn(true); + final DreamCondition condition = new DreamCondition(mContext, mDreamManager); condition.addCallback(mCallback); - condition.start(); verify(mCallback).onConditionChanged(eq(condition)); assertThat(condition.isConditionMet()).isTrue(); } /** + * Ensure a non-dreaming state does not trigger the condition. + */ + @Test + public void testInitialNonDreamingState() { + when(mDreamManager.isDreaming()).thenReturn(false); + final DreamCondition condition = new DreamCondition(mContext, mDreamManager); + condition.addCallback(mCallback); + + verify(mCallback, never()).onConditionChanged(eq(condition)); + assertThat(condition.isConditionMet()).isFalse(); + } + + /** * Ensure that changing dream state triggers condition. */ @Test public void testChange() { - final Intent intent = new Intent(Intent.ACTION_DREAMING_STARTED); final ArgumentCaptor<BroadcastReceiver> receiverCaptor = ArgumentCaptor.forClass(BroadcastReceiver.class); - when(mContext.registerReceiver(receiverCaptor.capture(), any())).thenReturn(intent); - final DreamCondition condition = new DreamCondition(mContext); + when(mDreamManager.isDreaming()).thenReturn(true); + final DreamCondition condition = new DreamCondition(mContext, mDreamManager); condition.addCallback(mCallback); - condition.start(); + verify(mContext).registerReceiver(receiverCaptor.capture(), any()); clearInvocations(mCallback); receiverCaptor.getValue().onReceive(mContext, new Intent(Intent.ACTION_DREAMING_STOPPED)); verify(mCallback).onConditionChanged(eq(condition)); |