summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2022-08-22 14:56:00 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2022-08-22 14:56:00 +0000
commitff869e3f50f1ca7744219260c361aea49e476b7f (patch)
tree685a36bf485f25ca18942f12203bb3a88a3d7676
parentd493ef11750f903668764f114814324a0e202e6d (diff)
parentb528b16c73a55342873b216fc5f738be736bb34e (diff)
Merge "Merge "Hide UMO on dreams behind a feature flag." into tm-qpr-dev am: 945442723f" into tm-qpr-dev-plus-aosp am: b528b16c73
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19628345 Change-Id: Ia87bf944ab64d333062a085385da3602de4dcfd9 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--packages/SystemUI/src/com/android/systemui/flags/Flags.java1
-rw-r--r--packages/SystemUI/src/com/android/systemui/media/dream/MediaDreamSentinel.java14
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/media/dream/MediaDreamSentinelTest.java40
3 files changed, 46 insertions, 9 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/flags/Flags.java b/packages/SystemUI/src/com/android/systemui/flags/Flags.java
index 42e6b02ea432..4b409f5255fb 100644
--- a/packages/SystemUI/src/com/android/systemui/flags/Flags.java
+++ b/packages/SystemUI/src/com/android/systemui/flags/Flags.java
@@ -182,6 +182,7 @@ public class Flags {
public static final UnreleasedFlag MEDIA_SESSION_ACTIONS = new UnreleasedFlag(901);
public static final ReleasedFlag MEDIA_NEARBY_DEVICES = new ReleasedFlag(903);
public static final ReleasedFlag MEDIA_MUTE_AWAIT = new ReleasedFlag(904);
+ public static final UnreleasedFlag MEDIA_DREAM_COMPLICATION = new UnreleasedFlag(905);
// 1000 - dock
public static final ReleasedFlag SIMULATE_DOCK_THROUGH_CHARGING =
diff --git a/packages/SystemUI/src/com/android/systemui/media/dream/MediaDreamSentinel.java b/packages/SystemUI/src/com/android/systemui/media/dream/MediaDreamSentinel.java
index e077fed7805d..c5448713970c 100644
--- a/packages/SystemUI/src/com/android/systemui/media/dream/MediaDreamSentinel.java
+++ b/packages/SystemUI/src/com/android/systemui/media/dream/MediaDreamSentinel.java
@@ -16,6 +16,8 @@
package com.android.systemui.media.dream;
+import static com.android.systemui.flags.Flags.MEDIA_DREAM_COMPLICATION;
+
import android.content.Context;
import androidx.annotation.NonNull;
@@ -23,6 +25,7 @@ import androidx.annotation.Nullable;
import com.android.systemui.CoreStartable;
import com.android.systemui.dreams.DreamOverlayStateController;
+import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.media.MediaData;
import com.android.systemui.media.MediaDataManager;
import com.android.systemui.media.SmartspaceMediaData;
@@ -34,7 +37,7 @@ import javax.inject.Inject;
* the media complication as appropriate
*/
public class MediaDreamSentinel extends CoreStartable {
- private MediaDataManager.Listener mListener = new MediaDataManager.Listener() {
+ private final MediaDataManager.Listener mListener = new MediaDataManager.Listener() {
private boolean mAdded;
@Override
public void onSmartspaceMediaDataRemoved(@NonNull String key, boolean immediately) {
@@ -63,6 +66,10 @@ public class MediaDreamSentinel extends CoreStartable {
public void onMediaDataLoaded(@NonNull String key, @Nullable String oldKey,
@NonNull MediaData data, boolean immediately, int receivedSmartspaceCardLatency,
boolean isSsReactivated) {
+ if (!mFeatureFlags.isEnabled(MEDIA_DREAM_COMPLICATION)) {
+ return;
+ }
+
if (mAdded) {
return;
}
@@ -79,15 +86,18 @@ public class MediaDreamSentinel extends CoreStartable {
private final MediaDataManager mMediaDataManager;
private final DreamOverlayStateController mDreamOverlayStateController;
private final MediaDreamComplication mComplication;
+ private final FeatureFlags mFeatureFlags;
@Inject
public MediaDreamSentinel(Context context, MediaDataManager mediaDataManager,
DreamOverlayStateController dreamOverlayStateController,
- MediaDreamComplication complication) {
+ MediaDreamComplication complication,
+ FeatureFlags featureFlags) {
super(context);
mMediaDataManager = mediaDataManager;
mDreamOverlayStateController = dreamOverlayStateController;
mComplication = complication;
+ mFeatureFlags = featureFlags;
}
@Override
diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/dream/MediaDreamSentinelTest.java b/packages/SystemUI/tests/src/com/android/systemui/media/dream/MediaDreamSentinelTest.java
index 247316a32473..c101b9ffd495 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/media/dream/MediaDreamSentinelTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/media/dream/MediaDreamSentinelTest.java
@@ -16,6 +16,8 @@
package com.android.systemui.media.dream;
+import static com.android.systemui.flags.Flags.MEDIA_DREAM_COMPLICATION;
+
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.never;
@@ -28,6 +30,7 @@ import androidx.test.filters.SmallTest;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.dreams.DreamOverlayStateController;
+import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.media.MediaData;
import com.android.systemui.media.MediaDataManager;
@@ -50,6 +53,9 @@ public class MediaDreamSentinelTest extends SysuiTestCase {
@Mock
MediaDreamComplication mComplication;
+ @Mock
+ FeatureFlags mFeatureFlags;
+
final String mKey = "key";
final String mOldKey = "old_key";
@@ -59,21 +65,18 @@ public class MediaDreamSentinelTest extends SysuiTestCase {
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
+
+ when(mFeatureFlags.isEnabled(MEDIA_DREAM_COMPLICATION)).thenReturn(true);
}
@Test
public void testComplicationAddition() {
final MediaDreamSentinel sentinel = new MediaDreamSentinel(mContext, mMediaDataManager,
- mDreamOverlayStateController, mComplication);
+ mDreamOverlayStateController, mComplication, mFeatureFlags);
sentinel.start();
- ArgumentCaptor<MediaDataManager.Listener> listenerCaptor =
- ArgumentCaptor.forClass(MediaDataManager.Listener.class);
- verify(mMediaDataManager).addListener(listenerCaptor.capture());
-
- final MediaDataManager.Listener listener = listenerCaptor.getValue();
-
+ final MediaDataManager.Listener listener = captureMediaDataListener();
when(mMediaDataManager.hasActiveMedia()).thenReturn(false);
listener.onMediaDataLoaded(mKey, mOldKey, mData, /* immediately= */ true,
/* receivedSmartspaceCardLatency= */ 0, /* isSsReactived= */ false);
@@ -92,4 +95,27 @@ public class MediaDreamSentinelTest extends SysuiTestCase {
verify(mDreamOverlayStateController).removeComplication(eq(mComplication));
}
+ @Test
+ public void testMediaDreamSentinel_mediaComplicationDisabled_doNotAddComplication() {
+ when(mFeatureFlags.isEnabled(MEDIA_DREAM_COMPLICATION)).thenReturn(false);
+
+ final MediaDreamSentinel sentinel = new MediaDreamSentinel(mContext, mMediaDataManager,
+ mDreamOverlayStateController, mComplication, mFeatureFlags);
+
+ sentinel.start();
+
+ final MediaDataManager.Listener listener = captureMediaDataListener();
+ when(mMediaDataManager.hasActiveMedia()).thenReturn(true);
+ listener.onMediaDataLoaded(mKey, mOldKey, mData, /* immediately= */true,
+ /* receivedSmartspaceCardLatency= */0, /* isSsReactived= */ false);
+ verify(mDreamOverlayStateController, never()).addComplication(any());
+ }
+
+ private MediaDataManager.Listener captureMediaDataListener() {
+ final ArgumentCaptor<MediaDataManager.Listener> listenerCaptor =
+ ArgumentCaptor.forClass(MediaDataManager.Listener.class);
+ verify(mMediaDataManager).addListener(listenerCaptor.capture());
+
+ return listenerCaptor.getValue();
+ }
}