Merge "Make TelephonyManager#{set/get}{Voice/Date}ActivationState SystemApis"

This commit is contained in:
Gil O'Neil
2018-03-12 17:28:47 +00:00
committed by Gerrit Code Review
2 changed files with 140 additions and 15 deletions

View File

@@ -4293,6 +4293,7 @@ package android.telephony {
method public java.lang.String getCdmaMin(int);
method public int getCurrentPhoneType();
method public int getCurrentPhoneType(int);
method public int getDataActivationState();
method public deprecated boolean getDataEnabled();
method public deprecated boolean getDataEnabled(int);
method public int getSimApplicationState();
@@ -4300,6 +4301,7 @@ package android.telephony {
method public java.util.List<android.telephony.TelephonyHistogram> getTelephonyHistograms();
method public android.telephony.UiccSlotInfo[] getUiccSlotsInfo();
method public android.os.Bundle getVisualVoicemailSettings();
method public int getVoiceActivationState();
method public boolean handlePinMmi(java.lang.String);
method public boolean handlePinMmiForSubscriber(int, java.lang.String);
method public boolean isDataConnectivityPossible();
@@ -4311,10 +4313,12 @@ package android.telephony {
method public deprecated boolean isVisualVoicemailEnabled(android.telecom.PhoneAccountHandle);
method public boolean needsOtaServiceProvisioning();
method public int setAllowedCarriers(int, java.util.List<android.service.carrier.CarrierIdentifier>);
method public void setDataActivationState(int);
method public deprecated void setDataEnabled(int, boolean);
method public boolean setRadio(boolean);
method public boolean setRadioPower(boolean);
method public deprecated void setVisualVoicemailEnabled(android.telecom.PhoneAccountHandle, boolean);
method public void setVoiceActivationState(int);
method public deprecated void silenceRinger();
method public boolean supplyPin(java.lang.String);
method public int[] supplyPinReportResult(java.lang.String);
@@ -4333,6 +4337,11 @@ package android.telephony {
field public static final java.lang.String EXTRA_SIM_STATE = "android.telephony.extra.SIM_STATE";
field public static final java.lang.String EXTRA_VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL = "android.telephony.extra.VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL";
field public static final java.lang.String EXTRA_VOICEMAIL_SCRAMBLED_PIN_STRING = "android.telephony.extra.VOICEMAIL_SCRAMBLED_PIN_STRING";
field public static final int SIM_ACTIVATION_STATE_ACTIVATED = 2; // 0x2
field public static final int SIM_ACTIVATION_STATE_ACTIVATING = 1; // 0x1
field public static final int SIM_ACTIVATION_STATE_DEACTIVATED = 3; // 0x3
field public static final int SIM_ACTIVATION_STATE_RESTRICTED = 4; // 0x4
field public static final int SIM_ACTIVATION_STATE_UNKNOWN = 0; // 0x0
field public static final int SIM_STATE_LOADED = 10; // 0xa
field public static final int SIM_STATE_PRESENT = 11; // 0xb
}

View File

@@ -3412,6 +3412,7 @@ public class TelephonyManager {
* Initial SIM activation state, unknown. Not set by any carrier apps.
* @hide
*/
@SystemApi
public static final int SIM_ACTIVATION_STATE_UNKNOWN = 0;
/**
@@ -3422,12 +3423,14 @@ public class TelephonyManager {
* @see #SIM_ACTIVATION_STATE_RESTRICTED
* @hide
*/
@SystemApi
public static final int SIM_ACTIVATION_STATE_ACTIVATING = 1;
/**
* Indicate SIM has been successfully activated with full service
* @hide
*/
@SystemApi
public static final int SIM_ACTIVATION_STATE_ACTIVATED = 2;
/**
@@ -3437,6 +3440,7 @@ public class TelephonyManager {
* deactivated sim state and set it back to activated after successfully run activation service.
* @hide
*/
@SystemApi
public static final int SIM_ACTIVATION_STATE_DEACTIVATED = 3;
/**
@@ -3444,14 +3448,47 @@ public class TelephonyManager {
* note this is currently available for data activation state. For example out of byte sim.
* @hide
*/
@SystemApi
public static final int SIM_ACTIVATION_STATE_RESTRICTED = 4;
/** @hide */
@IntDef({
SIM_ACTIVATION_STATE_UNKNOWN,
SIM_ACTIVATION_STATE_ACTIVATING,
SIM_ACTIVATION_STATE_ACTIVATED,
SIM_ACTIVATION_STATE_DEACTIVATED,
SIM_ACTIVATION_STATE_RESTRICTED
})
@Retention(RetentionPolicy.SOURCE)
public @interface SimActivationState{}
/**
* Sets the voice activation state
*
* <p>Requires Permission:
* {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE}
* Or the calling app has carrier privileges.
*
* @param activationState The voice activation state
* @see #SIM_ACTIVATION_STATE_UNKNOWN
* @see #SIM_ACTIVATION_STATE_ACTIVATING
* @see #SIM_ACTIVATION_STATE_ACTIVATED
* @see #SIM_ACTIVATION_STATE_DEACTIVATED
* @see #hasCarrierPrivileges
* @hide
*/
@SystemApi
@RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
public void setVoiceActivationState(@SimActivationState int activationState) {
setVoiceActivationState(getSubId(), activationState);
}
/**
* Sets the voice activation state for the given subscriber.
*
* <p>Requires Permission:
* {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE}
* Or the calling app has carrier privileges. @see #hasCarrierPrivileges
* Or the calling app has carrier privileges.
*
* @param subId The subscription id.
* @param activationState The voice activation state of the given subscriber.
@@ -3459,24 +3496,48 @@ public class TelephonyManager {
* @see #SIM_ACTIVATION_STATE_ACTIVATING
* @see #SIM_ACTIVATION_STATE_ACTIVATED
* @see #SIM_ACTIVATION_STATE_DEACTIVATED
* @see #hasCarrierPrivileges
* @hide
*/
public void setVoiceActivationState(int subId, int activationState) {
@RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
public void setVoiceActivationState(int subId, @SimActivationState int activationState) {
try {
ITelephony telephony = getITelephony();
if (telephony != null)
telephony.setVoiceActivationState(subId, activationState);
} catch (RemoteException ex) {
} catch (NullPointerException ex) {
}
ITelephony telephony = getITelephony();
if (telephony != null)
telephony.setVoiceActivationState(subId, activationState);
} catch (RemoteException ex) {
} catch (NullPointerException ex) {
}
}
/**
* Sets the data activation state
*
* <p>Requires Permission:
* {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE}
* Or the calling app has carrier privileges.
*
* @param activationState The data activation state
* @see #SIM_ACTIVATION_STATE_UNKNOWN
* @see #SIM_ACTIVATION_STATE_ACTIVATING
* @see #SIM_ACTIVATION_STATE_ACTIVATED
* @see #SIM_ACTIVATION_STATE_DEACTIVATED
* @see #SIM_ACTIVATION_STATE_RESTRICTED
* @see #hasCarrierPrivileges
* @hide
*/
@SystemApi
@RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
public void setDataActivationState(@SimActivationState int activationState) {
setDataActivationState(getSubId(), activationState);
}
/**
* Sets the data activation state for the given subscriber.
*
* <p>Requires Permission:
* {@link android.Manifest.permission#MODIFY_PHONE_STATE}
* Or the calling app has carrier privileges. @see #hasCarrierPrivileges
* {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE}
* Or the calling app has carrier privileges.
*
* @param subId The subscription id.
* @param activationState The data activation state of the given subscriber.
@@ -3485,9 +3546,11 @@ public class TelephonyManager {
* @see #SIM_ACTIVATION_STATE_ACTIVATED
* @see #SIM_ACTIVATION_STATE_DEACTIVATED
* @see #SIM_ACTIVATION_STATE_RESTRICTED
* @see #hasCarrierPrivileges
* @hide
*/
public void setDataActivationState(int subId, int activationState) {
@RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
public void setDataActivationState(int subId, @SimActivationState int activationState) {
try {
ITelephony telephony = getITelephony();
if (telephony != null)
@@ -3497,9 +3560,34 @@ public class TelephonyManager {
}
}
/**
* Returns the voice activation state
*
* <p>Requires Permission:
* {@link android.Manifest.permission#READ_PRIVILEGED_PHONE_STATE READ_PRIVILEGED_PHONE_STATE}
* Or the calling app has carrier privileges.
*
* @return voiceActivationState
* @see #SIM_ACTIVATION_STATE_UNKNOWN
* @see #SIM_ACTIVATION_STATE_ACTIVATING
* @see #SIM_ACTIVATION_STATE_ACTIVATED
* @see #SIM_ACTIVATION_STATE_DEACTIVATED
* @see #hasCarrierPrivileges
* @hide
*/
@SystemApi
@RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
public @SimActivationState int getVoiceActivationState() {
return getVoiceActivationState(getSubId());
}
/**
* Returns the voice activation state for the given subscriber.
*
* <p>Requires Permission:
* {@link android.Manifest.permission#READ_PRIVILEGED_PHONE_STATE READ_PRIVILEGED_PHONE_STATE}
* Or the calling app has carrier privileges.
*
* @param subId The subscription id.
*
* @return voiceActivationState for the given subscriber
@@ -3507,10 +3595,11 @@ public class TelephonyManager {
* @see #SIM_ACTIVATION_STATE_ACTIVATING
* @see #SIM_ACTIVATION_STATE_ACTIVATED
* @see #SIM_ACTIVATION_STATE_DEACTIVATED
* @see #hasCarrierPrivileges
* @hide
*/
@RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public int getVoiceActivationState(int subId) {
@RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
public @SimActivationState int getVoiceActivationState(int subId) {
try {
ITelephony telephony = getITelephony();
if (telephony != null)
@@ -3521,9 +3610,35 @@ public class TelephonyManager {
return SIM_ACTIVATION_STATE_UNKNOWN;
}
/**
* Returns the data activation state
*
* <p>Requires Permission:
* {@link android.Manifest.permission#READ_PRIVILEGED_PHONE_STATE READ_PRIVILEGED_PHONE_STATE}
* Or the calling app has carrier privileges.
*
* @return dataActivationState for the given subscriber
* @see #SIM_ACTIVATION_STATE_UNKNOWN
* @see #SIM_ACTIVATION_STATE_ACTIVATING
* @see #SIM_ACTIVATION_STATE_ACTIVATED
* @see #SIM_ACTIVATION_STATE_DEACTIVATED
* @see #SIM_ACTIVATION_STATE_RESTRICTED
* @see #hasCarrierPrivileges
* @hide
*/
@SystemApi
@RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
public @SimActivationState int getDataActivationState() {
return getDataActivationState(getSubId());
}
/**
* Returns the data activation state for the given subscriber.
*
* <p>Requires Permission:
* {@link android.Manifest.permission#READ_PRIVILEGED_PHONE_STATE READ_PRIVILEGED_PHONE_STATE}
* Or the calling app has carrier privileges.
*
* @param subId The subscription id.
*
* @return dataActivationState for the given subscriber
@@ -3532,10 +3647,11 @@ public class TelephonyManager {
* @see #SIM_ACTIVATION_STATE_ACTIVATED
* @see #SIM_ACTIVATION_STATE_DEACTIVATED
* @see #SIM_ACTIVATION_STATE_RESTRICTED
* @see #hasCarrierPrivileges
* @hide
*/
@RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public int getDataActivationState(int subId) {
@RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
public @SimActivationState int getDataActivationState(int subId) {
try {
ITelephony telephony = getITelephony();
if (telephony != null)