Loading packages/SystemUI/src/com/android/systemui/keyguard/KeyguardSliceProvider.java +8 −2 Original line number Diff line number Diff line Loading @@ -52,6 +52,7 @@ import com.android.keyguard.KeyguardUpdateMonitorCallback; import com.android.systemui.R; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.NotificationMediaManager; import com.android.systemui.statusbar.phone.KeyguardBypassController; import com.android.systemui.statusbar.policy.NextAlarmController; import com.android.systemui.statusbar.policy.NextAlarmControllerImpl; import com.android.systemui.statusbar.policy.ZenModeController; Loading Loading @@ -118,6 +119,7 @@ public class KeyguardSliceProvider extends SliceProvider implements private PendingIntent mPendingIntent; protected NotificationMediaManager mMediaManager; private StatusBarStateController mStatusBarStateController; private KeyguardBypassController mKeyguardBypassController; private CharSequence mMediaTitle; private CharSequence mMediaArtist; protected boolean mDozing; Loading Loading @@ -194,11 +196,13 @@ public class KeyguardSliceProvider extends SliceProvider implements */ public void initDependencies( NotificationMediaManager mediaManager, StatusBarStateController statusBarStateController) { StatusBarStateController statusBarStateController, KeyguardBypassController keyguardBypassController) { mMediaManager = mediaManager; mMediaManager.addCallback(this); mStatusBarStateController = statusBarStateController; mStatusBarStateController.addCallback(this); mKeyguardBypassController = keyguardBypassController; } @AnyThread Loading @@ -223,7 +227,9 @@ public class KeyguardSliceProvider extends SliceProvider implements } protected boolean needsMediaLocked() { return !TextUtils.isEmpty(mMediaTitle) && mMediaIsVisible && mDozing; boolean isBypass = mKeyguardBypassController != null && mKeyguardBypassController.getBypassEnabled(); return !TextUtils.isEmpty(mMediaTitle) && mMediaIsVisible && (mDozing || isBypass); } protected void addMediaLocked(ListBuilder listBuilder) { Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +2 −1 Original line number Diff line number Diff line Loading @@ -660,7 +660,8 @@ public class StatusBar extends SystemUI implements DemoMode, mActivityIntentHelper = new ActivityIntentHelper(mContext); KeyguardSliceProvider sliceProvider = KeyguardSliceProvider.getAttachedInstance(); if (sliceProvider != null) { sliceProvider.initDependencies(mMediaManager, mStatusBarStateController); sliceProvider.initDependencies(mMediaManager, mStatusBarStateController, mKeyguardBypassController); } else { Log.w(TAG, "Cannot init KeyguardSliceProvider dependencies"); } Loading packages/SystemUI/tests/src/com/android/systemui/keyguard/KeyguardSliceProviderTest.java +18 −2 Original line number Diff line number Diff line Loading @@ -48,6 +48,7 @@ import com.android.keyguard.KeyguardUpdateMonitor; import com.android.systemui.SysuiTestCase; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.NotificationMediaManager; import com.android.systemui.statusbar.phone.KeyguardBypassController; import org.junit.Assert; import org.junit.Before; Loading @@ -73,6 +74,8 @@ public class KeyguardSliceProviderTest extends SysuiTestCase { private NotificationMediaManager mNotificationMediaManager; @Mock private StatusBarStateController mStatusBarStateController; @Mock private KeyguardBypassController mKeyguardBypassController; private TestableKeyguardSliceProvider mProvider; private boolean mIsZenMode; Loading @@ -82,7 +85,8 @@ public class KeyguardSliceProviderTest extends SysuiTestCase { mIsZenMode = false; mProvider = new TestableKeyguardSliceProvider(); mProvider.attachInfo(getContext(), null); mProvider.initDependencies(mNotificationMediaManager, mStatusBarStateController); mProvider.initDependencies(mNotificationMediaManager, mStatusBarStateController, mKeyguardBypassController); SliceProvider.setSpecs(new HashSet<>(Arrays.asList(SliceSpecs.LIST))); } Loading @@ -102,7 +106,7 @@ public class KeyguardSliceProviderTest extends SysuiTestCase { } @Test public void onBindSlice_readsMedia() { public void onBindSlice_readsMedia_withoutBypass() { MediaMetadata metadata = mock(MediaMetadata.class); when(metadata.getText(any())).thenReturn("metadata"); mProvider.onDozingChanged(true); Loading @@ -113,6 +117,18 @@ public class KeyguardSliceProviderTest extends SysuiTestCase { verify(mNotificationMediaManager).getMediaIcon(); } @Test public void onBindSlice_readsMedia_withBypass_notDozing() { MediaMetadata metadata = mock(MediaMetadata.class); when(metadata.getText(any())).thenReturn("metadata"); when(mKeyguardBypassController.getBypassEnabled()).thenReturn(true); mProvider.onMetadataOrStateChanged(metadata, PlaybackState.STATE_PLAYING); mProvider.onBindSlice(mProvider.getUri()); verify(metadata).getText(eq(MediaMetadata.METADATA_KEY_TITLE)); verify(metadata).getText(eq(MediaMetadata.METADATA_KEY_ARTIST)); verify(mNotificationMediaManager).getMediaIcon(); } @Test public void cleansDateFormat() { mProvider.mKeyguardUpdateMonitorCallback.onTimeZoneChanged(null); Loading Loading
packages/SystemUI/src/com/android/systemui/keyguard/KeyguardSliceProvider.java +8 −2 Original line number Diff line number Diff line Loading @@ -52,6 +52,7 @@ import com.android.keyguard.KeyguardUpdateMonitorCallback; import com.android.systemui.R; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.NotificationMediaManager; import com.android.systemui.statusbar.phone.KeyguardBypassController; import com.android.systemui.statusbar.policy.NextAlarmController; import com.android.systemui.statusbar.policy.NextAlarmControllerImpl; import com.android.systemui.statusbar.policy.ZenModeController; Loading Loading @@ -118,6 +119,7 @@ public class KeyguardSliceProvider extends SliceProvider implements private PendingIntent mPendingIntent; protected NotificationMediaManager mMediaManager; private StatusBarStateController mStatusBarStateController; private KeyguardBypassController mKeyguardBypassController; private CharSequence mMediaTitle; private CharSequence mMediaArtist; protected boolean mDozing; Loading Loading @@ -194,11 +196,13 @@ public class KeyguardSliceProvider extends SliceProvider implements */ public void initDependencies( NotificationMediaManager mediaManager, StatusBarStateController statusBarStateController) { StatusBarStateController statusBarStateController, KeyguardBypassController keyguardBypassController) { mMediaManager = mediaManager; mMediaManager.addCallback(this); mStatusBarStateController = statusBarStateController; mStatusBarStateController.addCallback(this); mKeyguardBypassController = keyguardBypassController; } @AnyThread Loading @@ -223,7 +227,9 @@ public class KeyguardSliceProvider extends SliceProvider implements } protected boolean needsMediaLocked() { return !TextUtils.isEmpty(mMediaTitle) && mMediaIsVisible && mDozing; boolean isBypass = mKeyguardBypassController != null && mKeyguardBypassController.getBypassEnabled(); return !TextUtils.isEmpty(mMediaTitle) && mMediaIsVisible && (mDozing || isBypass); } protected void addMediaLocked(ListBuilder listBuilder) { Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +2 −1 Original line number Diff line number Diff line Loading @@ -660,7 +660,8 @@ public class StatusBar extends SystemUI implements DemoMode, mActivityIntentHelper = new ActivityIntentHelper(mContext); KeyguardSliceProvider sliceProvider = KeyguardSliceProvider.getAttachedInstance(); if (sliceProvider != null) { sliceProvider.initDependencies(mMediaManager, mStatusBarStateController); sliceProvider.initDependencies(mMediaManager, mStatusBarStateController, mKeyguardBypassController); } else { Log.w(TAG, "Cannot init KeyguardSliceProvider dependencies"); } Loading
packages/SystemUI/tests/src/com/android/systemui/keyguard/KeyguardSliceProviderTest.java +18 −2 Original line number Diff line number Diff line Loading @@ -48,6 +48,7 @@ import com.android.keyguard.KeyguardUpdateMonitor; import com.android.systemui.SysuiTestCase; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.NotificationMediaManager; import com.android.systemui.statusbar.phone.KeyguardBypassController; import org.junit.Assert; import org.junit.Before; Loading @@ -73,6 +74,8 @@ public class KeyguardSliceProviderTest extends SysuiTestCase { private NotificationMediaManager mNotificationMediaManager; @Mock private StatusBarStateController mStatusBarStateController; @Mock private KeyguardBypassController mKeyguardBypassController; private TestableKeyguardSliceProvider mProvider; private boolean mIsZenMode; Loading @@ -82,7 +85,8 @@ public class KeyguardSliceProviderTest extends SysuiTestCase { mIsZenMode = false; mProvider = new TestableKeyguardSliceProvider(); mProvider.attachInfo(getContext(), null); mProvider.initDependencies(mNotificationMediaManager, mStatusBarStateController); mProvider.initDependencies(mNotificationMediaManager, mStatusBarStateController, mKeyguardBypassController); SliceProvider.setSpecs(new HashSet<>(Arrays.asList(SliceSpecs.LIST))); } Loading @@ -102,7 +106,7 @@ public class KeyguardSliceProviderTest extends SysuiTestCase { } @Test public void onBindSlice_readsMedia() { public void onBindSlice_readsMedia_withoutBypass() { MediaMetadata metadata = mock(MediaMetadata.class); when(metadata.getText(any())).thenReturn("metadata"); mProvider.onDozingChanged(true); Loading @@ -113,6 +117,18 @@ public class KeyguardSliceProviderTest extends SysuiTestCase { verify(mNotificationMediaManager).getMediaIcon(); } @Test public void onBindSlice_readsMedia_withBypass_notDozing() { MediaMetadata metadata = mock(MediaMetadata.class); when(metadata.getText(any())).thenReturn("metadata"); when(mKeyguardBypassController.getBypassEnabled()).thenReturn(true); mProvider.onMetadataOrStateChanged(metadata, PlaybackState.STATE_PLAYING); mProvider.onBindSlice(mProvider.getUri()); verify(metadata).getText(eq(MediaMetadata.METADATA_KEY_TITLE)); verify(metadata).getText(eq(MediaMetadata.METADATA_KEY_ARTIST)); verify(mNotificationMediaManager).getMediaIcon(); } @Test public void cleansDateFormat() { mProvider.mKeyguardUpdateMonitorCallback.onTimeZoneChanged(null); Loading