Merge "Adds @hide ImsResolver API and device overlays (2/3)" am: d063843549
am: b5f2519abc
Change-Id: I54c577f6c4bd68f6328572651315e056270ee807
This commit is contained in:
@@ -2294,6 +2294,13 @@
|
|||||||
<!-- Whether to use voip audio mode for ims call -->
|
<!-- Whether to use voip audio mode for ims call -->
|
||||||
<bool name="config_use_voip_mode_for_ims">false</bool>
|
<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>
|
<bool name="config_networkSamplingWakesDevice">true</bool>
|
||||||
|
|
||||||
<string-array translatable="false" name="config_cdma_home_system" />
|
<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_enableBurnInProtection" />
|
||||||
<java-symbol type="bool" name="config_hotswapCapable" />
|
<java-symbol type="bool" name="config_hotswapCapable" />
|
||||||
<java-symbol type="bool" name="config_mms_content_disposition_support" />
|
<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_networkSamplingWakesDevice" />
|
||||||
<java-symbol type="bool" name="config_showMenuShortcutsWhenKeyboardPresent" />
|
<java-symbol type="bool" name="config_showMenuShortcutsWhenKeyboardPresent" />
|
||||||
<java-symbol type="bool" name="config_sip_wifi_only" />
|
<java-symbol type="bool" name="config_sip_wifi_only" />
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package android.telephony;
|
package android.telephony;
|
||||||
|
|
||||||
|
import android.annotation.IntDef;
|
||||||
import android.annotation.Nullable;
|
import android.annotation.Nullable;
|
||||||
import android.annotation.SystemApi;
|
import android.annotation.SystemApi;
|
||||||
import android.annotation.SdkConstant;
|
import android.annotation.SdkConstant;
|
||||||
@@ -39,8 +40,11 @@ import android.service.carrier.CarrierIdentifier;
|
|||||||
import android.telecom.PhoneAccount;
|
import android.telecom.PhoneAccount;
|
||||||
import android.telecom.PhoneAccountHandle;
|
import android.telecom.PhoneAccountHandle;
|
||||||
import android.telephony.TelephonyHistogram;
|
import android.telephony.TelephonyHistogram;
|
||||||
|
import android.telephony.ims.feature.ImsFeature;
|
||||||
import android.util.Log;
|
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.telecom.ITelecomService;
|
||||||
import com.android.internal.telephony.CellNetworkScanResult;
|
import com.android.internal.telephony.CellNetworkScanResult;
|
||||||
import com.android.internal.telephony.IPhoneSubInfo;
|
import com.android.internal.telephony.IPhoneSubInfo;
|
||||||
@@ -53,6 +57,8 @@ import com.android.internal.telephony.TelephonyProperties;
|
|||||||
|
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
import java.lang.annotation.RetentionPolicy;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -4042,6 +4048,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
|
* Set IMS registration state
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -31,6 +31,8 @@ import android.telephony.RadioAccessFamily;
|
|||||||
import android.telephony.ServiceState;
|
import android.telephony.ServiceState;
|
||||||
import android.telephony.TelephonyHistogram;
|
import android.telephony.TelephonyHistogram;
|
||||||
import android.telephony.VisualVoicemailSmsFilterSettings;
|
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.CellNetworkScanResult;
|
||||||
import com.android.internal.telephony.OperatorInfo;
|
import com.android.internal.telephony.OperatorInfo;
|
||||||
|
|
||||||
@@ -714,6 +716,14 @@ interface ITelephony {
|
|||||||
*/
|
*/
|
||||||
int getTetherApnRequired();
|
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.
|
* Set the network selection mode to automatic.
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user