Merge "TelephonyManager System APIs process" into pi-dev

This commit is contained in:
TreeHugger Robot
2018-03-19 20:55:18 +00:00
committed by Android (Google) Code Review
3 changed files with 70 additions and 20 deletions

View File

@@ -5216,10 +5216,10 @@ package android.telephony {
method public boolean handlePinMmi(java.lang.String);
method public boolean handlePinMmiForSubscriber(int, java.lang.String);
method public boolean isDataConnectivityPossible();
method public boolean isIdle();
method public boolean isOffhook();
method public boolean isRadioOn();
method public boolean isRinging();
method public deprecated boolean isIdle();
method public deprecated boolean isOffhook();
method public deprecated boolean isRadioOn();
method public deprecated boolean isRinging();
method public boolean isVideoCallingEnabled();
method public deprecated boolean isVisualVoicemailEnabled(android.telecom.PhoneAccountHandle);
method public boolean needsOtaServiceProvisioning();

View File

@@ -1455,6 +1455,7 @@ public class TelephonyManager {
* {@hide}
*/
@SystemApi
@RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
public int getCurrentPhoneType() {
return getCurrentPhoneType(getSubId());
}
@@ -1470,7 +1471,17 @@ public class TelephonyManager {
* @hide
*/
@SystemApi
@RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
public int getCurrentPhoneType(int subId) {
return getCurrentPhoneType(subId, false);
}
/**
* getCurrentPhoneType() with optional check if device is voice capable.
*
* @hide
*/
public int getCurrentPhoneType(int subId, boolean checkIsVoiceCapable) {
int phoneId;
if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
// if we don't have any sims, we don't have subscriptions, but we
@@ -1479,8 +1490,7 @@ public class TelephonyManager {
} else {
phoneId = SubscriptionManager.getPhoneId(subId);
}
return getCurrentPhoneTypeForSlot(phoneId);
return getCurrentPhoneTypeForSlot(phoneId, checkIsVoiceCapable);
}
/**
@@ -1488,11 +1498,15 @@ public class TelephonyManager {
*
* @hide
*/
public int getCurrentPhoneTypeForSlot(int slotIndex) {
public int getCurrentPhoneTypeForSlot(int slotIndex, boolean checkIsVoiceCapable) {
try{
ITelephony telephony = getITelephony();
if (telephony != null) {
return telephony.getActivePhoneTypeForSlot(slotIndex);
if (checkIsVoiceCapable) {
return telephony.getVoiceCapableActivePhoneTypeForSlot(slotIndex);
} else {
return telephony.getActivePhoneTypeForSlot(slotIndex);
}
} else {
// This can happen when the ITelephony interface is not up yet.
return getPhoneTypeFromProperty(slotIndex);
@@ -1518,10 +1532,7 @@ public class TelephonyManager {
* @see #PHONE_TYPE_SIP
*/
public int getPhoneType() {
if (!isVoiceCapable()) {
return PHONE_TYPE_NONE;
}
return getCurrentPhoneType();
return getCurrentPhoneType(getSubId(), true);
}
private int getPhoneTypeFromProperty() {
@@ -5843,12 +5854,14 @@ public class TelephonyManager {
/** @hide */
@SystemApi
@RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
public List<String> getCarrierPackageNamesForIntent(Intent intent) {
return getCarrierPackageNamesForIntentAndPhone(intent, getPhoneId());
}
/** @hide */
@SystemApi
@RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
public List<String> getCarrierPackageNamesForIntentAndPhone(Intent intent, int phoneId) {
try {
ITelephony telephony = getITelephony();
@@ -5958,7 +5971,11 @@ public class TelephonyManager {
}
}
/** @hide */
/**
* @deprecated Use {@link android.telecom.TelecomManager#isInCall} instead
* @hide
*/
@Deprecated
@SystemApi
@RequiresPermission(anyOf = {
android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE,
@@ -5975,7 +5992,11 @@ public class TelephonyManager {
return false;
}
/** @hide */
/**
* @deprecated Use {@link android.telecom.TelecomManager#isRinging} instead
* @hide
*/
@Deprecated
@SystemApi
@RequiresPermission(anyOf = {
android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE,
@@ -5992,7 +6013,11 @@ public class TelephonyManager {
return false;
}
/** @hide */
/**
* @deprecated Use {@link android.telecom.TelecomManager#isInCall} instead
* @hide
*/
@Deprecated
@SystemApi
@RequiresPermission(anyOf = {
android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE,
@@ -6009,7 +6034,11 @@ public class TelephonyManager {
return true;
}
/** @hide */
/**
* @deprecated Use {@link android.telephony.TelephonyManager#getServiceState} instead
* @hide
*/
@Deprecated
@SystemApi
@RequiresPermission(anyOf = {
android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE,
@@ -6300,6 +6329,7 @@ public class TelephonyManager {
/** @hide */
@SystemApi
@RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
public boolean isDataConnectivityPossible() {
try {
ITelephony telephony = getITelephony();
@@ -6314,6 +6344,7 @@ public class TelephonyManager {
/** @hide */
@SystemApi
@RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
public boolean needsOtaServiceProvisioning() {
try {
ITelephony telephony = getITelephony();
@@ -6416,10 +6447,7 @@ public class TelephonyManager {
/** @hide */
@SystemApi
@RequiresPermission(anyOf = {
android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE,
android.Manifest.permission.READ_PHONE_STATE
})
@RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
public boolean isVideoCallingEnabled() {
try {
ITelephony telephony = getITelephony();

View File

@@ -375,6 +375,8 @@ interface ITelephony {
/**
* Report whether data connectivity is possible.
*
* <p>Requires that the calling app has READ_PRIVILEGED_PHONE_STATE
*/
boolean isDataConnectivityPossible(int subId);
@@ -413,10 +415,24 @@ interface ITelephony {
* Returns the current active phone type as integer for particular slot.
* Returns TelephonyManager.PHONE_TYPE_CDMA if RILConstants.CDMA_PHONE
* and TelephonyManager.PHONE_TYPE_GSM if RILConstants.GSM_PHONE
*
* <p>Requires that the calling app has READ_PRIVILEGED_PHONE_STATE
*
* @param slotIndex - slot to query.
*/
int getActivePhoneTypeForSlot(int slotIndex);
/**
* Returns the current active phone type as integer for particular slot.
* Returns TelephonyManager.PHONE_TYPE_CDMA if RILConstants.CDMA_PHONE
* and TelephonyManager.PHONE_TYPE_GSM if RILConstants.GSM_PHONE
*
* If the device is not voice-capable, return PHONE_TYPE_NONE
*
* @param slotIndex - slot to query.
*/
int getVoiceCapableActivePhoneTypeForSlot(int slotIndex);
/**
* Returns the CDMA ERI icon index to display
* @param callingPackage package making the call.
@@ -464,6 +480,8 @@ interface ITelephony {
* Returns true if OTA service provisioning needs to run.
* Only relevant on some technologies, others will always
* return false.
*
* <p>Requires that the calling app has READ_PRIVILEGED_PHONE_STATE
*/
boolean needsOtaServiceProvisioning();
@@ -982,6 +1000,8 @@ interface ITelephony {
* Returns list of the package names of the carrier apps that should handle the input intent
* and have carrier privileges for the given phoneId.
*
* <p>Requires that the calling app has READ_PRIVILEGED_PHONE_STATE
*
* @param intent Intent that will be sent.
* @param phoneId The phoneId on which the carrier app has carrier privileges.
* @return list of carrier app package names that can handle the intent on phoneId.
@@ -1106,6 +1126,8 @@ interface ITelephony {
/**
* Whether video calling has been enabled by the user.
*
* <p>Requires that the calling app has READ_PRIVILEGED_PHONE_STATE
*
* @param callingPackage The package making the call.
* @return {@code true} if the user has enabled video calling, {@code false} otherwise.
*/