diff --git a/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragment.java b/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragment.java index fa5deab2bb9..ab8327c7f97 100644 --- a/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragment.java +++ b/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragment.java @@ -48,8 +48,6 @@ import com.android.settings.R; import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settingslib.DeviceInfoUtils; -import java.util.List; - /** * A dialog allowing the display name of a mobile network subscription to be changed */ @@ -117,9 +115,9 @@ public class RenameMobileNetworkDialogFragment extends InstrumentedDialogFragmen .setPositiveButton(R.string.mobile_network_sim_name_rename, (dialog, which) -> { mSubscriptionManager.setDisplayName(mNameView.getText().toString(), mSubId, SubscriptionManager.NAME_SOURCE_USER_INPUT); - final Color color = (mColorSpinner == null) ? mColors[0] - : mColors[mColorSpinner.getSelectedItemPosition()]; - mSubscriptionManager.setIconTint(color.getColor(), mSubId); + mSubscriptionManager.setIconTint( + mColors[mColorSpinner.getSelectedItemPosition()].getColor(), + mSubId); }) .setNegativeButton(android.R.string.cancel, null); return builder.create(); @@ -128,17 +126,7 @@ public class RenameMobileNetworkDialogFragment extends InstrumentedDialogFragmen @VisibleForTesting protected void populateView(View view) { mNameView = view.findViewById(R.id.name_edittext); - SubscriptionInfo info = null; - final List infoList = mSubscriptionManager - .getAvailableSubscriptionInfoList(); - if (infoList != null) { - for (SubscriptionInfo subInfo : infoList) { - if (subInfo.getSubscriptionId() == mSubId) { - info = subInfo; - break; - } - } - } + final SubscriptionInfo info = mSubscriptionManager.getActiveSubscriptionInfo(mSubId); if (info == null) { Log.w(TAG, "got null SubscriptionInfo for mSubId:" + mSubId); return; diff --git a/tests/robotests/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragmentTest.java b/tests/robotests/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragmentTest.java index 5b34106bdde..2d5f47bd2d4 100644 --- a/tests/robotests/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragmentTest.java +++ b/tests/robotests/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragmentTest.java @@ -23,12 +23,12 @@ import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import android.content.Context; import android.content.DialogInterface; import android.graphics.Color; import android.telephony.ServiceState; @@ -56,13 +56,7 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.Robolectric; import org.robolectric.RobolectricTestRunner; -import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; -import org.robolectric.shadow.api.Shadow; -import org.robolectric.shadows.ShadowTelephonyManager; - -import java.util.ArrayList; -import java.util.List; @RunWith(RobolectricTestRunner.class) @Config(shadows = ShadowAlertDialogCompat.class) @@ -71,8 +65,6 @@ public class RenameMobileNetworkDialogFragmentTest { @Mock private TelephonyManager mTelephonyMgr; @Mock - private ServiceState mServiceState; - @Mock private SubscriptionManager mSubscriptionMgr; @Mock private SubscriptionInfo mSubscriptionInfo; @@ -80,35 +72,23 @@ public class RenameMobileNetworkDialogFragmentTest { private FragmentActivity mActivity; private RenameMobileNetworkDialogFragment mFragment; private int mSubscriptionId = 1234; - private List mSubscriptionInfoList; @Before public void setUp() { MockitoAnnotations.initMocks(this); - - Context context = spy(RuntimeEnvironment.application); - - final ShadowTelephonyManager stm = Shadow.extract(context.getSystemService( - TelephonyManager.class)); - stm.setTelephonyManagerForSubscriptionId(mSubscriptionId, mTelephonyMgr); - when(mTelephonyMgr.createForSubscriptionId(anyInt())).thenReturn(mTelephonyMgr); - - when(mTelephonyMgr.getServiceState()).thenReturn(mServiceState); - when(mServiceState.getOperatorAlphaLong()).thenReturn("fake carrier name"); + mActivity = spy(Robolectric.buildActivity(FragmentActivity.class).setup().get()); when(mSubscriptionInfo.getSubscriptionId()).thenReturn(mSubscriptionId); when(mSubscriptionInfo.getDisplayName()).thenReturn("test"); - when(mSubscriptionMgr.setDisplayName(any(), anyInt(), anyInt())).thenReturn(0); - - mActivity = spy(Robolectric.buildActivity(FragmentActivity.class).setup().get()); mFragment = spy(RenameMobileNetworkDialogFragment.newInstance(mSubscriptionId)); + doReturn(mTelephonyMgr).when(mFragment).getTelephonyManager(any()); doReturn(mSubscriptionMgr).when(mFragment).getSubscriptionManager(any()); - mSubscriptionInfoList = new ArrayList(); - mSubscriptionInfoList.add(mSubscriptionInfo); - when(mSubscriptionMgr.getAvailableSubscriptionInfoList()).thenReturn( - mSubscriptionInfoList); + final ServiceState serviceState = mock(ServiceState.class); + when(serviceState.getOperatorAlphaLong()).thenReturn("fake carrier name"); + when(mTelephonyMgr.createForSubscriptionId(anyInt())).thenReturn(mTelephonyMgr); + when(mTelephonyMgr.getServiceState()).thenReturn(serviceState); } @Test @@ -123,6 +103,8 @@ public class RenameMobileNetworkDialogFragmentTest { @Test @Ignore public void dialog_cancelButtonClicked_setDisplayNameAndIconTintNotCalled() { + when(mSubscriptionMgr.getActiveSubscriptionInfo(mSubscriptionId)).thenReturn( + mSubscriptionInfo); final AlertDialog dialog = startDialog(); final EditText nameView = mFragment.getNameView(); nameView.setText("test2"); @@ -137,6 +119,9 @@ public class RenameMobileNetworkDialogFragmentTest { @Test @Ignore public void dialog_saveButtonClicked_setDisplayNameAndIconTint() { + when(mSubscriptionMgr.getActiveSubscriptionInfo(mSubscriptionId)).thenReturn( + mSubscriptionInfo); + final AlertDialog dialog = startDialog(); final EditText nameView = mFragment.getNameView(); nameView.setText("test2"); @@ -160,6 +145,8 @@ public class RenameMobileNetworkDialogFragmentTest { public void populateView_infoIsOpportunistic_hideNumberLabel() { final View view = LayoutInflater.from(mActivity).inflate( R.layout.dialog_mobile_network_rename, null); + when(mSubscriptionMgr.getActiveSubscriptionInfo(mSubscriptionId)).thenReturn( + mSubscriptionInfo); when(mSubscriptionInfo.isOpportunistic()).thenReturn(true); startDialog();