Merge "Add method to retrieve MSISDN for CDMA/LTE devices."

This commit is contained in:
Jake Hamby
2011-09-13 13:50:20 -07:00
committed by Android (Google) Code Review
7 changed files with 34 additions and 2 deletions

View File

@@ -932,7 +932,8 @@ public interface Phone {
boolean getCallForwardingIndicator();
/**
* Get the line 1 phone number (MSISDN).<p>
* Get the line 1 phone number (MSISDN). For CDMA phones, the MDN is returned
* and {@link #getMsisdn()} will return the MSISDN on CDMA/LTE phones.<p>
*
* @return phone number. May return null if not
* available or the SIM is not ready
@@ -1431,6 +1432,13 @@ public interface Phone {
*/
String getMeid();
/**
* Retrieves the MSISDN from the UICC. For GSM/UMTS phones, this is equivalent to
* {@link #getLine1Number()}. For CDMA phones, {@link #getLine1Number()} returns
* the MDN, so this method is provided to return the MSISDN on CDMA/LTE phones.
*/
String getMsisdn();
/**
* Retrieves IMEI for phones. Returns null if IMEI is not set.
*/

View File

@@ -1124,6 +1124,11 @@ public abstract class PhoneBase extends Handler implements Phone {
Log.e(LOG_TAG, "requestIsimAuthentication() is only supported on LTE devices");
}
public String getMsisdn() {
logUnexpectedGsmMethodCall("getMsisdn");
return null;
}
/**
* Common error logger method for unexpected calls to CDMA-only methods.
*/

View File

@@ -686,6 +686,10 @@ public class PhoneProxy extends Handler implements Phone {
return mActivePhone.getMeid();
}
public String getMsisdn() {
return mActivePhone.getMsisdn();
}
public String getImei() {
return mActivePhone.getImei();
}

View File

@@ -140,6 +140,11 @@ public class CDMALTEPhone extends CDMAPhone {
return mIccRecords.getIsimRecords();
}
@Override
public String getMsisdn() {
return mIccRecords.getMsisdnNumber();
}
@Override
public void requestIsimAuthentication(String nonce, Message result) {
mCM.requestIsimAuthentication(nonce, result);

View File

@@ -19,6 +19,7 @@ import android.os.AsyncResult;
import android.os.SystemProperties;
import android.util.Log;
import com.android.internal.telephony.AdnRecordLoader;
import com.android.internal.telephony.GsmAlphabet;
import com.android.internal.telephony.IccCardApplication.AppType;
import com.android.internal.telephony.IccFileHandler;
@@ -276,6 +277,10 @@ public final class CdmaLteUiccRecords extends SIMRecords {
obtainMessage(EVENT_GET_ICC_RECORD_DONE, new EfPlLoaded()));
recordsToLoad++;
new AdnRecordLoader(phone).loadFromEF(EF_MSISDN, EF_EXT1, 1,
obtainMessage(EVENT_GET_MSISDN_DONE));
recordsToLoad++;
iccFh.loadEFTransparent(EF_CSIM_LI,
obtainMessage(EVENT_GET_ICC_RECORD_DONE, new EfCsimLiLoaded()));
recordsToLoad++;

View File

@@ -877,6 +877,11 @@ public class GSMPhone extends PhoneBase {
return mIccRecords.getMsisdnNumber();
}
@Override
public String getMsisdn() {
return mIccRecords.getMsisdnNumber();
}
public String getLine1AlphaTag() {
return mIccRecords.getMsisdnAlphaTag();
}

View File

@@ -127,7 +127,7 @@ public class SIMRecords extends IccRecords {
private static final int EVENT_GET_MWIS_DONE = 7;
private static final int EVENT_GET_VOICE_MAIL_INDICATOR_CPHS_DONE = 8;
protected static final int EVENT_GET_AD_DONE = 9; // Admin data on SIM
private static final int EVENT_GET_MSISDN_DONE = 10;
protected static final int EVENT_GET_MSISDN_DONE = 10;
private static final int EVENT_GET_CPHS_MAILBOX_DONE = 11;
private static final int EVENT_GET_SPN_DONE = 12;
private static final int EVENT_GET_SPDI_DONE = 13;