Loading core/res/res/values/config.xml +7 −0 Original line number Diff line number Diff line Loading @@ -2267,6 +2267,13 @@ <!-- Whether to use voip audio mode for ims call --> <bool name="config_use_voip_mode_for_ims">false</bool> <!-- ImsService package name to bind to by default. If none is specified in an overlay, an empty string is passed in --> <string name="config_ims_package"/> <!-- Flag specifying whether or not IMS will use the dynamic ImsResolver --> <bool name="config_dynamic_bind_ims">true</bool> <bool name="config_networkSamplingWakesDevice">true</bool> <string-array translatable="false" name="config_cdma_home_system" /> Loading core/res/res/values/symbols.xml +2 −0 Original line number Diff line number Diff line Loading @@ -252,6 +252,8 @@ <java-symbol type="bool" name="config_enableBurnInProtection" /> <java-symbol type="bool" name="config_hotswapCapable" /> <java-symbol type="bool" name="config_mms_content_disposition_support" /> <java-symbol type="string" name="config_ims_package" /> <java-symbol type="bool" name="config_dynamic_bind_ims" /> <java-symbol type="bool" name="config_networkSamplingWakesDevice" /> <java-symbol type="bool" name="config_showMenuShortcutsWhenKeyboardPresent" /> <java-symbol type="bool" name="config_sip_wifi_only" /> Loading telephony/java/android/telephony/TelephonyManager.java +37 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package android.telephony; import android.annotation.IntDef; import android.annotation.Nullable; import android.annotation.SystemApi; import android.annotation.SdkConstant; Loading @@ -39,8 +40,11 @@ import android.service.carrier.CarrierIdentifier; import android.telecom.PhoneAccount; import android.telecom.PhoneAccountHandle; import android.telephony.TelephonyHistogram; import android.telephony.ims.feature.ImsFeature; import android.util.Log; import com.android.ims.internal.IImsServiceController; import com.android.ims.internal.IImsServiceFeatureListener; import com.android.internal.telecom.ITelecomService; import com.android.internal.telephony.CellNetworkScanResult; import com.android.internal.telephony.IPhoneSubInfo; Loading @@ -53,6 +57,8 @@ import com.android.internal.telephony.TelephonyProperties; import java.io.FileInputStream; import java.io.IOException; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; import java.util.Collections; import java.util.List; Loading Loading @@ -4041,6 +4047,37 @@ public class TelephonyManager { } } /** @hide */ @IntDef({ImsFeature.EMERGENCY_MMTEL, ImsFeature.MMTEL, ImsFeature.RCS}) @Retention(RetentionPolicy.SOURCE) public @interface Feature {} /** * Returns the {@link IImsServiceController} that corresponds to the given slot Id and IMS * feature or {@link null} if the service is not available. If an ImsServiceController is * available, the {@link IImsServiceFeatureListener} callback is registered as a listener for * feature updates. * @param slotId The SIM slot that we are requesting the {@link IImsServiceController} for. * @param feature The IMS Feature we are requesting, corresponding to {@link ImsFeature}. * @param callback Listener that will send updates to ImsManager when there are updates to * ImsServiceController. * @return {@link IImsServiceController} interface for the feature specified or {@link null} if * it is unavailable. * @hide */ public IImsServiceController getImsServiceControllerAndListen(int slotId, @Feature int feature, IImsServiceFeatureListener callback) { try { ITelephony telephony = getITelephony(); if (telephony != null) { return telephony.getImsServiceControllerAndListen(slotId, feature, callback); } } catch (RemoteException e) { Rlog.e(TAG, "getImsServiceControllerAndListen, RemoteException: " + e.getMessage()); } return null; } /** * Set IMS registration state * Loading telephony/java/com/android/internal/telephony/ITelephony.aidl +10 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,8 @@ import android.telephony.RadioAccessFamily; import android.telephony.ServiceState; import android.telephony.TelephonyHistogram; import android.telephony.VisualVoicemailSmsFilterSettings; import com.android.ims.internal.IImsServiceController; import com.android.ims.internal.IImsServiceFeatureListener; import com.android.internal.telephony.CellNetworkScanResult; import com.android.internal.telephony.OperatorInfo; Loading Loading @@ -714,6 +716,14 @@ interface ITelephony { */ int getTetherApnRequired(); /** * Get ImsServiceController binder from ImsResolver that corresponds to the subId and feature * requested as well as registering the ImsServiceController for callbacks using the * IImsServiceFeatureListener interface. */ IImsServiceController getImsServiceControllerAndListen(int slotId, int feature, IImsServiceFeatureListener callback); /** * Set the network selection mode to automatic. * Loading Loading
core/res/res/values/config.xml +7 −0 Original line number Diff line number Diff line Loading @@ -2267,6 +2267,13 @@ <!-- Whether to use voip audio mode for ims call --> <bool name="config_use_voip_mode_for_ims">false</bool> <!-- ImsService package name to bind to by default. If none is specified in an overlay, an empty string is passed in --> <string name="config_ims_package"/> <!-- Flag specifying whether or not IMS will use the dynamic ImsResolver --> <bool name="config_dynamic_bind_ims">true</bool> <bool name="config_networkSamplingWakesDevice">true</bool> <string-array translatable="false" name="config_cdma_home_system" /> Loading
core/res/res/values/symbols.xml +2 −0 Original line number Diff line number Diff line Loading @@ -252,6 +252,8 @@ <java-symbol type="bool" name="config_enableBurnInProtection" /> <java-symbol type="bool" name="config_hotswapCapable" /> <java-symbol type="bool" name="config_mms_content_disposition_support" /> <java-symbol type="string" name="config_ims_package" /> <java-symbol type="bool" name="config_dynamic_bind_ims" /> <java-symbol type="bool" name="config_networkSamplingWakesDevice" /> <java-symbol type="bool" name="config_showMenuShortcutsWhenKeyboardPresent" /> <java-symbol type="bool" name="config_sip_wifi_only" /> Loading
telephony/java/android/telephony/TelephonyManager.java +37 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package android.telephony; import android.annotation.IntDef; import android.annotation.Nullable; import android.annotation.SystemApi; import android.annotation.SdkConstant; Loading @@ -39,8 +40,11 @@ import android.service.carrier.CarrierIdentifier; import android.telecom.PhoneAccount; import android.telecom.PhoneAccountHandle; import android.telephony.TelephonyHistogram; import android.telephony.ims.feature.ImsFeature; import android.util.Log; import com.android.ims.internal.IImsServiceController; import com.android.ims.internal.IImsServiceFeatureListener; import com.android.internal.telecom.ITelecomService; import com.android.internal.telephony.CellNetworkScanResult; import com.android.internal.telephony.IPhoneSubInfo; Loading @@ -53,6 +57,8 @@ import com.android.internal.telephony.TelephonyProperties; import java.io.FileInputStream; import java.io.IOException; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; import java.util.Collections; import java.util.List; Loading Loading @@ -4041,6 +4047,37 @@ public class TelephonyManager { } } /** @hide */ @IntDef({ImsFeature.EMERGENCY_MMTEL, ImsFeature.MMTEL, ImsFeature.RCS}) @Retention(RetentionPolicy.SOURCE) public @interface Feature {} /** * Returns the {@link IImsServiceController} that corresponds to the given slot Id and IMS * feature or {@link null} if the service is not available. If an ImsServiceController is * available, the {@link IImsServiceFeatureListener} callback is registered as a listener for * feature updates. * @param slotId The SIM slot that we are requesting the {@link IImsServiceController} for. * @param feature The IMS Feature we are requesting, corresponding to {@link ImsFeature}. * @param callback Listener that will send updates to ImsManager when there are updates to * ImsServiceController. * @return {@link IImsServiceController} interface for the feature specified or {@link null} if * it is unavailable. * @hide */ public IImsServiceController getImsServiceControllerAndListen(int slotId, @Feature int feature, IImsServiceFeatureListener callback) { try { ITelephony telephony = getITelephony(); if (telephony != null) { return telephony.getImsServiceControllerAndListen(slotId, feature, callback); } } catch (RemoteException e) { Rlog.e(TAG, "getImsServiceControllerAndListen, RemoteException: " + e.getMessage()); } return null; } /** * Set IMS registration state * Loading
telephony/java/com/android/internal/telephony/ITelephony.aidl +10 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,8 @@ import android.telephony.RadioAccessFamily; import android.telephony.ServiceState; import android.telephony.TelephonyHistogram; import android.telephony.VisualVoicemailSmsFilterSettings; import com.android.ims.internal.IImsServiceController; import com.android.ims.internal.IImsServiceFeatureListener; import com.android.internal.telephony.CellNetworkScanResult; import com.android.internal.telephony.OperatorInfo; Loading Loading @@ -714,6 +716,14 @@ interface ITelephony { */ int getTetherApnRequired(); /** * Get ImsServiceController binder from ImsResolver that corresponds to the subId and feature * requested as well as registering the ImsServiceController for callbacks using the * IImsServiceFeatureListener interface. */ IImsServiceController getImsServiceControllerAndListen(int slotId, int feature, IImsServiceFeatureListener callback); /** * Set the network selection mode to automatic. * Loading