Loading telephony/java/android/telephony/RadioInterfaceCapabilities.java 0 → 100644 +53 −0 Original line number Diff line number Diff line /* * Copyright (C) 2020 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.telephony; import android.util.ArraySet; /** * Contains the set of supported capabilities that the Radio Interface supports on this device. * * @hide */ public class RadioInterfaceCapabilities { private final ArraySet<String> mSupportedCapabilities; public RadioInterfaceCapabilities() { mSupportedCapabilities = new ArraySet<>(); } /** * Marks a capability as supported * * @param capabilityName the name of the capability */ public void addSupportedCapability( @TelephonyManager.RadioInterfaceCapability String capabilityName) { mSupportedCapabilities.add(capabilityName); } /** * Whether the capability is supported * * @param capabilityName the name of the capability */ public boolean isSupported(String capabilityName) { return mSupportedCapabilities.contains(capabilityName); } } telephony/java/android/telephony/TelephonyManager.java +35 −0 Original line number Diff line number Diff line Loading @@ -14209,4 +14209,39 @@ public class TelephonyManager { return Collections.emptyList(); } /** @hide */ @Retention(RetentionPolicy.SOURCE) @IntDef(prefix = {"RADIO_INTERFACE_CAPABILITY_"}, value = {}) public @interface RadioInterfaceCapability {} /** * Whether the device supports a given capability on the radio interface. * * If the capability is not in the set of radio interface capabilities, false is returned. * * @param capability the name of the capability to check for * @return the availability of the capability * * @hide */ public boolean isRadioInterfaceCapabilitySupported( @NonNull @RadioInterfaceCapability String capability) { try { if (capability == null) return false; ITelephony telephony = getITelephony(); if (telephony != null) { return telephony.isRadioInterfaceCapabilitySupported(capability); } else { throw new IllegalStateException("telephony service is null."); } } catch (RemoteException ex) { if (!isSystemProcess()) { ex.rethrowAsRuntimeException(); } } return false; } } telephony/java/com/android/internal/telephony/ITelephony.aidl +8 −0 Original line number Diff line number Diff line Loading @@ -2249,4 +2249,12 @@ interface ITelephony { * @return CarrierBandwidth with bandwidth of both primary and secondary carrier. */ CarrierBandwidth getCarrierBandwidth(int subId); /** * Checks whether the device supports the given capability on the radio interface. * * @param capability the name of the capability * @return the availability of the capability */ boolean isRadioInterfaceCapabilitySupported(String capability); } telephony/java/com/android/internal/telephony/RILConstants.java +1 −0 Original line number Diff line number Diff line Loading @@ -520,6 +520,7 @@ public interface RILConstants { int RIL_REQUEST_START_HANDOVER = 217; int RIL_REQUEST_CANCEL_HANDOVER = 218; int RIL_REQUEST_GET_SYSTEM_SELECTION_CHANNELS = 219; int RIL_REQUEST_GET_HAL_DEVICE_CAPABILITIES = 220; /* Responses begin */ int RIL_RESPONSE_ACKNOWLEDGEMENT = 800; Loading Loading
telephony/java/android/telephony/RadioInterfaceCapabilities.java 0 → 100644 +53 −0 Original line number Diff line number Diff line /* * Copyright (C) 2020 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.telephony; import android.util.ArraySet; /** * Contains the set of supported capabilities that the Radio Interface supports on this device. * * @hide */ public class RadioInterfaceCapabilities { private final ArraySet<String> mSupportedCapabilities; public RadioInterfaceCapabilities() { mSupportedCapabilities = new ArraySet<>(); } /** * Marks a capability as supported * * @param capabilityName the name of the capability */ public void addSupportedCapability( @TelephonyManager.RadioInterfaceCapability String capabilityName) { mSupportedCapabilities.add(capabilityName); } /** * Whether the capability is supported * * @param capabilityName the name of the capability */ public boolean isSupported(String capabilityName) { return mSupportedCapabilities.contains(capabilityName); } }
telephony/java/android/telephony/TelephonyManager.java +35 −0 Original line number Diff line number Diff line Loading @@ -14209,4 +14209,39 @@ public class TelephonyManager { return Collections.emptyList(); } /** @hide */ @Retention(RetentionPolicy.SOURCE) @IntDef(prefix = {"RADIO_INTERFACE_CAPABILITY_"}, value = {}) public @interface RadioInterfaceCapability {} /** * Whether the device supports a given capability on the radio interface. * * If the capability is not in the set of radio interface capabilities, false is returned. * * @param capability the name of the capability to check for * @return the availability of the capability * * @hide */ public boolean isRadioInterfaceCapabilitySupported( @NonNull @RadioInterfaceCapability String capability) { try { if (capability == null) return false; ITelephony telephony = getITelephony(); if (telephony != null) { return telephony.isRadioInterfaceCapabilitySupported(capability); } else { throw new IllegalStateException("telephony service is null."); } } catch (RemoteException ex) { if (!isSystemProcess()) { ex.rethrowAsRuntimeException(); } } return false; } }
telephony/java/com/android/internal/telephony/ITelephony.aidl +8 −0 Original line number Diff line number Diff line Loading @@ -2249,4 +2249,12 @@ interface ITelephony { * @return CarrierBandwidth with bandwidth of both primary and secondary carrier. */ CarrierBandwidth getCarrierBandwidth(int subId); /** * Checks whether the device supports the given capability on the radio interface. * * @param capability the name of the capability * @return the availability of the capability */ boolean isRadioInterfaceCapabilitySupported(String capability); }
telephony/java/com/android/internal/telephony/RILConstants.java +1 −0 Original line number Diff line number Diff line Loading @@ -520,6 +520,7 @@ public interface RILConstants { int RIL_REQUEST_START_HANDOVER = 217; int RIL_REQUEST_CANCEL_HANDOVER = 218; int RIL_REQUEST_GET_SYSTEM_SELECTION_CHANNELS = 219; int RIL_REQUEST_GET_HAL_DEVICE_CAPABILITIES = 220; /* Responses begin */ int RIL_RESPONSE_ACKNOWLEDGEMENT = 800; Loading