From 62efb183654d7faee8b7eab48fcc8bbf320c49cc Mon Sep 17 00:00:00 2001 From: Sarah Chin Date: Fri, 6 Nov 2020 11:30:45 -0800 Subject: [PATCH] Update signal strength on ServiceState in service Test: make RunSettingsRobotTests Bug: 167643728 Change-Id: Ibf69f9e9ec2acafef1316069d37b8d2a27d7d4d7 Merged-In: Ibf69f9e9ec2acafef1316069d37b8d2a27d7d4d7 (cherry picked from commit 3b3704d693caf720ef0cc258750f8dacedd10583) --- .../simstatus/SimStatusDialogController.java | 7 ++++++- .../simstatus/SimStatusDialogControllerTest.java | 13 +++++++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java b/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java index 370bdfb686e..61f0ad6021e 100644 --- a/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java +++ b/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java @@ -140,6 +140,7 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O private SubscriptionInfo mSubscriptionInfo; private TelephonyDisplayInfo mTelephonyDisplayInfo; + private ServiceState mPreviousServiceState; private final int mSlotIndex; private TelephonyManager mTelephonyManager; @@ -425,6 +426,9 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O final int state = Utils.getCombinedServiceState(serviceState); if (!Utils.isInService(serviceState)) { resetSignalStrength(); + } else if (!Utils.isInService(mPreviousServiceState)) { + // If ServiceState changed from out of service -> in service, update signal strength. + updateSignalStrength(mTelephonyManager.getSignalStrength()); } String serviceStateValue; @@ -472,7 +476,7 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O } ServiceState serviceState = mTelephonyManager.getServiceState(); - if (serviceState == null || !Utils.isInService(serviceState)) { + if (!Utils.isInService(serviceState)) { return; } @@ -755,6 +759,7 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O updateNetworkProvider(); updateServiceState(serviceState); updateRoamingStatus(serviceState); + mPreviousServiceState = serviceState; } @Override diff --git a/tests/robotests/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogControllerTest.java index bbab2592707..a854c04ec2b 100644 --- a/tests/robotests/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogControllerTest.java +++ b/tests/robotests/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogControllerTest.java @@ -42,6 +42,7 @@ import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import static org.robolectric.Shadows.shadowOf; @@ -293,7 +294,7 @@ public class SimStatusDialogControllerTest { final String signalStrengthString = mContext.getString(R.string.sim_signal_strength, lteDbm, lteAsu); - verify(mDialog).setText(SIGNAL_STRENGTH_VALUE_ID, signalStrengthString); + verify(mDialog, times(2)).setText(SIGNAL_STRENGTH_VALUE_ID, signalStrengthString); } @Test @@ -310,7 +311,7 @@ public class SimStatusDialogControllerTest { final String signalStrengthString = mContext.getString(R.string.sim_signal_strength, lteDbm, lteAsu); - verify(mDialog).setText(SIGNAL_STRENGTH_VALUE_ID, signalStrengthString); + verify(mDialog, times(2)).setText(SIGNAL_STRENGTH_VALUE_ID, signalStrengthString); } @Test @@ -330,7 +331,7 @@ public class SimStatusDialogControllerTest { final String signalStrengthString = mContext.getString(R.string.sim_signal_strength, lteDbm, lteAsu); - verify(mDialog).setText(SIGNAL_STRENGTH_VALUE_ID, signalStrengthString); + verify(mDialog, times(2)).setText(SIGNAL_STRENGTH_VALUE_ID, signalStrengthString); } @Test @@ -394,8 +395,8 @@ public class SimStatusDialogControllerTest { mController.initialize(); - verify(mDialog).removeSettingFromScreen(SIGNAL_STRENGTH_LABEL_ID); - verify(mDialog).removeSettingFromScreen(SIGNAL_STRENGTH_VALUE_ID); + verify(mDialog, times(2)).removeSettingFromScreen(SIGNAL_STRENGTH_LABEL_ID); + verify(mDialog, times(2)).removeSettingFromScreen(SIGNAL_STRENGTH_VALUE_ID); } @Test @@ -405,7 +406,7 @@ public class SimStatusDialogControllerTest { mController.initialize(); - verify(mDialog).setText(eq(SIGNAL_STRENGTH_VALUE_ID), any()); + verify(mDialog, times(2)).setText(eq(SIGNAL_STRENGTH_VALUE_ID), any()); verify(mDialog).removeSettingFromScreen(ICCID_INFO_LABEL_ID); verify(mDialog).removeSettingFromScreen(ICCID_INFO_VALUE_ID); }