Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 316dc44a authored by Jordan Liu's avatar Jordan Liu Committed by android-build-merger
Browse files

Merge "Card ID APIs are public" am: bd4a4dc8

am: a039e692

Change-Id: I6041944772567794b79a355c9f77767ed61c0f76
parents 930efcaf a039e692
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -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);
+0 −16
Original line number Diff line number Diff line
@@ -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();
+3 −3
Original line number Diff line number Diff line
@@ -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;
    }
+25 −20
Original line number Diff line number Diff line
@@ -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.
     *
     * @return UiccCardInfo an array of UiccCardInfo objects, representing information on the
     * currently inserted UICCs and eUICCs.
     * 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.
     *
     * @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>();
        }
    }

+17 −4
Original line number Diff line number Diff line
@@ -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) {
Loading