Merge "Deflake tests due to real UserBroadcastDispatcher" into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
1876a79717
@@ -32,6 +32,8 @@ import com.android.internal.util.Preconditions
|
|||||||
import com.android.systemui.Dumpable
|
import com.android.systemui.Dumpable
|
||||||
import java.io.FileDescriptor
|
import java.io.FileDescriptor
|
||||||
import java.io.PrintWriter
|
import java.io.PrintWriter
|
||||||
|
import java.lang.IllegalArgumentException
|
||||||
|
import java.lang.IllegalStateException
|
||||||
import java.util.concurrent.atomic.AtomicBoolean
|
import java.util.concurrent.atomic.AtomicBoolean
|
||||||
import java.util.concurrent.atomic.AtomicInteger
|
import java.util.concurrent.atomic.AtomicInteger
|
||||||
|
|
||||||
@@ -211,7 +213,12 @@ class UserBroadcastDispatcher(
|
|||||||
*/
|
*/
|
||||||
override fun run() {
|
override fun run() {
|
||||||
if (registered.get()) {
|
if (registered.get()) {
|
||||||
context.unregisterReceiver(this@UserBroadcastDispatcher)
|
try {
|
||||||
|
context.unregisterReceiver(this@UserBroadcastDispatcher)
|
||||||
|
} catch (e: IllegalArgumentException) {
|
||||||
|
Log.e(TAG, "Trying to unregister unregistered receiver for user $userId",
|
||||||
|
IllegalStateException(e))
|
||||||
|
}
|
||||||
registered.set(false)
|
registered.set(false)
|
||||||
}
|
}
|
||||||
// Short interval without receiver, this can be problematic
|
// Short interval without receiver, this can be problematic
|
||||||
|
|||||||
@@ -25,6 +25,8 @@ import static org.mockito.Mockito.never;
|
|||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.os.UserManager;
|
||||||
import android.testing.AndroidTestingRunner;
|
import android.testing.AndroidTestingRunner;
|
||||||
import android.testing.TestableLooper;
|
import android.testing.TestableLooper;
|
||||||
import android.testing.TestableLooper.RunWithLooper;
|
import android.testing.TestableLooper.RunWithLooper;
|
||||||
@@ -37,6 +39,7 @@ import com.android.internal.logging.MetricsLogger;
|
|||||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||||
import com.android.internal.logging.testing.UiEventLoggerFake;
|
import com.android.internal.logging.testing.UiEventLoggerFake;
|
||||||
import com.android.settingslib.bluetooth.LocalBluetoothManager;
|
import com.android.settingslib.bluetooth.LocalBluetoothManager;
|
||||||
|
import com.android.systemui.Dependency;
|
||||||
import com.android.systemui.SysuiTestCase;
|
import com.android.systemui.SysuiTestCase;
|
||||||
import com.android.systemui.broadcast.BroadcastDispatcher;
|
import com.android.systemui.broadcast.BroadcastDispatcher;
|
||||||
import com.android.systemui.dump.DumpManager;
|
import com.android.systemui.dump.DumpManager;
|
||||||
@@ -46,6 +49,7 @@ import com.android.systemui.qs.customize.QSCustomizer;
|
|||||||
import com.android.systemui.qs.logging.QSLogger;
|
import com.android.systemui.qs.logging.QSLogger;
|
||||||
import com.android.systemui.qs.tileimpl.QSTileImpl;
|
import com.android.systemui.qs.tileimpl.QSTileImpl;
|
||||||
import com.android.systemui.statusbar.notification.NotificationEntryManager;
|
import com.android.systemui.statusbar.notification.NotificationEntryManager;
|
||||||
|
import com.android.systemui.statusbar.policy.SecurityController;
|
||||||
import com.android.systemui.util.concurrency.DelayableExecutor;
|
import com.android.systemui.util.concurrency.DelayableExecutor;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
@@ -100,8 +104,14 @@ public class QSPanelTest extends SysuiTestCase {
|
|||||||
@Before
|
@Before
|
||||||
public void setup() throws Exception {
|
public void setup() throws Exception {
|
||||||
MockitoAnnotations.initMocks(this);
|
MockitoAnnotations.initMocks(this);
|
||||||
|
|
||||||
mTestableLooper = TestableLooper.get(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();
|
mUiEventLogger = new UiEventLoggerFake();
|
||||||
mTestableLooper.runWithLooper(() -> {
|
mTestableLooper.runWithLooper(() -> {
|
||||||
mMetricsLogger = mDependency.injectMockDependency(MetricsLogger.class);
|
mMetricsLogger = mDependency.injectMockDependency(MetricsLogger.class);
|
||||||
|
|||||||
Reference in New Issue
Block a user