From 6a8c9357677a55e43803e7c7a2e2c6f689baccde Mon Sep 17 00:00:00 2001 From: Chiayu Pei Date: Mon, 24 Jun 2019 01:46:28 +0000 Subject: [PATCH] Revert "Unregister listeners and reset wake lock" This reverts commit fe107a1621b98f8e9caa47b1e4e7ecbee00a2f88. Reason for revert: Change-Id: Id092c473a8300e014ccd4d941afa4afcdbbf48bc --- .../keyguard/KeyguardSliceProvider.java | 59 +++++-------------- .../keyguard/KeyguardSliceProviderTest.java | 29 +-------- 2 files changed, 17 insertions(+), 71 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardSliceProvider.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardSliceProvider.java index 20477975a6dd2..d4c73668d0ed1 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardSliceProvider.java +++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardSliceProvider.java @@ -104,19 +104,15 @@ public class KeyguardSliceProvider extends SliceProvider implements private final AlarmManager.OnAlarmListener mUpdateNextAlarm = this::updateNextAlarm; private final HashSet mMediaInvisibleStates; private final Object mMediaToken = new Object(); - @VisibleForTesting - protected SettableWakeLock mMediaWakeLock; - @VisibleForTesting - protected ZenModeController mZenModeController; + private SettableWakeLock mMediaWakeLock; + private ZenModeController mZenModeController; private String mDatePattern; private DateFormat mDateFormat; private String mLastText; private boolean mRegistered; private String mNextAlarm; private NextAlarmController mNextAlarmController; - @VisibleForTesting protected AlarmManager mAlarmManager; - @VisibleForTesting protected ContentResolver mContentResolver; private AlarmManager.AlarmClockInfo mNextAlarmInfo; private PendingIntent mPendingIntent; @@ -301,44 +297,22 @@ public class KeyguardSliceProvider extends SliceProvider implements @Override public boolean onCreateSliceProvider() { - synchronized (this) { - KeyguardSliceProvider oldInstance = KeyguardSliceProvider.sInstance; - if (oldInstance != null) { - oldInstance.onDestroy(); - } - - mAlarmManager = getContext().getSystemService(AlarmManager.class); - mContentResolver = getContext().getContentResolver(); - mNextAlarmController = new NextAlarmControllerImpl(getContext()); - mNextAlarmController.addCallback(this); - mZenModeController = new ZenModeControllerImpl(getContext(), mHandler); - mZenModeController.addCallback(this); - mDatePattern = getContext().getString(R.string.system_ui_aod_date_pattern); - mPendingIntent = PendingIntent.getActivity(getContext(), 0, new Intent(), 0); - mMediaWakeLock = new SettableWakeLock(WakeLock.createPartial(getContext(), "media"), - "media"); - KeyguardSliceProvider.sInstance = this; - registerClockUpdate(); - updateClockLocked(); - } + mAlarmManager = getContext().getSystemService(AlarmManager.class); + mContentResolver = getContext().getContentResolver(); + mNextAlarmController = new NextAlarmControllerImpl(getContext()); + mNextAlarmController.addCallback(this); + mZenModeController = new ZenModeControllerImpl(getContext(), mHandler); + mZenModeController.addCallback(this); + mDatePattern = getContext().getString(R.string.system_ui_aod_date_pattern); + mPendingIntent = PendingIntent.getActivity(getContext(), 0, new Intent(), 0); + mMediaWakeLock = new SettableWakeLock(WakeLock.createPartial(getContext(), "media"), + "media"); + KeyguardSliceProvider.sInstance = this; + registerClockUpdate(); + updateClockLocked(); return true; } - @VisibleForTesting - protected void onDestroy() { - synchronized (this) { - mNextAlarmController.removeCallback(this); - mZenModeController.removeCallback(this); - mMediaWakeLock.setAcquired(false); - mAlarmManager.cancel(mUpdateNextAlarm); - if (mRegistered) { - mRegistered = false; - getKeyguardUpdateMonitor().removeCallback(mKeyguardUpdateMonitorCallback); - getContext().unregisterReceiver(mIntentReceiver); - } - } - } - @Override public void onZenChanged(int zen) { notifyChange(); @@ -376,8 +350,7 @@ public class KeyguardSliceProvider extends SliceProvider implements * Registers a broadcast receiver for clock updates, include date, time zone and manually * changing the date/time via the settings app. */ - @VisibleForTesting - protected void registerClockUpdate() { + private void registerClockUpdate() { synchronized (this) { if (mRegistered) { return; diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/KeyguardSliceProviderTest.java b/packages/SystemUI/tests/src/com/android/systemui/keyguard/KeyguardSliceProviderTest.java index 857f50c0f561f..355e26071b2a0 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/KeyguardSliceProviderTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/KeyguardSliceProviderTest.java @@ -48,9 +48,6 @@ 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 com.android.systemui.statusbar.policy.ZenModeController; -import com.android.systemui.util.wakelock.SettableWakeLock; import org.junit.Assert; import org.junit.Before; @@ -76,14 +73,6 @@ public class KeyguardSliceProviderTest extends SysuiTestCase { private NotificationMediaManager mNotificationMediaManager; @Mock private StatusBarStateController mStatusBarStateController; - @Mock - private KeyguardBypassController mKeyguardBypassController; - @Mock - private ZenModeController mZenModeController; - @Mock - private SettableWakeLock mMediaWakeLock; - @Mock - private KeyguardUpdateMonitor mKeyguardUpdateMonitor; private TestableKeyguardSliceProvider mProvider; private boolean mIsZenMode; @@ -205,20 +194,6 @@ public class KeyguardSliceProviderTest extends SysuiTestCase { verify(mContentResolver, never()).notifyChange(eq(mProvider.getUri()), eq(null)); } - @Test - public void onDestroy_noCrash() { - mProvider.onDestroy(); - } - - @Test - public void onDestroy_unregisterListeners() { - mProvider.registerClockUpdate(); - mProvider.onDestroy(); - verify(mMediaWakeLock).setAcquired(eq(false)); - verify(mAlarmManager).cancel(any(AlarmManager.OnAlarmListener.class)); - verify(mKeyguardUpdateMonitor).removeCallback(any()); - } - private class TestableKeyguardSliceProvider extends KeyguardSliceProvider { int mCleanDateFormatInvokations; private int mCounter; @@ -232,8 +207,6 @@ public class KeyguardSliceProviderTest extends SysuiTestCase { super.onCreateSliceProvider(); mAlarmManager = KeyguardSliceProviderTest.this.mAlarmManager; mContentResolver = KeyguardSliceProviderTest.this.mContentResolver; - mZenModeController = KeyguardSliceProviderTest.this.mZenModeController; - mMediaWakeLock = KeyguardSliceProviderTest.this.mMediaWakeLock; return true; } @@ -250,7 +223,7 @@ public class KeyguardSliceProviderTest extends SysuiTestCase { @Override public KeyguardUpdateMonitor getKeyguardUpdateMonitor() { - return mKeyguardUpdateMonitor; + return mock(KeyguardUpdateMonitor.class); } @Override