diff options
| -rwxr-xr-x | api/system-current.txt | 3 | ||||
| -rw-r--r-- | api/test-current.txt | 3 | ||||
| -rw-r--r-- | telephony/java/android/telephony/TelephonyManager.java | 30 |
3 files changed, 28 insertions, 8 deletions
diff --git a/api/system-current.txt b/api/system-current.txt index 71c1e38c8321..e2957157d4b3 100755 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -11724,7 +11724,8 @@ package android.telephony { method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setRadioPower(boolean); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimPowerState(int); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimPowerStateForSlot(int, int); - method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSystemSelectionChannels(@NonNull java.util.List<android.telephony.RadioAccessSpecifier>, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.Consumer<java.lang.Boolean>); + method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSystemSelectionChannels(@NonNull java.util.List<android.telephony.RadioAccessSpecifier>, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>); + method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSystemSelectionChannels(@NonNull java.util.List<android.telephony.RadioAccessSpecifier>); method @Deprecated public void setVisualVoicemailEnabled(android.telecom.PhoneAccountHandle, boolean); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoiceActivationState(int); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void shutdownAllRadios(); diff --git a/api/test-current.txt b/api/test-current.txt index 1169c91b6cd7..ea262278f3f4 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -3730,7 +3730,8 @@ package android.telephony { method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void refreshUiccProfile(); method @Deprecated public void setCarrierTestOverride(String, String, String, String, String, String, String); method public void setCarrierTestOverride(String, String, String, String, String, String, String, String, String); - method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSystemSelectionChannels(@NonNull java.util.List<android.telephony.RadioAccessSpecifier>, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.Consumer<java.lang.Boolean>); + method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSystemSelectionChannels(@NonNull java.util.List<android.telephony.RadioAccessSpecifier>, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>); + method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSystemSelectionChannels(@NonNull java.util.List<android.telephony.RadioAccessSpecifier>); method @RequiresPermission("android.permission.READ_ACTIVE_EMERGENCY_SESSION") public void updateTestOtaEmergencyNumberDbFilePath(@NonNull String); field public static final int CARRIER_PRIVILEGE_STATUS_ERROR_LOADING_RULES = -2; // 0xfffffffe field public static final int CARRIER_PRIVILEGE_STATUS_HAS_ACCESS = 1; // 0x1 diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index 10180ff995f0..67a2604ba9c7 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -12601,14 +12601,32 @@ public class TelephonyManager { @TestApi @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSystemSelectionChannels(@NonNull List<RadioAccessSpecifier> specifiers, - @Nullable @CallbackExecutor Executor executor, - @Nullable Consumer<Boolean> callback) { + @NonNull @CallbackExecutor Executor executor, + @NonNull Consumer<Boolean> callback) { Objects.requireNonNull(specifiers, "Specifiers must not be null."); - if (callback != null) { - Objects.requireNonNull(executor, "Executor must not be null when" - + " the callback is nonnull"); - } + Objects.requireNonNull(executor, "Executor must not be null."); + Objects.requireNonNull(callback, "Callback must not be null."); + setSystemSelectionChannelsInternal(specifiers, executor, callback); + } + + /** + * Same as {@link #setSystemSelectionChannels(List, Executor, Consumer<Boolean>)}, but to be + * used when the caller does not need feedback on the results of the operation. + * @param specifiers which bands to scan. + * @hide + */ + @SystemApi + @TestApi + @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) + public void setSystemSelectionChannels(@NonNull List<RadioAccessSpecifier> specifiers) { + Objects.requireNonNull(specifiers, "Specifiers must not be null."); + setSystemSelectionChannelsInternal(specifiers, null, null); + } + + private void setSystemSelectionChannelsInternal(@NonNull List<RadioAccessSpecifier> specifiers, + @Nullable @CallbackExecutor Executor executor, + @Nullable Consumer<Boolean> callback) { IBooleanConsumer aidlConsumer = callback == null ? null : new IBooleanConsumer.Stub() { @Override public void accept(boolean result) { |