Loading packages/SettingsLib/src/com/android/settingslib/DeviceInfoUtils.java +24 −8 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import android.system.Os; import android.system.StructUtsname; import android.telephony.PhoneNumberUtils; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.text.BidiFormatter; import android.text.TextDirectionHeuristics; Loading @@ -33,7 +34,9 @@ import android.text.TextUtils; import android.text.format.DateFormat; import android.util.Log; import androidx.annotation.RequiresApi; import androidx.annotation.VisibleForTesting; import androidx.core.os.BuildCompat; import java.io.BufferedReader; import java.io.FileReader; Loading Loading @@ -179,10 +182,8 @@ public class DeviceInfoUtils { SubscriptionInfo subscriptionInfo) { String formattedNumber = null; if (subscriptionInfo != null) { final TelephonyManager telephonyManager = context.getSystemService( TelephonyManager.class); final String rawNumber = telephonyManager.createForSubscriptionId( subscriptionInfo.getSubscriptionId()).getLine1Number(); final String rawNumber = getRawPhoneNumber( context, subscriptionInfo.getSubscriptionId()); if (!TextUtils.isEmpty(rawNumber)) { formattedNumber = PhoneNumberUtils.formatNumber(rawNumber); } Loading @@ -194,12 +195,10 @@ public class DeviceInfoUtils { List<SubscriptionInfo> subscriptionInfoList) { StringBuilder sb = new StringBuilder(); if (subscriptionInfoList != null) { final TelephonyManager telephonyManager = context.getSystemService( TelephonyManager.class); final int count = subscriptionInfoList.size(); for (SubscriptionInfo subscriptionInfo : subscriptionInfoList) { final String rawNumber = telephonyManager.createForSubscriptionId( subscriptionInfo.getSubscriptionId()).getLine1Number(); final String rawNumber = getRawPhoneNumber( context, subscriptionInfo.getSubscriptionId()); if (!TextUtils.isEmpty(rawNumber)) { sb.append(PhoneNumberUtils.formatNumber(rawNumber)).append("\n"); } Loading @@ -219,4 +218,21 @@ public class DeviceInfoUtils { final String phoneNumber = getFormattedPhoneNumber(context, subscriptionInfo); return BidiFormatter.getInstance().unicodeWrap(phoneNumber, TextDirectionHeuristics.LTR); } private static String getRawPhoneNumber(Context context, int subscriptionId) { if (BuildCompat.isAtLeastT()) { return getRawPhoneNumberFromT(context, subscriptionId); } else { final TelephonyManager telephonyManager = context.getSystemService( TelephonyManager.class); return telephonyManager.createForSubscriptionId(subscriptionId).getLine1Number(); } } @RequiresApi(Build.VERSION_CODES.TIRAMISU) private static String getRawPhoneNumberFromT(Context context, int subscriptionId) { final SubscriptionManager subscriptionManager = context.getSystemService( SubscriptionManager.class); return subscriptionManager.getPhoneNumber(subscriptionId); } } Loading
packages/SettingsLib/src/com/android/settingslib/DeviceInfoUtils.java +24 −8 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import android.system.Os; import android.system.StructUtsname; import android.telephony.PhoneNumberUtils; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.text.BidiFormatter; import android.text.TextDirectionHeuristics; Loading @@ -33,7 +34,9 @@ import android.text.TextUtils; import android.text.format.DateFormat; import android.util.Log; import androidx.annotation.RequiresApi; import androidx.annotation.VisibleForTesting; import androidx.core.os.BuildCompat; import java.io.BufferedReader; import java.io.FileReader; Loading Loading @@ -179,10 +182,8 @@ public class DeviceInfoUtils { SubscriptionInfo subscriptionInfo) { String formattedNumber = null; if (subscriptionInfo != null) { final TelephonyManager telephonyManager = context.getSystemService( TelephonyManager.class); final String rawNumber = telephonyManager.createForSubscriptionId( subscriptionInfo.getSubscriptionId()).getLine1Number(); final String rawNumber = getRawPhoneNumber( context, subscriptionInfo.getSubscriptionId()); if (!TextUtils.isEmpty(rawNumber)) { formattedNumber = PhoneNumberUtils.formatNumber(rawNumber); } Loading @@ -194,12 +195,10 @@ public class DeviceInfoUtils { List<SubscriptionInfo> subscriptionInfoList) { StringBuilder sb = new StringBuilder(); if (subscriptionInfoList != null) { final TelephonyManager telephonyManager = context.getSystemService( TelephonyManager.class); final int count = subscriptionInfoList.size(); for (SubscriptionInfo subscriptionInfo : subscriptionInfoList) { final String rawNumber = telephonyManager.createForSubscriptionId( subscriptionInfo.getSubscriptionId()).getLine1Number(); final String rawNumber = getRawPhoneNumber( context, subscriptionInfo.getSubscriptionId()); if (!TextUtils.isEmpty(rawNumber)) { sb.append(PhoneNumberUtils.formatNumber(rawNumber)).append("\n"); } Loading @@ -219,4 +218,21 @@ public class DeviceInfoUtils { final String phoneNumber = getFormattedPhoneNumber(context, subscriptionInfo); return BidiFormatter.getInstance().unicodeWrap(phoneNumber, TextDirectionHeuristics.LTR); } private static String getRawPhoneNumber(Context context, int subscriptionId) { if (BuildCompat.isAtLeastT()) { return getRawPhoneNumberFromT(context, subscriptionId); } else { final TelephonyManager telephonyManager = context.getSystemService( TelephonyManager.class); return telephonyManager.createForSubscriptionId(subscriptionId).getLine1Number(); } } @RequiresApi(Build.VERSION_CODES.TIRAMISU) private static String getRawPhoneNumberFromT(Context context, int subscriptionId) { final SubscriptionManager subscriptionManager = context.getSystemService( SubscriptionManager.class); return subscriptionManager.getPhoneNumber(subscriptionId); } }