Return reasonable phone type if no sim inserted.
With no sim, there's no subscription, no default phone, etc. If we're asked for phone type for an invalid sub, just use the first phone. bug: 20760370 Change-Id: Ide7b0679e7253e1f1ce563a68fbbec1ff8c24daf
This commit is contained in:
@@ -944,10 +944,17 @@ public class TelephonyManager {
|
||||
/** {@hide} */
|
||||
@SystemApi
|
||||
public int getCurrentPhoneType(int subId) {
|
||||
int phoneId = SubscriptionManager.getPhoneId(subId);
|
||||
int phoneId;
|
||||
if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
|
||||
// if we don't have any sims, we don't have subscriptions, but we
|
||||
// still may want to know what type of phone we've got.
|
||||
phoneId = 0;
|
||||
} else {
|
||||
phoneId = SubscriptionManager.getPhoneId(subId);
|
||||
}
|
||||
try{
|
||||
ITelephony telephony = getITelephony();
|
||||
if (telephony != null) {
|
||||
if (telephony != null && subId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
|
||||
return telephony.getActivePhoneTypeForSubscriber(subId);
|
||||
} else {
|
||||
// This can happen when the ITelephony interface is not up yet.
|
||||
|
||||
Reference in New Issue
Block a user