Merge "Card ID APIs are public" am: bd4a4dc889
am: a039e692a4
Change-Id: I6041944772567794b79a355c9f77767ed61c0f76
This commit is contained in:
@@ -42882,6 +42882,7 @@ package android.telephony {
|
||||
public class SubscriptionInfo implements android.os.Parcelable {
|
||||
method public android.graphics.Bitmap createIconBitmap(android.content.Context);
|
||||
method public int describeContents();
|
||||
method public int getCardId();
|
||||
method public int getCarrierId();
|
||||
method public CharSequence getCarrierName();
|
||||
method public String getCountryIso();
|
||||
@@ -42998,6 +42999,7 @@ package android.telephony {
|
||||
method public android.telephony.TelephonyManager createForSubscriptionId(int);
|
||||
method @RequiresPermission(android.Manifest.permission.ACCESS_COARSE_LOCATION) public java.util.List<android.telephony.CellInfo> getAllCellInfo();
|
||||
method public int getCallState();
|
||||
method public int getCardIdForDefaultEuicc();
|
||||
method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) @WorkerThread public android.os.PersistableBundle getCarrierConfig();
|
||||
method public int getCarrierIdFromSimMccMnc();
|
||||
method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public android.telephony.CellLocation getCellLocation();
|
||||
@@ -43045,6 +43047,7 @@ package android.telephony {
|
||||
method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getSubscriberId();
|
||||
method public String getTypeAllocationCode();
|
||||
method public String getTypeAllocationCode(int);
|
||||
method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public java.util.List<android.telephony.UiccCardInfo> getUiccCardsInfo();
|
||||
method @Nullable @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getVisualVoicemailPackageName();
|
||||
method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getVoiceMailAlphaTag();
|
||||
method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getVoiceMailNumber();
|
||||
@@ -43136,6 +43139,7 @@ package android.telephony {
|
||||
field public static final String EXTRA_STATE_RINGING;
|
||||
field public static final String EXTRA_SUBSCRIPTION_ID = "android.telephony.extra.SUBSCRIPTION_ID";
|
||||
field public static final String EXTRA_VOICEMAIL_NUMBER = "android.telephony.extra.VOICEMAIL_NUMBER";
|
||||
field public static final int INVALID_CARD_ID = -1; // 0xffffffff
|
||||
field public static final String METADATA_HIDE_VOICEMAIL_SETTINGS_MENU = "android.telephony.HIDE_VOICEMAIL_SETTINGS_MENU";
|
||||
field public static final int NETWORK_TYPE_1xRTT = 7; // 0x7
|
||||
field public static final int NETWORK_TYPE_CDMA = 4; // 0x4
|
||||
@@ -43203,6 +43207,18 @@ package android.telephony {
|
||||
method public void onResults(java.util.List<android.telephony.CellInfo>);
|
||||
}
|
||||
|
||||
public final class UiccCardInfo implements android.os.Parcelable {
|
||||
ctor public UiccCardInfo(boolean, int, String, String, int);
|
||||
method public int describeContents();
|
||||
method public int getCardId();
|
||||
method public String getEid();
|
||||
method public String getIccId();
|
||||
method public int getSlotIndex();
|
||||
method public boolean isEuicc();
|
||||
method public void writeToParcel(android.os.Parcel, int);
|
||||
field public static final android.os.Parcelable.Creator<android.telephony.UiccCardInfo> CREATOR;
|
||||
}
|
||||
|
||||
public abstract class VisualVoicemailService extends android.app.Service {
|
||||
ctor public VisualVoicemailService();
|
||||
method public android.os.IBinder onBind(android.content.Intent);
|
||||
|
||||
@@ -6226,7 +6226,6 @@ package android.telephony {
|
||||
|
||||
public class SubscriptionInfo implements android.os.Parcelable {
|
||||
method @Nullable public java.util.List<android.telephony.UiccAccessRule> getAccessRules();
|
||||
method public int getCardId();
|
||||
method public int getProfileClass();
|
||||
}
|
||||
|
||||
@@ -6286,7 +6285,6 @@ package android.telephony {
|
||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void enableVideoCalling(boolean);
|
||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getAidForAppType(int);
|
||||
method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.service.carrier.CarrierIdentifier> getAllowedCarriers(int);
|
||||
method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public int getCardIdForDefaultEuicc();
|
||||
method public java.util.List<java.lang.String> getCarrierPackageNamesForIntent(android.content.Intent);
|
||||
method public java.util.List<java.lang.String> getCarrierPackageNamesForIntentAndPhone(android.content.Intent, int);
|
||||
method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.CarrierRestrictionRules getCarrierRestrictionRules();
|
||||
@@ -6309,7 +6307,6 @@ package android.telephony {
|
||||
method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getSimLocale();
|
||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSupportedRadioAccessFamily();
|
||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public java.util.List<android.telephony.TelephonyHistogram> getTelephonyHistograms();
|
||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.UiccCardInfo[] getUiccCardsInfo();
|
||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.UiccSlotInfo[] getUiccSlotsInfo();
|
||||
method @Nullable public android.os.Bundle getVisualVoicemailSettings();
|
||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getVoiceActivationState();
|
||||
@@ -6357,7 +6354,6 @@ package android.telephony {
|
||||
field public static final String EXTRA_SIM_STATE = "android.telephony.extra.SIM_STATE";
|
||||
field public static final String EXTRA_VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL = "android.telephony.extra.VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL";
|
||||
field public static final String EXTRA_VOICEMAIL_SCRAMBLED_PIN_STRING = "android.telephony.extra.VOICEMAIL_SCRAMBLED_PIN_STRING";
|
||||
field public static final int INVALID_CARD_ID = -1; // 0xffffffff
|
||||
field public static final long MAX_NUMBER_VERIFICATION_TIMEOUT_MILLIS = 60000L; // 0xea60L
|
||||
field public static final int NETWORK_TYPE_BITMASK_1xRTT = 128; // 0x80
|
||||
field public static final int NETWORK_TYPE_BITMASK_CDMA = 16; // 0x10
|
||||
@@ -6409,18 +6405,6 @@ package android.telephony {
|
||||
field public static final android.os.Parcelable.Creator<android.telephony.UiccAccessRule> CREATOR;
|
||||
}
|
||||
|
||||
public class UiccCardInfo implements android.os.Parcelable {
|
||||
ctor public UiccCardInfo(boolean, int, String, String, int);
|
||||
method public int describeContents();
|
||||
method public int getCardId();
|
||||
method public String getEid();
|
||||
method public String getIccId();
|
||||
method public int getSlotIndex();
|
||||
method public boolean isEuicc();
|
||||
method public void writeToParcel(android.os.Parcel, int);
|
||||
field public static final android.os.Parcelable.Creator<android.telephony.UiccCardInfo> CREATOR;
|
||||
}
|
||||
|
||||
public class UiccSlotInfo implements android.os.Parcelable {
|
||||
ctor public UiccSlotInfo(boolean, boolean, String, int, int, boolean);
|
||||
method public int describeContents();
|
||||
|
||||
@@ -577,10 +577,10 @@ public class SubscriptionInfo implements Parcelable {
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the cardId of the SIM card which contains the subscription.
|
||||
* @hide
|
||||
* Returns the card ID of the SIM card which contains the subscription (see
|
||||
* {@link UiccCardInfo#getCardId()}.
|
||||
* @return the cardId
|
||||
*/
|
||||
@SystemApi
|
||||
public int getCardId() {
|
||||
return this.mCardId;
|
||||
}
|
||||
|
||||
@@ -227,10 +227,9 @@ public class TelephonyManager {
|
||||
public static final int SRVCC_STATE_HANDOVER_CANCELED = 3;
|
||||
|
||||
/**
|
||||
* An invalid card identifier.
|
||||
* @hide
|
||||
* An invalid UICC card identifier. See {@link #getCardIdForDefaultEuicc()} and
|
||||
* {@link UiccCardInfo#getCardId()}.
|
||||
*/
|
||||
@SystemApi
|
||||
public static final int INVALID_CARD_ID = -1;
|
||||
|
||||
/** @hide */
|
||||
@@ -3118,14 +3117,8 @@ public class TelephonyManager {
|
||||
* unique to a device, and always refer to the same UICC or eUICC card unless the device goes
|
||||
* through a factory reset.
|
||||
*
|
||||
* <p>Requires Permission: {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
|
||||
*
|
||||
* @return card ID of the default eUICC card.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@SuppressAutoDoc // Blocked by b/72967236 - no support for carrier privileges
|
||||
@RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
|
||||
public int getCardIdForDefaultEuicc() {
|
||||
try {
|
||||
ITelephony telephony = getITelephony();
|
||||
@@ -3139,25 +3132,37 @@ public class TelephonyManager {
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets information about currently inserted UICCs and eUICCs. See {@link UiccCardInfo} for more
|
||||
* details on the kind of information available.
|
||||
* Gets information about currently inserted UICCs and enabled eUICCs.
|
||||
* <p>
|
||||
* Requires that the calling app has carrier privileges (see {@link #hasCarrierPrivileges}).
|
||||
* <p>
|
||||
* If the caller has carrier priviliges on any active subscription, then they have permission to
|
||||
* get simple information like the card ID ({@link UiccCardInfo#getCardId()}), whether the card
|
||||
* is an eUICC ({@link UiccCardInfo#isEuicc()}), and the slot index where the card is inserted
|
||||
* ({@link UiccCardInfo#getSlotIndex()}).
|
||||
* <p>
|
||||
* To get private information such as the EID ({@link UiccCardInfo#getEid()}) or ICCID
|
||||
* ({@link UiccCardInfo#getIccId()}), the caller must have carrier priviliges on that specific
|
||||
* UICC or eUICC card.
|
||||
* <p>
|
||||
* See {@link UiccCardInfo} for more details on the kind of information available.
|
||||
*
|
||||
* @return UiccCardInfo an array of UiccCardInfo objects, representing information on the
|
||||
* currently inserted UICCs and eUICCs.
|
||||
*
|
||||
* @hide
|
||||
* @return a list of UiccCardInfo objects, representing information on the currently inserted
|
||||
* UICCs and eUICCs. Each UiccCardInfo in the list will have private information filtered out if
|
||||
* the caller does not have adequate permissions for that card.
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
|
||||
public UiccCardInfo[] getUiccCardsInfo() {
|
||||
public List<UiccCardInfo> getUiccCardsInfo() {
|
||||
try {
|
||||
ITelephony telephony = getITelephony();
|
||||
if (telephony == null) {
|
||||
return null;
|
||||
Log.e(TAG, "Error in getUiccCardsInfo: unable to connect to Telephony service.");
|
||||
return new ArrayList<UiccCardInfo>();
|
||||
}
|
||||
return telephony.getUiccCardsInfo();
|
||||
return telephony.getUiccCardsInfo(mContext.getOpPackageName());
|
||||
} catch (RemoteException e) {
|
||||
return null;
|
||||
Log.e(TAG, "Error in getUiccCardsInfo: " + e);
|
||||
return new ArrayList<UiccCardInfo>();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package android.telephony;
|
||||
|
||||
import android.annotation.SystemApi;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
@@ -23,10 +22,8 @@ import java.util.Objects;
|
||||
|
||||
/**
|
||||
* The UiccCardInfo represents information about a currently inserted UICC or embedded eUICC.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public class UiccCardInfo implements Parcelable {
|
||||
public final class UiccCardInfo implements Parcelable {
|
||||
|
||||
private final boolean mIsEuicc;
|
||||
private final int mCardId;
|
||||
@@ -95,6 +92,9 @@ public class UiccCardInfo implements Parcelable {
|
||||
/**
|
||||
* Get the embedded ID (EID) of the eUICC. If the UiccCardInfo is not an eUICC
|
||||
* (see {@link #isEuicc()}), returns null.
|
||||
* <p>
|
||||
* Note that this field may be omitted if the caller does not have the correct permissions
|
||||
* (see {@link TelephonyManager#getUiccCardsInfo()}).
|
||||
*/
|
||||
public String getEid() {
|
||||
if (!mIsEuicc) {
|
||||
@@ -105,6 +105,9 @@ public class UiccCardInfo implements Parcelable {
|
||||
|
||||
/**
|
||||
* Get the ICCID of the UICC.
|
||||
* <p>
|
||||
* Note that this field may be omitted if the caller does not have the correct permissions
|
||||
* (see {@link TelephonyManager#getUiccCardsInfo()}).
|
||||
*/
|
||||
public String getIccId() {
|
||||
return mIccId;
|
||||
@@ -117,6 +120,16 @@ public class UiccCardInfo implements Parcelable {
|
||||
return mSlotIndex;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a copy of the UiccCardinfo with the clears the EID and ICCID set to null. These
|
||||
* values are generally private and require carrier privileges to view.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
public UiccCardInfo getUnprivileged() {
|
||||
return new UiccCardInfo(mIsEuicc, mCardId, null, null, mSlotIndex);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj) {
|
||||
|
||||
@@ -1492,25 +1492,34 @@ interface ITelephony {
|
||||
* Get the card ID of the default eUICC card. If there is no eUICC, returns
|
||||
* {@link #INVALID_CARD_ID}.
|
||||
*
|
||||
* <p>Requires Permission: {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
|
||||
*
|
||||
* @param subId subscription ID used for authentication
|
||||
* @param callingPackage package making the call
|
||||
* @return card ID of the default eUICC card.
|
||||
* @hide
|
||||
*/
|
||||
int getCardIdForDefaultEuicc(int subId, String callingPackage);
|
||||
int getCardIdForDefaultEuicc(int subId, String callingPackage);
|
||||
|
||||
/**
|
||||
* Gets information about currently inserted UICCs and eUICCs. See {@link UiccCardInfo} for more
|
||||
* details on the kind of information available.
|
||||
* Gets information about currently inserted UICCs and enabled eUICCs.
|
||||
* <p>
|
||||
* Requires that the calling app has carrier privileges (see {@link #hasCarrierPrivileges}).
|
||||
* <p>
|
||||
* If the caller has carrier priviliges on any active subscription, then they have permission to
|
||||
* get simple information like the card ID ({@link UiccCardInfo#getCardId()}), whether the card
|
||||
* is an eUICC ({@link UiccCardInfo#isEuicc()}), and the slot index where the card is inserted
|
||||
* ({@link UiccCardInfo#getSlotIndex()}).
|
||||
* <p>
|
||||
* To get private information such as the EID ({@link UiccCardInfo#getEid()}) or ICCID
|
||||
* ({@link UiccCardInfo#getIccId()}), the caller must have carrier priviliges on that specific
|
||||
* UICC or eUICC card.
|
||||
* <p>
|
||||
* See {@link UiccCardInfo} for more details on the kind of information available.
|
||||
*
|
||||
* @return UiccCardInfo an array of UiccCardInfo objects, representing information on the
|
||||
* currently inserted UICCs and eUICCs.
|
||||
*
|
||||
* @hide
|
||||
* @param callingPackage package making the call, used to evaluate carrier privileges
|
||||
* @return a list of UiccCardInfo objects, representing information on the currently inserted
|
||||
* UICCs and eUICCs. Each UiccCardInfo in the list will have private information filtered out if
|
||||
* the caller does not have adequate permissions for that card.
|
||||
*/
|
||||
UiccCardInfo[] getUiccCardsInfo();
|
||||
List<UiccCardInfo> getUiccCardsInfo(String callingPackage);
|
||||
|
||||
/**
|
||||
* Get slot info for all the UICC slots.
|
||||
|
||||
Reference in New Issue
Block a user