Merge "Create getSystemSelectionChannel API"

This commit is contained in:
Sarah Chin
2020-12-01 20:08:10 +00:00
committed by Gerrit Code Review
4 changed files with 35 additions and 0 deletions

View File

@@ -10153,6 +10153,7 @@ package android.telephony {
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 @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getSupportedRadioAccessFamily();
method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.telephony.RadioAccessSpecifier> getSystemSelectionChannels();
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.UiccSlotInfo[] getUiccSlotsInfo();
method @Nullable public android.os.Bundle getVisualVoicemailSettings();

View File

@@ -13029,6 +13029,37 @@ public class TelephonyManager {
}
}
/**
* Get which bands the modem's background scan is acting on, specified by
* {@link #setSystemSelectionChannels}.
*
* <p>Requires Permission:
* {@link android.Manifest.permission#READ_PRIVILEGED_PHONE_STATE READ_PRIVILEGED_PHONE_STATE}
* or that the calling app has carrier privileges (see {@link #hasCarrierPrivileges}).
*
* @return a list of {@link RadioAccessSpecifier}, or an empty list if no bands are specified.
* @throws IllegalStateException if the Telephony process is not currently available.
*
* @hide
*/
@SystemApi
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
public @NonNull List<RadioAccessSpecifier> getSystemSelectionChannels() {
try {
ITelephony service = getITelephony();
if (service != null) {
return service.getSystemSelectionChannels(getSubId());
} else {
throw new IllegalStateException("telephony service is null.");
}
} catch (RemoteException ex) {
if (!isSystemProcess()) {
ex.rethrowAsRuntimeException();
}
}
return new ArrayList<>();
}
/**
* Verifies whether the input MCC/MNC and MVNO correspond to the current carrier.
*

View File

@@ -2159,6 +2159,8 @@ interface ITelephony {
oneway void setSystemSelectionChannels(in List<RadioAccessSpecifier> specifiers,
int subId, IBooleanConsumer resultCallback);
List<RadioAccessSpecifier> getSystemSelectionChannels(int subId);
boolean isMvnoMatched(int subId, int mvnoType, String mvnoMatchData);
/**

View File

@@ -519,6 +519,7 @@ public interface RILConstants {
int RIL_REQUEST_RELEASE_PDU_SESSION_ID = 216;
int RIL_REQUEST_START_HANDOVER = 217;
int RIL_REQUEST_CANCEL_HANDOVER = 218;
int RIL_REQUEST_GET_SYSTEM_SELECTION_CHANNELS = 219;
/* Responses begin */
int RIL_RESPONSE_ACKNOWLEDGEMENT = 800;