Merge "Add TelephonyManager APIs to take physical slotIndex - getSimCardState - getSimApplicationState" am: 4ed6876df1
am: 3e837c4822
Change-Id: Iee1a237d19808797673f917f796892c3be3c770d
This commit is contained in:
@@ -8129,7 +8129,9 @@ package android.telephony {
|
|||||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getPreferredNetworkTypeBitmask();
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getPreferredNetworkTypeBitmask();
|
||||||
method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public int getRadioPowerState();
|
method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public int getRadioPowerState();
|
||||||
method public int getSimApplicationState();
|
method public int getSimApplicationState();
|
||||||
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSimApplicationState(int);
|
||||||
method public int getSimCardState();
|
method public int getSimCardState();
|
||||||
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSimCardState(int);
|
||||||
method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Locale getSimLocale();
|
method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Locale getSimLocale();
|
||||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getSupportedRadioAccessFamily();
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getSupportedRadioAccessFamily();
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public java.util.List<android.telephony.TelephonyHistogram> getTelephonyHistograms();
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public java.util.List<android.telephony.TelephonyHistogram> getTelephonyHistograms();
|
||||||
|
|||||||
@@ -3083,18 +3083,61 @@ public class TelephonyManager {
|
|||||||
*/
|
*/
|
||||||
@SystemApi
|
@SystemApi
|
||||||
public int getSimCardState() {
|
public int getSimCardState() {
|
||||||
int simCardState = getSimState();
|
int simState = getSimState();
|
||||||
switch (simCardState) {
|
return getSimCardStateFromSimState(simState);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a constant indicating the state of the device SIM card in a physical slot.
|
||||||
|
*
|
||||||
|
* @param physicalSlotIndex physical slot index
|
||||||
|
*
|
||||||
|
* @see #SIM_STATE_UNKNOWN
|
||||||
|
* @see #SIM_STATE_ABSENT
|
||||||
|
* @see #SIM_STATE_CARD_IO_ERROR
|
||||||
|
* @see #SIM_STATE_CARD_RESTRICTED
|
||||||
|
* @see #SIM_STATE_PRESENT
|
||||||
|
*
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
@SystemApi
|
||||||
|
@RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
|
||||||
|
public int getSimCardState(int physicalSlotIndex) {
|
||||||
|
int simState = getSimState(getLogicalSlotIndex(physicalSlotIndex));
|
||||||
|
return getSimCardStateFromSimState(simState);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Converts SIM state to SIM card state.
|
||||||
|
* @param simState
|
||||||
|
* @return SIM card state
|
||||||
|
*/
|
||||||
|
private int getSimCardStateFromSimState(int simState) {
|
||||||
|
switch (simState) {
|
||||||
case SIM_STATE_UNKNOWN:
|
case SIM_STATE_UNKNOWN:
|
||||||
case SIM_STATE_ABSENT:
|
case SIM_STATE_ABSENT:
|
||||||
case SIM_STATE_CARD_IO_ERROR:
|
case SIM_STATE_CARD_IO_ERROR:
|
||||||
case SIM_STATE_CARD_RESTRICTED:
|
case SIM_STATE_CARD_RESTRICTED:
|
||||||
return simCardState;
|
return simState;
|
||||||
default:
|
default:
|
||||||
return SIM_STATE_PRESENT;
|
return SIM_STATE_PRESENT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Converts a physical slot index to logical slot index.
|
||||||
|
* @param physicalSlotIndex physical slot index
|
||||||
|
* @return logical slot index
|
||||||
|
*/
|
||||||
|
private int getLogicalSlotIndex(int physicalSlotIndex) {
|
||||||
|
UiccSlotInfo[] slotInfos = getUiccSlotsInfo();
|
||||||
|
if (slotInfos != null && physicalSlotIndex >= 0 && physicalSlotIndex < slotInfos.length) {
|
||||||
|
return slotInfos[physicalSlotIndex].getLogicalSlotIdx();
|
||||||
|
}
|
||||||
|
|
||||||
|
return SubscriptionManager.INVALID_SIM_SLOT_INDEX;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a constant indicating the state of the card applications on the default SIM card.
|
* Returns a constant indicating the state of the card applications on the default SIM card.
|
||||||
*
|
*
|
||||||
@@ -3110,8 +3153,41 @@ public class TelephonyManager {
|
|||||||
*/
|
*/
|
||||||
@SystemApi
|
@SystemApi
|
||||||
public int getSimApplicationState() {
|
public int getSimApplicationState() {
|
||||||
int simApplicationState = getSimStateIncludingLoaded();
|
int simState = getSimStateIncludingLoaded();
|
||||||
switch (simApplicationState) {
|
return getSimApplicationStateFromSimState(simState);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a constant indicating the state of the card applications on the device SIM card in
|
||||||
|
* a physical slot.
|
||||||
|
*
|
||||||
|
* @param physicalSlotIndex physical slot index
|
||||||
|
*
|
||||||
|
* @see #SIM_STATE_UNKNOWN
|
||||||
|
* @see #SIM_STATE_PIN_REQUIRED
|
||||||
|
* @see #SIM_STATE_PUK_REQUIRED
|
||||||
|
* @see #SIM_STATE_NETWORK_LOCKED
|
||||||
|
* @see #SIM_STATE_NOT_READY
|
||||||
|
* @see #SIM_STATE_PERM_DISABLED
|
||||||
|
* @see #SIM_STATE_LOADED
|
||||||
|
*
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
@SystemApi
|
||||||
|
@RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
|
||||||
|
public int getSimApplicationState(int physicalSlotIndex) {
|
||||||
|
int simState =
|
||||||
|
SubscriptionManager.getSimStateForSlotIndex(getLogicalSlotIndex(physicalSlotIndex));
|
||||||
|
return getSimApplicationStateFromSimState(simState);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Converts SIM state to SIM application state.
|
||||||
|
* @param simState
|
||||||
|
* @return SIM application state
|
||||||
|
*/
|
||||||
|
private int getSimApplicationStateFromSimState(int simState) {
|
||||||
|
switch (simState) {
|
||||||
case SIM_STATE_UNKNOWN:
|
case SIM_STATE_UNKNOWN:
|
||||||
case SIM_STATE_ABSENT:
|
case SIM_STATE_ABSENT:
|
||||||
case SIM_STATE_CARD_IO_ERROR:
|
case SIM_STATE_CARD_IO_ERROR:
|
||||||
@@ -3122,14 +3198,14 @@ public class TelephonyManager {
|
|||||||
// NOT_READY to either LOCKED or LOADED.
|
// NOT_READY to either LOCKED or LOADED.
|
||||||
return SIM_STATE_NOT_READY;
|
return SIM_STATE_NOT_READY;
|
||||||
default:
|
default:
|
||||||
return simApplicationState;
|
return simState;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a constant indicating the state of the device SIM card in a slot.
|
* Returns a constant indicating the state of the device SIM card in a logical slot.
|
||||||
*
|
*
|
||||||
* @param slotIndex
|
* @param slotIndex logical slot index
|
||||||
*
|
*
|
||||||
* @see #SIM_STATE_UNKNOWN
|
* @see #SIM_STATE_UNKNOWN
|
||||||
* @see #SIM_STATE_ABSENT
|
* @see #SIM_STATE_ABSENT
|
||||||
|
|||||||
Reference in New Issue
Block a user