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

Commit 90c3c76b authored by Evan Laird's avatar Evan Laird Committed by Automerger Merge Worker
Browse files

Merge "Fix NetworkController no longer tracking userSetup" into sc-v2-dev am:...

Merge "Fix NetworkController no longer tracking userSetup" into sc-v2-dev am: 43c6f30d am: 125e2f63

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16488206

Change-Id: I19306e91ab0cc221fa05caf303481a5f29473405
parents 28623e02 125e2f63
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -334,6 +334,8 @@ public class NetworkControllerImpl extends BroadcastReceiver
                setUserSetupComplete(deviceProvisionedController.isCurrentUserSetup());
            }
        });
        // Get initial user setup state
        setUserSetupComplete(deviceProvisionedController.isCurrentUserSetup());

        WifiManager.ScanResultsCallback scanResultsCallback =
                new WifiManager.ScanResultsCallback() {
@@ -993,6 +995,11 @@ public class NetworkControllerImpl extends BroadcastReceiver
        }
    }

    @VisibleForTesting
    boolean isUserSetup() {
        return mUserSetup;
    }

    @VisibleForTesting
    boolean hasCorrectMobileControllers(List<SubscriptionInfo> allSubscriptions) {
        if (allSubscriptions.size() != mMobileSignalControllers.size()) {
@@ -1137,6 +1144,7 @@ public class NetworkControllerImpl extends BroadcastReceiver
    /** */
    public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
        pw.println("NetworkController state:");
        pw.println("  mUserSetup=" + mUserSetup);

        pw.println("  - telephony ------");
        pw.print("  hasVoiceCallingFeature()=");
+1 −3
Original line number Diff line number Diff line
@@ -23,7 +23,7 @@ import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertNotNull;
import static junit.framework.Assert.assertTrue;

import static org.mockito.Matchers.any;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.eq;
import static org.mockito.Matchers.isA;
@@ -209,8 +209,6 @@ public class NetworkControllerBaseTest extends SysuiTestCase {
        when(mMockProvisionController.isCurrentUserSetup()).thenReturn(true);
        doAnswer(invocation -> {
            mUserCallback = (DeviceProvisionedListener) invocation.getArguments()[0];
            mUserCallback.onUserSetupChanged();
            mUserCallback.onDeviceProvisionedChanged();
            TestableLooper.get(this).processAllMessages();
            return null;
        }).when(mMockProvisionController).addCallback(any());
+67 −0
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.test.suitebuilder.annotation.SmallTest;
import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper;
import android.testing.TestableLooper.RunWithLooper;

import com.android.settingslib.graph.SignalDrawable;
@@ -59,6 +60,72 @@ import java.util.List;
@RunWithLooper
public class NetworkControllerSignalTest extends NetworkControllerBaseTest {

    @Test
    public void testDeviceProvisioned_userNotSetUp() {
        // GIVEN - user is not setup
        when(mMockProvisionController.isCurrentUserSetup()).thenReturn(false);

        // WHEN - a NetworkController is created
        mNetworkController = new NetworkControllerImpl(mContext,
                mMockCm,
                mMockTm,
                mTelephonyListenerManager,
                mMockWm,
                mMockNsm,
                mMockSm,
                mConfig,
                TestableLooper.get(this).getLooper(),
                mFakeExecutor,
                mCallbackHandler,
                mock(AccessPointControllerImpl.class),
                mock(DataUsageController.class),
                mMockSubDefaults,
                mMockProvisionController,
                mMockBd,
                mDemoModeController,
                mCarrierConfigTracker,
                mFeatureFlags,
                mock(DumpManager.class)
        );
        TestableLooper.get(this).processAllMessages();

        // THEN - NetworkController claims the user is not setup
        assertFalse("User has not been set up", mNetworkController.isUserSetup());
    }

    @Test
    public void testDeviceProvisioned_userSetUp() {
        // GIVEN - user is not setup
        when(mMockProvisionController.isCurrentUserSetup()).thenReturn(true);

        // WHEN - a NetworkController is created
        mNetworkController = new NetworkControllerImpl(mContext,
                mMockCm,
                mMockTm,
                mTelephonyListenerManager,
                mMockWm,
                mMockNsm,
                mMockSm,
                mConfig,
                TestableLooper.get(this).getLooper(),
                mFakeExecutor,
                mCallbackHandler,
                mock(AccessPointControllerImpl.class),
                mock(DataUsageController.class),
                mMockSubDefaults,
                mMockProvisionController,
                mMockBd,
                mDemoModeController,
                mCarrierConfigTracker,
                mFeatureFlags,
                mock(DumpManager.class)
        );
        TestableLooper.get(this).processAllMessages();

        // THEN - NetworkController claims the user is not setup
        assertTrue("User has been set up", mNetworkController.isUserSetup());
    }

    @Test
    public void testNoIconWithoutMobile() {
        // Turn off mobile network support.