diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/DeviceProvisionedController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/DeviceProvisionedController.java index aa4eaa7acf7da..21f9a79fda068 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/DeviceProvisionedController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/DeviceProvisionedController.java @@ -26,7 +26,9 @@ public interface DeviceProvisionedController extends CallbackController, D void addEmergencyListener(EmergencyListener listener); void removeEmergencyListener(EmergencyListener listener); - void setUserSetupComplete(boolean userSetup); boolean hasEmergencyCryptKeeperText(); boolean isRadioOn(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java index d7c919d9348ce..a85426c6f01d8 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java @@ -551,17 +551,11 @@ public class NetworkControllerImpl extends BroadcastReceiver updateAirplaneMode(true /* force */); } - public void setUserSetupComplete(final boolean userSetup) { - mReceiverHandler.post(new Runnable() { - @Override - public void run() { - handleSetUserSetupComplete(userSetup); - } - }); + private void setUserSetupComplete(final boolean userSetup) { + mReceiverHandler.post(() -> handleSetUserSetupComplete(userSetup)); } - @VisibleForTesting - void handleSetUserSetupComplete(boolean userSetup) { + private void handleSetUserSetupComplete(boolean userSetup) { mUserSetup = userSetup; for (MobileSignalController controller : mMobileSignalControllers.values()) { controller.setUserSetupComplete(mUserSetup); diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java index 0e5f51313b7e2..19b4b173c42d9 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java @@ -31,6 +31,7 @@ import android.telephony.TelephonyManager; import android.util.Log; import com.android.internal.telephony.cdma.EriInfo; import com.android.settingslib.net.DataUsageController; +import com.android.systemui.statusbar.policy.DeviceProvisionedController.DeviceProvisionedListener; import com.android.systemui.statusbar.policy.NetworkController.IconState; import com.android.systemui.statusbar.policy.NetworkController.SignalCallback; import com.android.systemui.statusbar.policy.NetworkControllerImpl.Config; @@ -43,6 +44,8 @@ import org.junit.rules.TestWatcher; import org.junit.runner.Description; import org.mockito.ArgumentCaptor; import org.mockito.Mockito; +import org.mockito.invocation.InvocationOnMock; +import org.mockito.stubbing.Answer; import java.io.PrintWriter; import java.io.StringWriter; @@ -56,6 +59,7 @@ import static org.mockito.Matchers.anyBoolean; import static org.mockito.Matchers.anyInt; import static org.mockito.Matchers.anyString; import static org.mockito.Matchers.eq; +import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -82,6 +86,8 @@ public class NetworkControllerBaseTest extends SysuiTestCase { protected CallbackHandler mCallbackHandler; protected SubscriptionDefaults mMockSubDefaults; protected NetworkScoreManager mMockNetworkScoreManager; + protected DeviceProvisionedController mMockProvisionController; + protected DeviceProvisionedListener mUserCallback; protected int mSubId; @@ -120,11 +126,21 @@ public class NetworkControllerBaseTest extends SysuiTestCase { mConfig = new Config(); mConfig.hspaDataDistinguishable = true; mCallbackHandler = mock(CallbackHandler.class); + + mMockProvisionController = mock(DeviceProvisionedController.class); + when(mMockProvisionController.isUserSetup(anyInt())).thenReturn(true); + doAnswer(invocation -> { + mUserCallback = (DeviceProvisionedListener) invocation.getArguments()[0]; + mUserCallback.onUserSetupChanged(); + mUserCallback.onDeviceProvisionedChanged(); + return null; + }).when(mMockProvisionController).addCallback(any()); + mNetworkController = new NetworkControllerImpl(mContext, mMockCm, mMockNetworkScoreManager, mMockTm, mMockWm, mMockSm, mConfig, Looper.getMainLooper(), mCallbackHandler, mock(AccessPointControllerImpl.class), mock(DataUsageController.class), - mMockSubDefaults, mock(DeviceProvisionedController.class)); + mMockSubDefaults, mMockProvisionController); setupNetworkController(); // Trigger blank callbacks to always get the current state (some tests don't trigger @@ -139,7 +155,6 @@ public class NetworkControllerBaseTest extends SysuiTestCase { when(mMockTm.getDataEnabled(mSubId)).thenReturn(true); setDefaultSubId(mSubId); setSubscriptions(mSubId); - mNetworkController.handleSetUserSetupComplete(true); mMobileSignalController = mNetworkController.mMobileSignalControllers.get(mSubId); mPhoneStateListener = mMobileSignalController.mPhoneStateListener; } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java index d7f961cb0738f..ba2099928d96a 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java @@ -1,16 +1,19 @@ package com.android.systemui.statusbar.policy; +import static org.mockito.Matchers.anyInt; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; import android.net.NetworkCapabilities; import android.os.Looper; import android.support.test.runner.AndroidJUnit4; import android.telephony.TelephonyManager; import android.test.suitebuilder.annotation.SmallTest; + import com.android.settingslib.net.DataUsageController; + import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.Mockito; @SmallTest @RunWith(AndroidJUnit4.class) @@ -106,7 +109,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest { @Test public void testDataDisabledIcon() { setupNetworkController(); - Mockito.when(mMockTm.getDataEnabled(mSubId)).thenReturn(false); + when(mMockTm.getDataEnabled(mSubId)).thenReturn(false); setupDefaultSignal(); updateDataConnectionState(TelephonyManager.DATA_DISCONNECTED, 0); setConnectivity(NetworkCapabilities.TRANSPORT_CELLULAR, false, false); @@ -118,11 +121,12 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest { @Test public void testDataDisabledIcon_UserNotSetup() { setupNetworkController(); - Mockito.when(mMockTm.getDataEnabled(mSubId)).thenReturn(false); + when(mMockTm.getDataEnabled(mSubId)).thenReturn(false); setupDefaultSignal(); updateDataConnectionState(TelephonyManager.DATA_DISCONNECTED, 0); setConnectivity(NetworkCapabilities.TRANSPORT_CELLULAR, false, false); - mNetworkController.handleSetUserSetupComplete(false); + when(mMockProvisionController.isUserSetup(anyInt())).thenReturn(false); + mUserCallback.onUserSetupChanged(); // Don't show the X until the device is setup. verifyDataIndicators(0, 0); @@ -154,7 +158,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest { verifyDataIndicators(TelephonyIcons.DATA_LTE[1][0 /* No direction */], TelephonyIcons.QS_DATA_LTE); - Mockito.when(mServiceState.getDataNetworkType()) + when(mServiceState.getDataNetworkType()) .thenReturn(TelephonyManager.NETWORK_TYPE_HSPA); updateServiceState(); verifyDataIndicators(TelephonyIcons.DATA_H[1][0 /* No direction */], diff --git a/packages/SystemUI/tests/src/com/android/systemui/utils/leaks/FakeNetworkController.java b/packages/SystemUI/tests/src/com/android/systemui/utils/leaks/FakeNetworkController.java index 5497686da865d..47ed5ca053121 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/utils/leaks/FakeNetworkController.java +++ b/packages/SystemUI/tests/src/com/android/systemui/utils/leaks/FakeNetworkController.java @@ -46,11 +46,6 @@ public class FakeNetworkController extends BaseLeakChecker mEmergencyChecker.removeCallback(listener); } - @Override - public void setUserSetupComplete(boolean userSetup) { - - } - @Override public boolean hasEmergencyCryptKeeperText() { return false;