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

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

Change-Id: I19306e91ab0cc221fa05caf303481a5f29473405
This commit is contained in:
Evan Laird
2022-01-13 18:24:07 +00:00
committed by Automerger Merge Worker
3 changed files with 76 additions and 3 deletions

View File

@@ -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()=");

View File

@@ -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());

View File

@@ -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.