Loading packages/SystemUI/src/com/android/systemui/broadcast/UserBroadcastDispatcher.kt +8 −1 Original line number Diff line number Diff line Loading @@ -32,6 +32,8 @@ import com.android.internal.util.Preconditions import com.android.systemui.Dumpable import java.io.FileDescriptor import java.io.PrintWriter import java.lang.IllegalArgumentException import java.lang.IllegalStateException import java.util.concurrent.atomic.AtomicBoolean import java.util.concurrent.atomic.AtomicInteger Loading Loading @@ -211,7 +213,12 @@ class UserBroadcastDispatcher( */ override fun run() { if (registered.get()) { try { context.unregisterReceiver(this@UserBroadcastDispatcher) } catch (e: IllegalArgumentException) { Log.e(TAG, "Trying to unregister unregistered receiver for user $userId", IllegalStateException(e)) } registered.set(false) } // Short interval without receiver, this can be problematic Loading packages/SystemUI/tests/src/com/android/systemui/qs/QSPanelTest.java +11 −1 Original line number Diff line number Diff line Loading @@ -25,6 +25,8 @@ import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.content.Context; import android.os.UserManager; import android.testing.AndroidTestingRunner; import android.testing.TestableLooper; import android.testing.TestableLooper.RunWithLooper; Loading @@ -37,6 +39,7 @@ import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.internal.logging.testing.UiEventLoggerFake; import com.android.settingslib.bluetooth.LocalBluetoothManager; import com.android.systemui.Dependency; import com.android.systemui.SysuiTestCase; import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.dump.DumpManager; Loading @@ -46,6 +49,7 @@ import com.android.systemui.qs.customize.QSCustomizer; import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.statusbar.notification.NotificationEntryManager; import com.android.systemui.statusbar.policy.SecurityController; import com.android.systemui.util.concurrency.DelayableExecutor; import org.junit.Before; Loading Loading @@ -100,8 +104,14 @@ public class QSPanelTest extends SysuiTestCase { @Before public void setup() throws Exception { MockitoAnnotations.initMocks(this); mTestableLooper = TestableLooper.get(this); // Dependencies for QSSecurityFooter mDependency.injectTestDependency(ActivityStarter.class, mActivityStarter); mDependency.injectMockDependency(SecurityController.class); mDependency.injectTestDependency(Dependency.BG_LOOPER, mTestableLooper.getLooper()); mContext.addMockSystemService(Context.USER_SERVICE, mock(UserManager.class)); mUiEventLogger = new UiEventLoggerFake(); mTestableLooper.runWithLooper(() -> { mMetricsLogger = mDependency.injectMockDependency(MetricsLogger.class); Loading Loading
packages/SystemUI/src/com/android/systemui/broadcast/UserBroadcastDispatcher.kt +8 −1 Original line number Diff line number Diff line Loading @@ -32,6 +32,8 @@ import com.android.internal.util.Preconditions import com.android.systemui.Dumpable import java.io.FileDescriptor import java.io.PrintWriter import java.lang.IllegalArgumentException import java.lang.IllegalStateException import java.util.concurrent.atomic.AtomicBoolean import java.util.concurrent.atomic.AtomicInteger Loading Loading @@ -211,7 +213,12 @@ class UserBroadcastDispatcher( */ override fun run() { if (registered.get()) { try { context.unregisterReceiver(this@UserBroadcastDispatcher) } catch (e: IllegalArgumentException) { Log.e(TAG, "Trying to unregister unregistered receiver for user $userId", IllegalStateException(e)) } registered.set(false) } // Short interval without receiver, this can be problematic Loading
packages/SystemUI/tests/src/com/android/systemui/qs/QSPanelTest.java +11 −1 Original line number Diff line number Diff line Loading @@ -25,6 +25,8 @@ import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.content.Context; import android.os.UserManager; import android.testing.AndroidTestingRunner; import android.testing.TestableLooper; import android.testing.TestableLooper.RunWithLooper; Loading @@ -37,6 +39,7 @@ import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.internal.logging.testing.UiEventLoggerFake; import com.android.settingslib.bluetooth.LocalBluetoothManager; import com.android.systemui.Dependency; import com.android.systemui.SysuiTestCase; import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.dump.DumpManager; Loading @@ -46,6 +49,7 @@ import com.android.systemui.qs.customize.QSCustomizer; import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.statusbar.notification.NotificationEntryManager; import com.android.systemui.statusbar.policy.SecurityController; import com.android.systemui.util.concurrency.DelayableExecutor; import org.junit.Before; Loading Loading @@ -100,8 +104,14 @@ public class QSPanelTest extends SysuiTestCase { @Before public void setup() throws Exception { MockitoAnnotations.initMocks(this); mTestableLooper = TestableLooper.get(this); // Dependencies for QSSecurityFooter mDependency.injectTestDependency(ActivityStarter.class, mActivityStarter); mDependency.injectMockDependency(SecurityController.class); mDependency.injectTestDependency(Dependency.BG_LOOPER, mTestableLooper.getLooper()); mContext.addMockSystemService(Context.USER_SERVICE, mock(UserManager.class)); mUiEventLogger = new UiEventLoggerFake(); mTestableLooper.runWithLooper(() -> { mMetricsLogger = mDependency.injectMockDependency(MetricsLogger.class); Loading