summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/keyguard/WorkLockActivity.java7
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/keyguard/WorkLockActivityTest.java11
2 files changed, 16 insertions, 2 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/WorkLockActivity.java b/packages/SystemUI/src/com/android/systemui/keyguard/WorkLockActivity.java
index 86c532cdb773..b1df578c62df 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/WorkLockActivity.java
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/WorkLockActivity.java
@@ -117,9 +117,14 @@ public class WorkLockActivity extends Activity {
}
}
+ @VisibleForTesting
+ protected void unregisterBroadcastReceiver() {
+ mBroadcastDispatcher.unregisterReceiver(mLockEventReceiver);
+ }
+
@Override
public void onDestroy() {
- unregisterReceiver(mLockEventReceiver);
+ unregisterBroadcastReceiver();
super.onDestroy();
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/WorkLockActivityTest.java b/packages/SystemUI/tests/src/com/android/systemui/keyguard/WorkLockActivityTest.java
index 187c72a065a7..e4c387a26fd5 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/WorkLockActivityTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/WorkLockActivityTest.java
@@ -19,7 +19,10 @@ package com.android.systemui.keyguard;
import static android.app.ActivityManager.TaskDescription;
import static org.junit.Assert.assertEquals;
+import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.eq;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.annotation.ColorInt;
@@ -36,7 +39,6 @@ import androidx.test.runner.AndroidJUnit4;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.broadcast.BroadcastDispatcher;
-import com.android.systemui.keyguard.WorkLockActivity;
import org.junit.Before;
import org.junit.Test;
@@ -112,4 +114,11 @@ public class WorkLockActivityTest extends SysuiTestCase {
.putExtra(Intent.EXTRA_USER_ID, USER_ID));
assertEquals(orgColor, mActivity.getPrimaryColor());
}
+
+ @Test
+ public void testUnregisteredFromDispatcher() {
+ mActivity.unregisterBroadcastReceiver();
+ verify(mBroadcastDispatcher).unregisterReceiver(any());
+ verify(mContext, never()).unregisterReceiver(any());
+ }
}