Loading packages/SystemUI/src/com/android/systemui/keyguard/KeyguardSliceProvider.java +5 −1 Original line number Diff line number Diff line Loading @@ -50,6 +50,7 @@ import com.android.keyguard.KeyguardUpdateMonitor; import com.android.keyguard.KeyguardUpdateMonitorCallback; import com.android.systemui.R; import com.android.systemui.SystemUIAppComponentFactoryBase; import com.android.systemui.dagger.qualifiers.Background; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.settings.UserTracker; import com.android.systemui.statusbar.NotificationMediaManager; Loading Loading @@ -151,6 +152,9 @@ public class KeyguardSliceProvider extends SliceProvider implements private SystemUIAppComponentFactoryBase.ContextAvailableCallback mContextAvailableCallback; @Inject WakeLockLogger mWakeLockLogger; @Inject @Background Handler mBgHandler; /** * Receiver responsible for time ticking and updating the date format. Loading Loading @@ -502,7 +506,7 @@ public class KeyguardSliceProvider extends SliceProvider implements } protected void notifyChange() { mContentResolver.notifyChange(mSliceUri, null /* observer */); mBgHandler.post(() -> mContentResolver.notifyChange(mSliceUri, null /* observer */)); } @Override Loading packages/SystemUI/tests/src/com/android/systemui/keyguard/KeyguardSliceProviderTest.java +8 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.systemui.keyguard; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.clearInvocations; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.reset; Loading @@ -31,6 +32,7 @@ import android.content.ContentResolver; import android.media.MediaMetadata; import android.media.session.PlaybackState; import android.net.Uri; import android.os.Handler; import android.provider.Settings; import android.testing.AndroidTestingRunner; import android.testing.TestableLooper; Loading Loading @@ -166,6 +168,7 @@ public class KeyguardSliceProviderTest extends SysuiTestCase { @Test public void updatesClock() { clearInvocations(mContentResolver); mProvider.mKeyguardUpdateMonitorCallback.onTimeChanged(); TestableLooper.get(this).processAllMessages(); verify(mContentResolver).notifyChange(eq(mProvider.getUri()), eq(null)); Loading Loading @@ -217,11 +220,13 @@ public class KeyguardSliceProviderTest extends SysuiTestCase { reset(mContentResolver); mProvider.onPrimaryMetadataOrStateChanged(mock(MediaMetadata.class), PlaybackState.STATE_PLAYING); TestableLooper.get(this).processAllMessages(); verify(mContentResolver).notifyChange(eq(mProvider.getUri()), eq(null)); // Hides after waking up reset(mContentResolver); mProvider.onDozingChanged(false); TestableLooper.get(this).processAllMessages(); verify(mContentResolver).notifyChange(eq(mProvider.getUri()), eq(null)); } Loading @@ -231,6 +236,7 @@ public class KeyguardSliceProviderTest extends SysuiTestCase { mProvider.onPrimaryMetadataOrStateChanged(mock(MediaMetadata.class), PlaybackState.STATE_PLAYING); reset(mContentResolver); TestableLooper.get(this).processAllMessages(); // Show media when dozing mProvider.onDozingChanged(true); verify(mContentResolver).notifyChange(eq(mProvider.getUri()), eq(null)); Loading Loading @@ -272,6 +278,8 @@ public class KeyguardSliceProviderTest extends SysuiTestCase { mMediaManager = KeyguardSliceProviderTest.this.mNotificationMediaManager; mKeyguardUpdateMonitor = KeyguardSliceProviderTest.this.mKeyguardUpdateMonitor; mUserTracker = KeyguardSliceProviderTest.this.mUserTracker; mBgHandler = new Handler(TestableLooper.get(KeyguardSliceProviderTest.this).getLooper()); } @Override Loading Loading
packages/SystemUI/src/com/android/systemui/keyguard/KeyguardSliceProvider.java +5 −1 Original line number Diff line number Diff line Loading @@ -50,6 +50,7 @@ import com.android.keyguard.KeyguardUpdateMonitor; import com.android.keyguard.KeyguardUpdateMonitorCallback; import com.android.systemui.R; import com.android.systemui.SystemUIAppComponentFactoryBase; import com.android.systemui.dagger.qualifiers.Background; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.settings.UserTracker; import com.android.systemui.statusbar.NotificationMediaManager; Loading Loading @@ -151,6 +152,9 @@ public class KeyguardSliceProvider extends SliceProvider implements private SystemUIAppComponentFactoryBase.ContextAvailableCallback mContextAvailableCallback; @Inject WakeLockLogger mWakeLockLogger; @Inject @Background Handler mBgHandler; /** * Receiver responsible for time ticking and updating the date format. Loading Loading @@ -502,7 +506,7 @@ public class KeyguardSliceProvider extends SliceProvider implements } protected void notifyChange() { mContentResolver.notifyChange(mSliceUri, null /* observer */); mBgHandler.post(() -> mContentResolver.notifyChange(mSliceUri, null /* observer */)); } @Override Loading
packages/SystemUI/tests/src/com/android/systemui/keyguard/KeyguardSliceProviderTest.java +8 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.systemui.keyguard; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.clearInvocations; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.reset; Loading @@ -31,6 +32,7 @@ import android.content.ContentResolver; import android.media.MediaMetadata; import android.media.session.PlaybackState; import android.net.Uri; import android.os.Handler; import android.provider.Settings; import android.testing.AndroidTestingRunner; import android.testing.TestableLooper; Loading Loading @@ -166,6 +168,7 @@ public class KeyguardSliceProviderTest extends SysuiTestCase { @Test public void updatesClock() { clearInvocations(mContentResolver); mProvider.mKeyguardUpdateMonitorCallback.onTimeChanged(); TestableLooper.get(this).processAllMessages(); verify(mContentResolver).notifyChange(eq(mProvider.getUri()), eq(null)); Loading Loading @@ -217,11 +220,13 @@ public class KeyguardSliceProviderTest extends SysuiTestCase { reset(mContentResolver); mProvider.onPrimaryMetadataOrStateChanged(mock(MediaMetadata.class), PlaybackState.STATE_PLAYING); TestableLooper.get(this).processAllMessages(); verify(mContentResolver).notifyChange(eq(mProvider.getUri()), eq(null)); // Hides after waking up reset(mContentResolver); mProvider.onDozingChanged(false); TestableLooper.get(this).processAllMessages(); verify(mContentResolver).notifyChange(eq(mProvider.getUri()), eq(null)); } Loading @@ -231,6 +236,7 @@ public class KeyguardSliceProviderTest extends SysuiTestCase { mProvider.onPrimaryMetadataOrStateChanged(mock(MediaMetadata.class), PlaybackState.STATE_PLAYING); reset(mContentResolver); TestableLooper.get(this).processAllMessages(); // Show media when dozing mProvider.onDozingChanged(true); verify(mContentResolver).notifyChange(eq(mProvider.getUri()), eq(null)); Loading Loading @@ -272,6 +278,8 @@ public class KeyguardSliceProviderTest extends SysuiTestCase { mMediaManager = KeyguardSliceProviderTest.this.mNotificationMediaManager; mKeyguardUpdateMonitor = KeyguardSliceProviderTest.this.mKeyguardUpdateMonitor; mUserTracker = KeyguardSliceProviderTest.this.mUserTracker; mBgHandler = new Handler(TestableLooper.get(KeyguardSliceProviderTest.this).getLooper()); } @Override Loading