Merge "Adds @hide ImsResolver API and device overlays (2/3)"
am: d063843549
Change-Id: I82a38c0cb2b7b229b96f0a617f8b7c921eb6d3a9
This commit is contained in:
@@ -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" />
|
||||
|
||||
@@ -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" />
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package android.telephony;
|
||||
|
||||
import android.annotation.IntDef;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.SystemApi;
|
||||
import android.annotation.SdkConstant;
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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
|
||||
*
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user