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 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
|
||||
|
||||
@@ -211,7 +213,12 @@ class UserBroadcastDispatcher(
|
||||
*/
|
||||
override fun run() {
|
||||
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)
|
||||
}
|
||||
// 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.when;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.UserManager;
|
||||
import android.testing.AndroidTestingRunner;
|
||||
import android.testing.TestableLooper;
|
||||
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.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;
|
||||
@@ -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;
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user