summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Evan Laird <evanlaird@google.com> 2022-01-13 18:09:12 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2022-01-13 18:09:12 +0000
commit125e2f636a369c4f94e2b6381d19c544ed5386d9 (patch)
treebd64fb8502f2560ba54ee110de81e16fdfa770f6
parenta94d1bc5ac4dc887358ba344cf2af9fe1847e915 (diff)
parent43c6f30d8d86e9efaf8f2d39d13c3801f58a6fe2 (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
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/connectivity/NetworkControllerImpl.java8
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerBaseTest.java4
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerSignalTest.java67
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);