diff options
| author | 2022-01-13 18:09:12 +0000 | |
|---|---|---|
| committer | 2022-01-13 18:09:12 +0000 | |
| commit | 125e2f636a369c4f94e2b6381d19c544ed5386d9 (patch) | |
| tree | bd64fb8502f2560ba54ee110de81e16fdfa770f6 | |
| parent | a94d1bc5ac4dc887358ba344cf2af9fe1847e915 (diff) | |
| parent | 43c6f30d8d86e9efaf8f2d39d13c3801f58a6fe2 (diff) | |
Merge "Fix NetworkController no longer tracking userSetup" into sc-v2-dev am: 43c6f30d8d
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16488206
Change-Id: I637570722b3c92530bcd8500b22a620a600c1a41
3 files changed, 76 insertions, 3 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/NetworkControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/NetworkControllerImpl.java index 3f5ef4806a1e..631a1ca3dcec 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/NetworkControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/NetworkControllerImpl.java @@ -335,6 +335,8 @@ public class NetworkControllerImpl extends BroadcastReceiver setUserSetupComplete(deviceProvisionedController.isCurrentUserSetup()); } }); + // Get initial user setup state + setUserSetupComplete(deviceProvisionedController.isCurrentUserSetup()); WifiManager.ScanResultsCallback scanResultsCallback = new WifiManager.ScanResultsCallback() { @@ -1000,6 +1002,11 @@ public class NetworkControllerImpl extends BroadcastReceiver } @VisibleForTesting + boolean isUserSetup() { + return mUserSetup; + } + + @VisibleForTesting boolean hasCorrectMobileControllers(List<SubscriptionInfo> allSubscriptions) { if (allSubscriptions.size() != mMobileSignalControllers.size()) { return false; @@ -1144,6 +1151,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()="); diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerBaseTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerBaseTest.java index 47a11fcdcee4..23f3c53bc332 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerBaseTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerBaseTest.java @@ -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; @@ -216,8 +216,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()); diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerSignalTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerSignalTest.java index 73eddd166f88..6262a9b628f5 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerSignalTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerSignalTest.java @@ -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; @@ -60,6 +61,72 @@ import java.util.List; 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. when(mMockTm.isDataCapable()).thenReturn(false); |