Hide number label if info is opportunistic

Fixes: 125855323
Test: RunSettingsRoboTests
Change-Id: I6f77d65691319097c9bf56232710ba12fa7360f3
diff --git a/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragment.java b/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragment.java
index 7a131d7..f7e7de5 100644
--- a/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragment.java
+++ b/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragment.java
@@ -109,7 +109,7 @@
 
     @VisibleForTesting
     protected void populateView(View view) {
-        mNameView = (EditText) view.findViewById(R.id.edittext);
+        mNameView = view.findViewById(R.id.edittext);
         final SubscriptionInfo info = mSubscriptionManager.getActiveSubscriptionInfo(mSubId);
         if (info == null) {
             Log.w(TAG, "got null SubscriptionInfo for mSubId:" + mSubId);
@@ -125,6 +125,9 @@
         final ServiceState serviceState = mTelephonyManager.getServiceStateForSubscriber(mSubId);
         operatorName.setText(serviceState.getOperatorAlphaLong());
 
+        final TextView phoneTitle = view.findViewById(R.id.number_label);
+        phoneTitle.setVisibility(info.isOpportunistic() ? View.GONE : View.VISIBLE);
+
         final TextView phoneNumber = view.findViewById(R.id.number_value);
         final String formattedNumber = DeviceInfoUtils.getFormattedPhoneNumber(getContext(), info);
         phoneNumber.setText(BidiFormatter.getInstance().unicodeWrap(formattedNumber,
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 70816ea..5b008be 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragmentTest.java
@@ -34,9 +34,15 @@
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
+import android.view.LayoutInflater;
+import android.view.View;
 import android.widget.Button;
 import android.widget.EditText;
 
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.FragmentActivity;
+
+import com.android.settings.R;
 import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
 
 import org.junit.Before;
@@ -49,9 +55,6 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.annotation.Config;
 
-import androidx.appcompat.app.AlertDialog;
-import androidx.fragment.app.FragmentActivity;
-
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = ShadowAlertDialogCompat.class)
 public class RenameMobileNetworkDialogFragmentTest {
@@ -123,6 +126,20 @@
         assertThat(captor.getValue()).isEqualTo("test2");
     }
 
+    @Test
+    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();
+        mFragment.populateView(view);
+
+        assertThat(view.findViewById(R.id.number_label).getVisibility()).isEqualTo(View.GONE);
+    }
+
     /** Helper method to start the dialog */
     private AlertDialog startDialog() {
         mFragment.show(mActivity.getSupportFragmentManager(), null);