Loading packages/SystemUI/src/com/android/systemui/dreams/conditions/DreamCondition.java +7 −3 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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 Loading @@ -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) { Loading @@ -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 Loading packages/SystemUI/tests/src/com/android/systemui/dreams/conditions/DreamConditionTest.java +24 −9 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -50,6 +52,9 @@ public class DreamConditionTest extends SysuiTestCase { @Mock Condition.Callback mCallback; @Mock DreamManager mDreamManager; @Before public void setup() { MockitoAnnotations.initMocks(this); Loading @@ -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)); Loading Loading
packages/SystemUI/src/com/android/systemui/dreams/conditions/DreamCondition.java +7 −3 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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 Loading @@ -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) { Loading @@ -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 Loading
packages/SystemUI/tests/src/com/android/systemui/dreams/conditions/DreamConditionTest.java +24 −9 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -50,6 +52,9 @@ public class DreamConditionTest extends SysuiTestCase { @Mock Condition.Callback mCallback; @Mock DreamManager mDreamManager; @Before public void setup() { MockitoAnnotations.initMocks(this); Loading @@ -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)); Loading