Loading core/res/res/values/config.xml +7 −0 Original line number Diff line number Diff line Loading @@ -2278,6 +2278,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 @@ -254,6 +254,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 @@ -18,6 +18,7 @@ package android.telephony; import static com.android.internal.util.Preconditions.checkNotNull; import android.annotation.IntDef; import android.annotation.Nullable; import android.annotation.RequiresPermission; import android.annotation.SystemApi; Loading Loading @@ -46,8 +47,11 @@ import android.telecom.PhoneAccount; import android.telecom.PhoneAccountHandle; import android.telephony.ClientRequestStats; 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 @@ -61,6 +65,8 @@ import com.android.internal.telephony.TelephonyProperties; import java.io.FileInputStream; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; import java.util.Collections; import java.util.List; Loading Loading @@ -4160,6 +4166,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 @@ -33,6 +33,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 @@ -744,6 +746,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 @@ -2278,6 +2278,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 @@ -254,6 +254,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 @@ -18,6 +18,7 @@ package android.telephony; import static com.android.internal.util.Preconditions.checkNotNull; import android.annotation.IntDef; import android.annotation.Nullable; import android.annotation.RequiresPermission; import android.annotation.SystemApi; Loading Loading @@ -46,8 +47,11 @@ import android.telecom.PhoneAccount; import android.telecom.PhoneAccountHandle; import android.telephony.ClientRequestStats; 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 @@ -61,6 +65,8 @@ import com.android.internal.telephony.TelephonyProperties; import java.io.FileInputStream; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; import java.util.Collections; import java.util.List; Loading Loading @@ -4160,6 +4166,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 @@ -33,6 +33,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 @@ -744,6 +746,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