Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ef2facf5 authored by Fabian Kozynski's avatar Fabian Kozynski Committed by Automerger Merge Worker
Browse files

Merge "Deflake tests due to real UserBroadcastDispatcher" into rvc-dev am: 1876a797

Change-Id: Ic3ffeb5bdb306dc7760a9437bfdd7af3de1e23c7
parents ce9ea9f4 1876a797
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -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()) {
                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
+11 −1
Original line number Diff line number Diff line
@@ -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);