Merge "Synced the code from master branch"
am: 64efbe1240
Change-Id: I042c2bb85876bf67acc98113f01186e831adeae5
diff --git a/src/com/android/settings/deviceinfo/PhoneNumberPreferenceController.java b/src/com/android/settings/deviceinfo/PhoneNumberPreferenceController.java
index 537c705..55e8dc2 100644
--- a/src/com/android/settings/deviceinfo/PhoneNumberPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/PhoneNumberPreferenceController.java
@@ -24,8 +24,6 @@
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
-import android.text.BidiFormatter;
-import android.text.TextDirectionHeuristics;
import android.text.TextUtils;
import android.widget.Toast;
@@ -159,10 +157,10 @@
@VisibleForTesting
CharSequence getFormattedPhoneNumber(SubscriptionInfo subscriptionInfo) {
- final String phoneNumber = DeviceInfoUtils.getFormattedPhoneNumber(mContext,
+ final String phoneNumber = DeviceInfoUtils.getBidiFormattedPhoneNumber(mContext,
subscriptionInfo);
return TextUtils.isEmpty(phoneNumber) ? mContext.getString(R.string.device_info_default)
- : BidiFormatter.getInstance().unicodeWrap(phoneNumber, TextDirectionHeuristics.LTR);
+ : phoneNumber;
}
@VisibleForTesting
diff --git a/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java b/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java
index 86374b4..166eda3 100644
--- a/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java
+++ b/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java
@@ -35,8 +35,6 @@
import android.telephony.SubscriptionManager.OnSubscriptionsChangedListener;
import android.telephony.TelephonyManager;
import android.telephony.euicc.EuiccManager;
-import android.text.BidiFormatter;
-import android.text.TextDirectionHeuristics;
import android.text.TextUtils;
import androidx.annotation.NonNull;
@@ -224,8 +222,8 @@
private void updatePhoneNumber() {
// If formattedNumber is null or empty, it'll display as "Unknown".
- mDialog.setText(PHONE_NUMBER_VALUE_ID, BidiFormatter.getInstance().unicodeWrap(
- getPhoneNumber(), TextDirectionHeuristics.LTR));
+ mDialog.setText(PHONE_NUMBER_VALUE_ID,
+ DeviceInfoUtils.getBidiFormattedPhoneNumber(mContext, mSubscriptionInfo));
}
private void updateDataState(int state) {
@@ -462,11 +460,6 @@
}
@VisibleForTesting
- String getPhoneNumber() {
- return DeviceInfoUtils.getFormattedPhoneNumber(mContext, mSubscriptionInfo);
- }
-
- @VisibleForTesting
SignalStrength getSignalStrength() {
return mTelephonyManager.getSignalStrength();
}
diff --git a/src/com/android/settings/homepage/contextualcards/deviceinfo/DeviceInfoSlice.java b/src/com/android/settings/homepage/contextualcards/deviceinfo/DeviceInfoSlice.java
index 48a9aa5..f3baaa1 100644
--- a/src/com/android/settings/homepage/contextualcards/deviceinfo/DeviceInfoSlice.java
+++ b/src/com/android/settings/homepage/contextualcards/deviceinfo/DeviceInfoSlice.java
@@ -23,8 +23,6 @@
import android.net.Uri;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
-import android.text.BidiFormatter;
-import android.text.TextDirectionHeuristics;
import android.text.TextUtils;
import androidx.annotation.VisibleForTesting;
@@ -100,10 +98,10 @@
if (subscriptionInfo == null) {
return mContext.getString(R.string.device_info_default);
}
- final String phoneNumber = DeviceInfoUtils.getFormattedPhoneNumber(mContext,
+ final String phoneNumber = DeviceInfoUtils.getBidiFormattedPhoneNumber(mContext,
subscriptionInfo);
return TextUtils.isEmpty(phoneNumber) ? mContext.getString(R.string.device_info_default)
- : BidiFormatter.getInstance().unicodeWrap(phoneNumber, TextDirectionHeuristics.LTR);
+ : phoneNumber;
}
private CharSequence getDeviceModel() {
diff --git a/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragment.java b/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragment.java
index a28fc91..2085cdf 100644
--- a/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragment.java
+++ b/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragment.java
@@ -28,14 +28,11 @@
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
-import android.text.BidiFormatter;
-import android.text.TextDirectionHeuristics;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ImageView;
@@ -159,9 +156,7 @@
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,
- TextDirectionHeuristics.LTR));
+ phoneNumber.setText(DeviceInfoUtils.getBidiFormattedPhoneNumber(getContext(), info));
}
@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 0f39fc9..147e627 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogControllerTest.java
@@ -70,8 +70,11 @@
import androidx.lifecycle.LifecycleOwner;
import com.android.settings.R;
+import com.android.settings.testutils.shadow.ShadowDeviceInfoUtils;
+import com.android.settingslib.DeviceInfoUtils;
import com.android.settingslib.core.lifecycle.Lifecycle;
+import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -80,10 +83,12 @@
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.Shadows;
+import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowPackageManager;
import org.robolectric.util.ReflectionHelpers;
@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowDeviceInfoUtils.class})
public class SimStatusDialogControllerTest {
@Mock
@@ -120,11 +125,11 @@
mLifecycleOwner = () -> mLifecycle;
mLifecycle = new Lifecycle(mLifecycleOwner);
mController = spy(new SimStatusDialogController(mDialog, mLifecycle, 0 /* phone id */));
+ ShadowDeviceInfoUtils.setPhoneNumber("");
doReturn(mServiceState).when(mController).getCurrentServiceState();
doReturn(0).when(mSignalStrength).getDbm();
doReturn(0).when(mSignalStrength).getAsuLevel();
doReturn(mPhoneStateListener).when(mController).getPhoneStateListener();
- doReturn("").when(mController).getPhoneNumber();
doReturn(mSignalStrength).when(mController).getSignalStrength();
doReturn(mSubscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(anyInt());
@@ -147,6 +152,11 @@
shadowPackageManager.addPackage(sysUIPackageInfo);
}
+ @After
+ public void tearDown() {
+ ShadowDeviceInfoUtils.reset();
+ }
+
@Test
public void initialize_updateNetworkProviderWithFoobarCarrier_shouldUpdateCarrierWithFoobar() {
final CharSequence carrierName = "foobar";
@@ -159,8 +169,10 @@
@Test
public void initialize_updatePhoneNumberWith1111111111_shouldUpdatePhoneNumber() {
- final String phoneNumber = "1111111111";
- doReturn(phoneNumber).when(mController).getPhoneNumber();
+ ShadowDeviceInfoUtils.setPhoneNumber("1111111111");
+
+ final String phoneNumber = DeviceInfoUtils.getBidiFormattedPhoneNumber(mContext,
+ mSubscriptionInfo);
mController.initialize();
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDeviceInfoUtils.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDeviceInfoUtils.java
new file mode 100644
index 0000000..dda98e3
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDeviceInfoUtils.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.settings.testutils.shadow;
+
+import android.content.Context;
+import android.telephony.SubscriptionInfo;
+
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+import org.robolectric.annotation.Resetter;
+
+@Implements(com.android.settingslib.DeviceInfoUtils.class)
+public class ShadowDeviceInfoUtils {
+ private static String sPhoneNumber;
+
+ @Resetter
+ public static void reset() {
+ sPhoneNumber = "";
+ }
+
+ @Implementation
+ public static String getBidiFormattedPhoneNumber(Context context,
+ SubscriptionInfo subscriptionInfo) {
+ return sPhoneNumber;
+ }
+
+ public static void setPhoneNumber(String phoneNumber) {
+ sPhoneNumber = phoneNumber;
+ }
+}
\ No newline at end of file