Merge "Correct Typo on Provision Refactor per API review" into tm-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
82e82e1479
@@ -44254,6 +44254,9 @@ package android.telephony.ims {
|
|||||||
method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void unregisterImsRegistrationCallback(@NonNull android.telephony.ims.RegistrationManager.RegistrationCallback);
|
method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void unregisterImsRegistrationCallback(@NonNull android.telephony.ims.RegistrationManager.RegistrationCallback);
|
||||||
method public void unregisterImsStateCallback(@NonNull android.telephony.ims.ImsStateCallback);
|
method public void unregisterImsStateCallback(@NonNull android.telephony.ims.ImsStateCallback);
|
||||||
field public static final String ACTION_SHOW_CAPABILITY_DISCOVERY_OPT_IN = "android.telephony.ims.action.SHOW_CAPABILITY_DISCOVERY_OPT_IN";
|
field public static final String ACTION_SHOW_CAPABILITY_DISCOVERY_OPT_IN = "android.telephony.ims.action.SHOW_CAPABILITY_DISCOVERY_OPT_IN";
|
||||||
|
field public static final int CAPABILITY_TYPE_NONE = 0; // 0x0
|
||||||
|
field public static final int CAPABILITY_TYPE_OPTIONS_UCE = 1; // 0x1
|
||||||
|
field public static final int CAPABILITY_TYPE_PRESENCE_UCE = 2; // 0x2
|
||||||
}
|
}
|
||||||
|
|
||||||
public final class ImsReasonInfo implements android.os.Parcelable {
|
public final class ImsReasonInfo implements android.os.Parcelable {
|
||||||
@@ -44475,10 +44478,10 @@ package android.telephony.ims {
|
|||||||
method public void unregisterFeatureProvisioningChangedCallback(@NonNull android.telephony.ims.ProvisioningManager.FeatureProvisioningCallback);
|
method public void unregisterFeatureProvisioningChangedCallback(@NonNull android.telephony.ims.ProvisioningManager.FeatureProvisioningCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class ProvisioningManager.FeatureProvisioningCallback {
|
public abstract static class ProvisioningManager.FeatureProvisioningCallback {
|
||||||
ctor public ProvisioningManager.FeatureProvisioningCallback();
|
ctor public ProvisioningManager.FeatureProvisioningCallback();
|
||||||
method public void onFeatureProvisioningChanged(int, int, boolean);
|
method public abstract void onFeatureProvisioningChanged(int, int, boolean);
|
||||||
method public void onRcsFeatureProvisioningChanged(int, int, boolean);
|
method public abstract void onRcsFeatureProvisioningChanged(int, int, boolean);
|
||||||
}
|
}
|
||||||
|
|
||||||
public class RcsUceAdapter {
|
public class RcsUceAdapter {
|
||||||
@@ -44521,15 +44524,6 @@ package android.telephony.ims.feature {
|
|||||||
field public static final int CAPABILITY_TYPE_VOICE = 1; // 0x1
|
field public static final int CAPABILITY_TYPE_VOICE = 1; // 0x1
|
||||||
}
|
}
|
||||||
|
|
||||||
public class RcsFeature {
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class RcsFeature.RcsImsCapabilities {
|
|
||||||
field public static final int CAPABILITY_TYPE_NONE = 0; // 0x0
|
|
||||||
field public static final int CAPABILITY_TYPE_OPTIONS_UCE = 1; // 0x1
|
|
||||||
field public static final int CAPABILITY_TYPE_PRESENCE_UCE = 2; // 0x2
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
package android.telephony.ims.stub {
|
package android.telephony.ims.stub {
|
||||||
|
|||||||
@@ -15024,7 +15024,7 @@ package android.telephony.ims {
|
|||||||
method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE, android.Manifest.permission.READ_CONTACTS}) public void requestAvailability(@NonNull android.net.Uri, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.RcsUceAdapter.CapabilitiesCallback) throws android.telephony.ims.ImsException;
|
method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE, android.Manifest.permission.READ_CONTACTS}) public void requestAvailability(@NonNull android.net.Uri, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.RcsUceAdapter.CapabilitiesCallback) throws android.telephony.ims.ImsException;
|
||||||
method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE, android.Manifest.permission.READ_CONTACTS}) public void requestCapabilities(@NonNull java.util.Collection<android.net.Uri>, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.RcsUceAdapter.CapabilitiesCallback) throws android.telephony.ims.ImsException;
|
method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE, android.Manifest.permission.READ_CONTACTS}) public void requestCapabilities(@NonNull java.util.Collection<android.net.Uri>, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.RcsUceAdapter.CapabilitiesCallback) throws android.telephony.ims.ImsException;
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUceSettingEnabled(boolean) throws android.telephony.ims.ImsException;
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUceSettingEnabled(boolean) throws android.telephony.ims.ImsException;
|
||||||
field public static final int CAPABILITY_TYPE_PRESENCE_UCE = 2; // 0x2
|
field @Deprecated public static final int CAPABILITY_TYPE_PRESENCE_UCE = 2; // 0x2
|
||||||
field public static final int CAPABILITY_UPDATE_TRIGGER_ETAG_EXPIRED = 1; // 0x1
|
field public static final int CAPABILITY_UPDATE_TRIGGER_ETAG_EXPIRED = 1; // 0x1
|
||||||
field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_2G = 7; // 0x7
|
field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_2G = 7; // 0x7
|
||||||
field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_3G = 6; // 0x6
|
field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_3G = 6; // 0x6
|
||||||
@@ -15307,6 +15307,9 @@ package android.telephony.ims.feature {
|
|||||||
method public void addCapabilities(int);
|
method public void addCapabilities(int);
|
||||||
method public boolean isCapable(int);
|
method public boolean isCapable(int);
|
||||||
method public void removeCapabilities(int);
|
method public void removeCapabilities(int);
|
||||||
|
field public static final int CAPABILITY_TYPE_NONE = 0; // 0x0
|
||||||
|
field public static final int CAPABILITY_TYPE_OPTIONS_UCE = 1; // 0x1
|
||||||
|
field public static final int CAPABILITY_TYPE_PRESENCE_UCE = 2; // 0x2
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -176,7 +176,7 @@ public class CarrierConfigManager {
|
|||||||
* This flag specifies whether VoLTE availability is based on provisioning. By default this is
|
* This flag specifies whether VoLTE availability is based on provisioning. By default this is
|
||||||
* false.
|
* false.
|
||||||
* Used for UCE to determine if EAB provisioning checks should be based on provisioning.
|
* Used for UCE to determine if EAB provisioning checks should be based on provisioning.
|
||||||
* @deprecated Use {@link Ims#KEY_MMTEL_REQUIRES_PROVISIONING_BUNDLE} instead.
|
* @deprecated Use {@link Ims#KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL} instead.
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public static final String
|
public static final String
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ package android.telephony.ims;
|
|||||||
|
|
||||||
import android.Manifest;
|
import android.Manifest;
|
||||||
import android.annotation.CallbackExecutor;
|
import android.annotation.CallbackExecutor;
|
||||||
|
import android.annotation.IntDef;
|
||||||
import android.annotation.NonNull;
|
import android.annotation.NonNull;
|
||||||
import android.annotation.RequiresFeature;
|
import android.annotation.RequiresFeature;
|
||||||
import android.annotation.RequiresPermission;
|
import android.annotation.RequiresPermission;
|
||||||
@@ -43,6 +44,8 @@ import android.util.Log;
|
|||||||
import com.android.internal.telephony.IIntegerConsumer;
|
import com.android.internal.telephony.IIntegerConsumer;
|
||||||
import com.android.internal.telephony.ITelephony;
|
import com.android.internal.telephony.ITelephony;
|
||||||
|
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
import java.lang.annotation.RetentionPolicy;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@@ -86,6 +89,46 @@ public class ImsRcsManager {
|
|||||||
public static final String ACTION_SHOW_CAPABILITY_DISCOVERY_OPT_IN =
|
public static final String ACTION_SHOW_CAPABILITY_DISCOVERY_OPT_IN =
|
||||||
"android.telephony.ims.action.SHOW_CAPABILITY_DISCOVERY_OPT_IN";
|
"android.telephony.ims.action.SHOW_CAPABILITY_DISCOVERY_OPT_IN";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This carrier supports User Capability Exchange as, defined by the framework using a
|
||||||
|
* presence server. If set, the RcsFeature should support capability exchange. If not set, this
|
||||||
|
* RcsFeature should not publish capabilities or service capability requests.
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
@Retention(RetentionPolicy.SOURCE)
|
||||||
|
@IntDef(prefix = "CAPABILITY_TYPE_", flag = true, value = {
|
||||||
|
CAPABILITY_TYPE_NONE,
|
||||||
|
CAPABILITY_TYPE_OPTIONS_UCE,
|
||||||
|
CAPABILITY_TYPE_PRESENCE_UCE
|
||||||
|
})
|
||||||
|
public @interface RcsImsCapabilityFlag {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Undefined capability type for initialization
|
||||||
|
*/
|
||||||
|
public static final int CAPABILITY_TYPE_NONE = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This carrier supports User Capability Exchange using SIP OPTIONS as defined by the
|
||||||
|
* framework. If set, the RcsFeature should support capability exchange using SIP OPTIONS.
|
||||||
|
* If not set, this RcsFeature should not service capability requests.
|
||||||
|
*/
|
||||||
|
public static final int CAPABILITY_TYPE_OPTIONS_UCE = 1 << 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This carrier supports User Capability Exchange using a presence server as defined by the
|
||||||
|
* framework. If set, the RcsFeature should support capability exchange using a presence
|
||||||
|
* server. If not set, this RcsFeature should not publish capabilities or service capability
|
||||||
|
* requests using presence.
|
||||||
|
*/
|
||||||
|
public static final int CAPABILITY_TYPE_PRESENCE_UCE = 1 << 1;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is used to check the upper range of RCS capability
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
public static final int CAPABILITY_TYPE_MAX = CAPABILITY_TYPE_PRESENCE_UCE + 1;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An application can use {@link #addOnAvailabilityChangedListener} to register a
|
* An application can use {@link #addOnAvailabilityChangedListener} to register a
|
||||||
* {@link OnAvailabilityChangedListener}, which will notify the user when the RCS feature
|
* {@link OnAvailabilityChangedListener}, which will notify the user when the RCS feature
|
||||||
@@ -104,7 +147,7 @@ public class ImsRcsManager {
|
|||||||
*
|
*
|
||||||
* @param capabilities The new availability of the capabilities.
|
* @param capabilities The new availability of the capabilities.
|
||||||
*/
|
*/
|
||||||
void onAvailabilityChanged(@RcsUceAdapter.RcsImsCapabilityFlag int capabilities);
|
void onAvailabilityChanged(@RcsImsCapabilityFlag int capabilities);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -486,7 +529,7 @@ public class ImsRcsManager {
|
|||||||
*/
|
*/
|
||||||
@SystemApi
|
@SystemApi
|
||||||
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
|
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
|
||||||
public boolean isCapable(@RcsUceAdapter.RcsImsCapabilityFlag int capability,
|
public boolean isCapable(@RcsImsCapabilityFlag int capability,
|
||||||
@ImsRegistrationImplBase.ImsRegistrationTech int radioTech) throws ImsException {
|
@ImsRegistrationImplBase.ImsRegistrationTech int radioTech) throws ImsException {
|
||||||
IImsRcsController imsRcsController = getIImsRcsController();
|
IImsRcsController imsRcsController = getIImsRcsController();
|
||||||
if (imsRcsController == null) {
|
if (imsRcsController == null) {
|
||||||
@@ -522,7 +565,7 @@ public class ImsRcsManager {
|
|||||||
*/
|
*/
|
||||||
@SystemApi
|
@SystemApi
|
||||||
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
|
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
|
||||||
public boolean isAvailable(@RcsUceAdapter.RcsImsCapabilityFlag int capability,
|
public boolean isAvailable(@RcsImsCapabilityFlag int capability,
|
||||||
@ImsRegistrationImplBase.ImsRegistrationTech int radioTech)
|
@ImsRegistrationImplBase.ImsRegistrationTech int radioTech)
|
||||||
throws ImsException {
|
throws ImsException {
|
||||||
IImsRcsController imsRcsController = getIImsRcsController();
|
IImsRcsController imsRcsController = getIImsRcsController();
|
||||||
|
|||||||
@@ -38,7 +38,6 @@ import android.telephony.ims.aidl.IFeatureProvisioningCallback;
|
|||||||
import android.telephony.ims.aidl.IImsConfigCallback;
|
import android.telephony.ims.aidl.IImsConfigCallback;
|
||||||
import android.telephony.ims.aidl.IRcsConfigCallback;
|
import android.telephony.ims.aidl.IRcsConfigCallback;
|
||||||
import android.telephony.ims.feature.MmTelFeature;
|
import android.telephony.ims.feature.MmTelFeature;
|
||||||
import android.telephony.ims.feature.RcsFeature;
|
|
||||||
import android.telephony.ims.stub.ImsConfigImplBase;
|
import android.telephony.ims.stub.ImsConfigImplBase;
|
||||||
import android.telephony.ims.stub.ImsRegistrationImplBase;
|
import android.telephony.ims.stub.ImsRegistrationImplBase;
|
||||||
|
|
||||||
@@ -970,7 +969,7 @@ public class ProvisioningManager {
|
|||||||
/**
|
/**
|
||||||
* Callback for IMS provisioning feature changes.
|
* Callback for IMS provisioning feature changes.
|
||||||
*/
|
*/
|
||||||
public static class FeatureProvisioningCallback {
|
public abstract static class FeatureProvisioningCallback {
|
||||||
|
|
||||||
private static class CallbackBinder extends IFeatureProvisioningCallback.Stub {
|
private static class CallbackBinder extends IFeatureProvisioningCallback.Stub {
|
||||||
|
|
||||||
@@ -1024,12 +1023,10 @@ public class ProvisioningManager {
|
|||||||
* specified, or {@code false} if the capability is not provisioned for the technology
|
* specified, or {@code false} if the capability is not provisioned for the technology
|
||||||
* specified.
|
* specified.
|
||||||
*/
|
*/
|
||||||
public void onFeatureProvisioningChanged(
|
public abstract void onFeatureProvisioningChanged(
|
||||||
@MmTelFeature.MmTelCapabilities.MmTelCapability int capability,
|
@MmTelFeature.MmTelCapabilities.MmTelCapability int capability,
|
||||||
@ImsRegistrationImplBase.ImsRegistrationTech int tech,
|
@ImsRegistrationImplBase.ImsRegistrationTech int tech,
|
||||||
boolean isProvisioned) {
|
boolean isProvisioned);
|
||||||
// Base Implementation
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The IMS RCS provisioning has changed for a specific capability and IMS
|
* The IMS RCS provisioning has changed for a specific capability and IMS
|
||||||
@@ -1041,12 +1038,10 @@ public class ProvisioningManager {
|
|||||||
* specified, or {@code false} if the capability is not provisioned for the technology
|
* specified, or {@code false} if the capability is not provisioned for the technology
|
||||||
* specified.
|
* specified.
|
||||||
*/
|
*/
|
||||||
public void onRcsFeatureProvisioningChanged(
|
public abstract void onRcsFeatureProvisioningChanged(
|
||||||
@RcsFeature.RcsImsCapabilities.RcsImsCapabilityFlag int capability,
|
@ImsRcsManager.RcsImsCapabilityFlag int capability,
|
||||||
@ImsRegistrationImplBase.ImsRegistrationTech int tech,
|
@ImsRegistrationImplBase.ImsRegistrationTech int tech,
|
||||||
boolean isProvisioned) {
|
boolean isProvisioned);
|
||||||
// Base Implementation
|
|
||||||
}
|
|
||||||
|
|
||||||
/**@hide*/
|
/**@hide*/
|
||||||
public final IFeatureProvisioningCallback getBinder() {
|
public final IFeatureProvisioningCallback getBinder() {
|
||||||
@@ -1505,7 +1500,7 @@ public class ProvisioningManager {
|
|||||||
* Get the provisioning status for the IMS RCS capability specified.
|
* Get the provisioning status for the IMS RCS capability specified.
|
||||||
*
|
*
|
||||||
* If provisioning is not required for the queried
|
* If provisioning is not required for the queried
|
||||||
* {@link RcsFeature.RcsImsCapabilities.RcsImsCapabilityFlag} this method will always return
|
* {@link ImsRcsManager.RcsImsCapabilityFlag} this method will always return
|
||||||
* {@code true}.
|
* {@code true}.
|
||||||
*
|
*
|
||||||
* @see CarrierConfigManager.Ims#KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL
|
* @see CarrierConfigManager.Ims#KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL
|
||||||
@@ -1522,7 +1517,7 @@ public class ProvisioningManager {
|
|||||||
@WorkerThread
|
@WorkerThread
|
||||||
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
|
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
|
||||||
public boolean getRcsProvisioningStatusForCapability(
|
public boolean getRcsProvisioningStatusForCapability(
|
||||||
@RcsFeature.RcsImsCapabilities.RcsImsCapabilityFlag int capability) {
|
@ImsRcsManager.RcsImsCapabilityFlag int capability) {
|
||||||
try {
|
try {
|
||||||
return getITelephony().getRcsProvisioningStatusForCapability(mSubId, capability,
|
return getITelephony().getRcsProvisioningStatusForCapability(mSubId, capability,
|
||||||
ImsRegistrationImplBase.REGISTRATION_TECH_LTE);
|
ImsRegistrationImplBase.REGISTRATION_TECH_LTE);
|
||||||
@@ -1535,7 +1530,7 @@ public class ProvisioningManager {
|
|||||||
* Get the provisioning status for the IMS RCS capability specified.
|
* Get the provisioning status for the IMS RCS capability specified.
|
||||||
*
|
*
|
||||||
* If provisioning is not required for the queried
|
* If provisioning is not required for the queried
|
||||||
* {@link RcsFeature.RcsImsCapabilities.RcsImsCapabilityFlag} this method
|
* {@link ImsRcsManager.RcsImsCapabilityFlag} this method
|
||||||
* will always return {@code true}.
|
* will always return {@code true}.
|
||||||
*
|
*
|
||||||
* <p> Requires Permission:
|
* <p> Requires Permission:
|
||||||
@@ -1553,7 +1548,7 @@ public class ProvisioningManager {
|
|||||||
@WorkerThread
|
@WorkerThread
|
||||||
@RequiresPermission(Manifest.permission.READ_PRECISE_PHONE_STATE)
|
@RequiresPermission(Manifest.permission.READ_PRECISE_PHONE_STATE)
|
||||||
public boolean getRcsProvisioningStatusForCapability(
|
public boolean getRcsProvisioningStatusForCapability(
|
||||||
@RcsFeature.RcsImsCapabilities.RcsImsCapabilityFlag int capability,
|
@ImsRcsManager.RcsImsCapabilityFlag int capability,
|
||||||
@ImsRegistrationImplBase.ImsRegistrationTech int tech) {
|
@ImsRegistrationImplBase.ImsRegistrationTech int tech) {
|
||||||
try {
|
try {
|
||||||
return getITelephony().getRcsProvisioningStatusForCapability(mSubId, capability, tech);
|
return getITelephony().getRcsProvisioningStatusForCapability(mSubId, capability, tech);
|
||||||
@@ -1590,7 +1585,7 @@ public class ProvisioningManager {
|
|||||||
@WorkerThread
|
@WorkerThread
|
||||||
@RequiresPermission(Manifest.permission.MODIFY_PHONE_STATE)
|
@RequiresPermission(Manifest.permission.MODIFY_PHONE_STATE)
|
||||||
public void setRcsProvisioningStatusForCapability(
|
public void setRcsProvisioningStatusForCapability(
|
||||||
@RcsFeature.RcsImsCapabilities.RcsImsCapabilityFlag int capability,
|
@ImsRcsManager.RcsImsCapabilityFlag int capability,
|
||||||
boolean isProvisioned) {
|
boolean isProvisioned) {
|
||||||
try {
|
try {
|
||||||
getITelephony().setRcsProvisioningStatusForCapability(mSubId, capability,
|
getITelephony().setRcsProvisioningStatusForCapability(mSubId, capability,
|
||||||
@@ -1622,7 +1617,7 @@ public class ProvisioningManager {
|
|||||||
@WorkerThread
|
@WorkerThread
|
||||||
@RequiresPermission(Manifest.permission.MODIFY_PHONE_STATE)
|
@RequiresPermission(Manifest.permission.MODIFY_PHONE_STATE)
|
||||||
public void setRcsProvisioningStatusForCapability(
|
public void setRcsProvisioningStatusForCapability(
|
||||||
@RcsFeature.RcsImsCapabilities.RcsImsCapabilityFlag int capability,
|
@ImsRcsManager.RcsImsCapabilityFlag int capability,
|
||||||
@ImsRegistrationImplBase.ImsRegistrationTech int tech, boolean isProvisioned) {
|
@ImsRegistrationImplBase.ImsRegistrationTech int tech, boolean isProvisioned) {
|
||||||
try {
|
try {
|
||||||
getITelephony().setRcsProvisioningStatusForCapability(mSubId, capability,
|
getITelephony().setRcsProvisioningStatusForCapability(mSubId, capability,
|
||||||
@@ -1676,7 +1671,7 @@ public class ProvisioningManager {
|
|||||||
*/
|
*/
|
||||||
@RequiresPermission(Manifest.permission.READ_PRECISE_PHONE_STATE)
|
@RequiresPermission(Manifest.permission.READ_PRECISE_PHONE_STATE)
|
||||||
public boolean isRcsProvisioningRequiredForCapability(
|
public boolean isRcsProvisioningRequiredForCapability(
|
||||||
@RcsFeature.RcsImsCapabilities.RcsImsCapabilityFlag int capability,
|
@ImsRcsManager.RcsImsCapabilityFlag int capability,
|
||||||
@ImsRegistrationImplBase.ImsRegistrationTech int tech) {
|
@ImsRegistrationImplBase.ImsRegistrationTech int tech) {
|
||||||
try {
|
try {
|
||||||
return getITelephony().isRcsProvisioningRequiredForCapability(mSubId, capability, tech);
|
return getITelephony().isRcsProvisioningRequiredForCapability(mSubId, capability, tech);
|
||||||
|
|||||||
@@ -55,20 +55,28 @@ public class RcsUceAdapter {
|
|||||||
* This carrier supports User Capability Exchange as, defined by the framework using
|
* This carrier supports User Capability Exchange as, defined by the framework using
|
||||||
* SIP OPTIONS. If set, the RcsFeature should support capability exchange. If not set, this
|
* SIP OPTIONS. If set, the RcsFeature should support capability exchange. If not set, this
|
||||||
* RcsFeature should not publish capabilities or service capability requests.
|
* RcsFeature should not publish capabilities or service capability requests.
|
||||||
|
* @deprecated Use {@link ImsRcsManager#CAPABILITY_TYPE_OPTIONS_UCE} instead.
|
||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public static final int CAPABILITY_TYPE_OPTIONS_UCE = 1 << 0;
|
public static final int CAPABILITY_TYPE_OPTIONS_UCE = 1 << 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This carrier supports User Capability Exchange as, defined by the framework using a
|
* This carrier supports User Capability Exchange as, defined by the framework using a
|
||||||
* presence server. If set, the RcsFeature should support capability exchange. If not set, this
|
* presence server. If set, the RcsFeature should support capability exchange. If not set, this
|
||||||
* RcsFeature should not publish capabilities or service capability requests.
|
* RcsFeature should not publish capabilities or service capability requests.
|
||||||
|
* @deprecated Use {@link ImsRcsManager#CAPABILITY_TYPE_PRESENCE_UCE} instead.
|
||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
@SystemApi
|
@SystemApi
|
||||||
public static final int CAPABILITY_TYPE_PRESENCE_UCE = 1 << 1;
|
public static final int CAPABILITY_TYPE_PRESENCE_UCE = 1 << 1;
|
||||||
|
|
||||||
/**@hide*/
|
/**
|
||||||
|
* @deprecated Use {@link ImsRcsManager.RcsImsCapabilityFlag} instead.
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
@Retention(RetentionPolicy.SOURCE)
|
@Retention(RetentionPolicy.SOURCE)
|
||||||
@IntDef(prefix = "CAPABILITY_TYPE_", value = {
|
@IntDef(prefix = "CAPABILITY_TYPE_", value = {
|
||||||
CAPABILITY_TYPE_OPTIONS_UCE,
|
CAPABILITY_TYPE_OPTIONS_UCE,
|
||||||
|
|||||||
@@ -396,7 +396,7 @@ public class MmTelFeature extends ImsFeature {
|
|||||||
/**
|
/**
|
||||||
* Undefined capability type for initialization
|
* Undefined capability type for initialization
|
||||||
* This is used to check the upper range of MmTel capability
|
* This is used to check the upper range of MmTel capability
|
||||||
* {@hide}
|
* @hide
|
||||||
*/
|
*/
|
||||||
public static final int CAPABILITY_TYPE_NONE = 0;
|
public static final int CAPABILITY_TYPE_NONE = 0;
|
||||||
|
|
||||||
@@ -427,7 +427,7 @@ public class MmTelFeature extends ImsFeature {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* This is used to check the upper range of MmTel capability
|
* This is used to check the upper range of MmTel capability
|
||||||
* {@hide}
|
* @hide
|
||||||
*/
|
*/
|
||||||
public static final int CAPABILITY_TYPE_MAX = CAPABILITY_TYPE_CALL_COMPOSER + 1;
|
public static final int CAPABILITY_TYPE_MAX = CAPABILITY_TYPE_CALL_COMPOSER + 1;
|
||||||
|
|
||||||
@@ -738,7 +738,7 @@ public class MmTelFeature extends ImsFeature {
|
|||||||
* Enabling/Disabling a capability here indicates that the capability should be registered or
|
* Enabling/Disabling a capability here indicates that the capability should be registered or
|
||||||
* deregistered (depending on the capability change) and become available or unavailable to
|
* deregistered (depending on the capability change) and become available or unavailable to
|
||||||
* the framework.
|
* the framework.
|
||||||
* * @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@SystemApi
|
@SystemApi
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ import android.annotation.SystemApi;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
import android.telephony.ims.RcsUceAdapter;
|
import android.telephony.ims.ImsRcsManager;
|
||||||
import android.telephony.ims.aidl.CapabilityExchangeAidlWrapper;
|
import android.telephony.ims.aidl.CapabilityExchangeAidlWrapper;
|
||||||
import android.telephony.ims.aidl.ICapabilityExchangeEventListener;
|
import android.telephony.ims.aidl.ICapabilityExchangeEventListener;
|
||||||
import android.telephony.ims.aidl.IImsCapabilityCallback;
|
import android.telephony.ims.aidl.IImsCapabilityCallback;
|
||||||
@@ -59,7 +59,9 @@ import java.util.function.Supplier;
|
|||||||
/**
|
/**
|
||||||
* Base implementation of the RcsFeature APIs. Any ImsService wishing to support RCS should extend
|
* Base implementation of the RcsFeature APIs. Any ImsService wishing to support RCS should extend
|
||||||
* this class and provide implementations of the RcsFeature methods that they support.
|
* this class and provide implementations of the RcsFeature methods that they support.
|
||||||
|
* @hide
|
||||||
*/
|
*/
|
||||||
|
@SystemApi
|
||||||
public class RcsFeature extends ImsFeature {
|
public class RcsFeature extends ImsFeature {
|
||||||
|
|
||||||
private static final String LOG_TAG = "RcsFeature";
|
private static final String LOG_TAG = "RcsFeature";
|
||||||
@@ -184,18 +186,22 @@ public class RcsFeature extends ImsFeature {
|
|||||||
* Contains the capabilities defined and supported by a {@link RcsFeature} in the
|
* Contains the capabilities defined and supported by a {@link RcsFeature} in the
|
||||||
* form of a bitmask. The capabilities that are used in the RcsFeature are
|
* form of a bitmask. The capabilities that are used in the RcsFeature are
|
||||||
* defined as:
|
* defined as:
|
||||||
* {RcsUceAdapter.RcsImsCapabilityFlag#CAPABILITY_TYPE_OPTIONS_UCE}
|
* {@link ImsRcsManager.RcsImsCapabilityFlag#CAPABILITY_TYPE_OPTIONS_UCE}
|
||||||
* {RcsUceAdapter.RcsImsCapabilityFlag#CAPABILITY_TYPE_PRESENCE_UCE}
|
* {@link ImsRcsManager.RcsImsCapabilityFlag#CAPABILITY_TYPE_PRESENCE_UCE}
|
||||||
*
|
*
|
||||||
* The enabled capabilities of this RcsFeature will be set by the framework
|
* The enabled capabilities of this RcsFeature will be set by the framework
|
||||||
* using {#changeEnabledCapabilities(CapabilityChangeRequest, CapabilityCallbackProxy)}.
|
* using {@link #changeEnabledCapabilities(CapabilityChangeRequest, CapabilityCallbackProxy)}.
|
||||||
* After the capabilities have been set, the RcsFeature may then perform the necessary bring up
|
* After the capabilities have been set, the RcsFeature may then perform the necessary bring up
|
||||||
* of the capability and notify the capability status as true using
|
* of the capability and notify the capability status as true using
|
||||||
* {#notifyCapabilitiesStatusChanged(RcsImsCapabilities)}. This will signal to the
|
* {@link #notifyCapabilitiesStatusChanged(RcsImsCapabilities)}. This will signal to the
|
||||||
* framework that the capability is available for usage.
|
* framework that the capability is available for usage.
|
||||||
*/
|
*/
|
||||||
public static class RcsImsCapabilities extends Capabilities {
|
public static class RcsImsCapabilities extends Capabilities {
|
||||||
/** @hide*/
|
|
||||||
|
/**
|
||||||
|
* Use {@link ImsRcsManager.RcsImsCapabilityFlag} instead in case used for public API
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
@Retention(RetentionPolicy.SOURCE)
|
@Retention(RetentionPolicy.SOURCE)
|
||||||
@IntDef(prefix = "CAPABILITY_TYPE_", flag = true, value = {
|
@IntDef(prefix = "CAPABILITY_TYPE_", flag = true, value = {
|
||||||
CAPABILITY_TYPE_NONE,
|
CAPABILITY_TYPE_NONE,
|
||||||
@@ -226,7 +232,7 @@ public class RcsFeature extends ImsFeature {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* This is used to check the upper range of RCS capability
|
* This is used to check the upper range of RCS capability
|
||||||
* {@hide}
|
* @hide
|
||||||
*/
|
*/
|
||||||
public static final int CAPABILITY_TYPE_MAX = CAPABILITY_TYPE_PRESENCE_UCE + 1;
|
public static final int CAPABILITY_TYPE_MAX = CAPABILITY_TYPE_PRESENCE_UCE + 1;
|
||||||
|
|
||||||
@@ -234,10 +240,8 @@ public class RcsFeature extends ImsFeature {
|
|||||||
* Create a new {@link RcsImsCapabilities} instance with the provided capabilities.
|
* Create a new {@link RcsImsCapabilities} instance with the provided capabilities.
|
||||||
* @param capabilities The capabilities that are supported for RCS in the form of a
|
* @param capabilities The capabilities that are supported for RCS in the form of a
|
||||||
* bitfield.
|
* bitfield.
|
||||||
* @hide
|
|
||||||
*/
|
*/
|
||||||
@SystemApi
|
public RcsImsCapabilities(@ImsRcsManager.RcsImsCapabilityFlag int capabilities) {
|
||||||
public RcsImsCapabilities(@RcsUceAdapter.RcsImsCapabilityFlag int capabilities) {
|
|
||||||
super(capabilities);
|
super(capabilities);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -249,30 +253,18 @@ public class RcsFeature extends ImsFeature {
|
|||||||
super(capabilities.getMask());
|
super(capabilities.getMask());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @hide
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
@SystemApi
|
public void addCapabilities(@ImsRcsManager.RcsImsCapabilityFlag int capabilities) {
|
||||||
public void addCapabilities(@RcsUceAdapter.RcsImsCapabilityFlag int capabilities) {
|
|
||||||
super.addCapabilities(capabilities);
|
super.addCapabilities(capabilities);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @hide
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
@SystemApi
|
public void removeCapabilities(@ImsRcsManager.RcsImsCapabilityFlag int capabilities) {
|
||||||
public void removeCapabilities(@RcsUceAdapter.RcsImsCapabilityFlag int capabilities) {
|
|
||||||
super.removeCapabilities(capabilities);
|
super.removeCapabilities(capabilities);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @hide
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
@SystemApi
|
public boolean isCapable(@ImsRcsManager.RcsImsCapabilityFlag int capabilities) {
|
||||||
public boolean isCapable(@RcsUceAdapter.RcsImsCapabilityFlag int capabilities) {
|
|
||||||
return super.isCapable(capabilities);
|
return super.isCapable(capabilities);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -288,9 +280,7 @@ public class RcsFeature extends ImsFeature {
|
|||||||
* Method stubs called from the framework will be called asynchronously. To specify the
|
* Method stubs called from the framework will be called asynchronously. To specify the
|
||||||
* {@link Executor} that the methods stubs will be called, use
|
* {@link Executor} that the methods stubs will be called, use
|
||||||
* {@link RcsFeature#RcsFeature(Executor)} instead.
|
* {@link RcsFeature#RcsFeature(Executor)} instead.
|
||||||
* @hide
|
|
||||||
*/
|
*/
|
||||||
@SystemApi
|
|
||||||
public RcsFeature() {
|
public RcsFeature() {
|
||||||
super();
|
super();
|
||||||
// Run on the Binder threads that call them.
|
// Run on the Binder threads that call them.
|
||||||
@@ -302,9 +292,7 @@ public class RcsFeature extends ImsFeature {
|
|||||||
* framework.
|
* framework.
|
||||||
* @param executor The executor for the framework to use when executing the methods overridden
|
* @param executor The executor for the framework to use when executing the methods overridden
|
||||||
* by the implementation of RcsFeature.
|
* by the implementation of RcsFeature.
|
||||||
* @hide
|
|
||||||
*/
|
*/
|
||||||
@SystemApi
|
|
||||||
public RcsFeature(@NonNull Executor executor) {
|
public RcsFeature(@NonNull Executor executor) {
|
||||||
super();
|
super();
|
||||||
if (executor == null) {
|
if (executor == null) {
|
||||||
@@ -335,10 +323,8 @@ public class RcsFeature extends ImsFeature {
|
|||||||
* requests. To change the status of the capabilities
|
* requests. To change the status of the capabilities
|
||||||
* {@link #notifyCapabilitiesStatusChanged(RcsImsCapabilities)} should be called.
|
* {@link #notifyCapabilitiesStatusChanged(RcsImsCapabilities)} should be called.
|
||||||
* @return A copy of the current RcsFeature capability status.
|
* @return A copy of the current RcsFeature capability status.
|
||||||
* @hide
|
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@SystemApi
|
|
||||||
public @NonNull final RcsImsCapabilities queryCapabilityStatus() {
|
public @NonNull final RcsImsCapabilities queryCapabilityStatus() {
|
||||||
return new RcsImsCapabilities(super.queryCapabilityStatus());
|
return new RcsImsCapabilities(super.queryCapabilityStatus());
|
||||||
}
|
}
|
||||||
@@ -348,9 +334,7 @@ public class RcsFeature extends ImsFeature {
|
|||||||
* this signals to the framework that the capability has been initialized and is ready.
|
* this signals to the framework that the capability has been initialized and is ready.
|
||||||
* Call {@link #queryCapabilityStatus()} to return the current capability status.
|
* Call {@link #queryCapabilityStatus()} to return the current capability status.
|
||||||
* @param capabilities The current capability status of the RcsFeature.
|
* @param capabilities The current capability status of the RcsFeature.
|
||||||
* @hide
|
|
||||||
*/
|
*/
|
||||||
@SystemApi
|
|
||||||
public final void notifyCapabilitiesStatusChanged(@NonNull RcsImsCapabilities capabilities) {
|
public final void notifyCapabilitiesStatusChanged(@NonNull RcsImsCapabilities capabilities) {
|
||||||
if (capabilities == null) {
|
if (capabilities == null) {
|
||||||
throw new IllegalArgumentException("RcsImsCapabilities must be non-null!");
|
throw new IllegalArgumentException("RcsImsCapabilities must be non-null!");
|
||||||
@@ -367,11 +351,9 @@ public class RcsFeature extends ImsFeature {
|
|||||||
* @param capability The capability that we are querying the configuration for.
|
* @param capability The capability that we are querying the configuration for.
|
||||||
* @param radioTech The radio technology type that we are querying.
|
* @param radioTech The radio technology type that we are querying.
|
||||||
* @return true if the capability is enabled, false otherwise.
|
* @return true if the capability is enabled, false otherwise.
|
||||||
* @hide
|
|
||||||
*/
|
*/
|
||||||
@SystemApi
|
|
||||||
public boolean queryCapabilityConfiguration(
|
public boolean queryCapabilityConfiguration(
|
||||||
@RcsUceAdapter.RcsImsCapabilityFlag int capability,
|
@ImsRcsManager.RcsImsCapabilityFlag int capability,
|
||||||
@ImsRegistrationImplBase.ImsRegistrationTech int radioTech) {
|
@ImsRegistrationImplBase.ImsRegistrationTech int radioTech) {
|
||||||
// Base Implementation - Override to provide functionality
|
// Base Implementation - Override to provide functionality
|
||||||
return false;
|
return false;
|
||||||
@@ -392,10 +374,8 @@ public class RcsFeature extends ImsFeature {
|
|||||||
* be called for each capability change that resulted in an error.
|
* be called for each capability change that resulted in an error.
|
||||||
* @param request The request to change the capability.
|
* @param request The request to change the capability.
|
||||||
* @param callback To notify the framework that the result of the capability changes.
|
* @param callback To notify the framework that the result of the capability changes.
|
||||||
* @hide
|
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@SystemApi
|
|
||||||
public void changeEnabledCapabilities(@NonNull CapabilityChangeRequest request,
|
public void changeEnabledCapabilities(@NonNull CapabilityChangeRequest request,
|
||||||
@NonNull CapabilityCallbackProxy callback) {
|
@NonNull CapabilityCallbackProxy callback) {
|
||||||
// Base Implementation - Override to provide functionality
|
// Base Implementation - Override to provide functionality
|
||||||
@@ -415,9 +395,7 @@ public class RcsFeature extends ImsFeature {
|
|||||||
* event to the framework.
|
* event to the framework.
|
||||||
* @return An instance of {@link RcsCapabilityExchangeImplBase} that implements capability
|
* @return An instance of {@link RcsCapabilityExchangeImplBase} that implements capability
|
||||||
* exchange if it is supported by the device.
|
* exchange if it is supported by the device.
|
||||||
* @hide
|
|
||||||
*/
|
*/
|
||||||
@SystemApi
|
|
||||||
public @NonNull RcsCapabilityExchangeImplBase createCapabilityExchangeImpl(
|
public @NonNull RcsCapabilityExchangeImplBase createCapabilityExchangeImpl(
|
||||||
@NonNull CapabilityExchangeEventListener listener) {
|
@NonNull CapabilityExchangeEventListener listener) {
|
||||||
// Base Implementation, override to implement functionality
|
// Base Implementation, override to implement functionality
|
||||||
@@ -427,28 +405,20 @@ public class RcsFeature extends ImsFeature {
|
|||||||
/**
|
/**
|
||||||
* Remove the given CapabilityExchangeImplBase instance.
|
* Remove the given CapabilityExchangeImplBase instance.
|
||||||
* @param capExchangeImpl The {@link RcsCapabilityExchangeImplBase} instance to be destroyed.
|
* @param capExchangeImpl The {@link RcsCapabilityExchangeImplBase} instance to be destroyed.
|
||||||
* @hide
|
|
||||||
*/
|
*/
|
||||||
@SystemApi
|
|
||||||
public void destroyCapabilityExchangeImpl(
|
public void destroyCapabilityExchangeImpl(
|
||||||
@NonNull RcsCapabilityExchangeImplBase capExchangeImpl) {
|
@NonNull RcsCapabilityExchangeImplBase capExchangeImpl) {
|
||||||
// Override to implement the process of destroying RcsCapabilityExchangeImplBase instance.
|
// Override to implement the process of destroying RcsCapabilityExchangeImplBase instance.
|
||||||
}
|
}
|
||||||
|
|
||||||
/**{@inheritDoc}
|
/**{@inheritDoc}*/
|
||||||
* @hide
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
@SystemApi
|
|
||||||
public void onFeatureRemoved() {
|
public void onFeatureRemoved() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**{@inheritDoc}
|
/**{@inheritDoc}*/
|
||||||
* @hide
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
@SystemApi
|
|
||||||
public void onFeatureReady() {
|
public void onFeatureReady() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ public class ImsRegistrationImplBase {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* This is used to check the upper range of registration tech
|
* This is used to check the upper range of registration tech
|
||||||
* {@hide}
|
* @hide
|
||||||
*/
|
*/
|
||||||
public static final int REGISTRATION_TECH_MAX = REGISTRATION_TECH_NR + 1;
|
public static final int REGISTRATION_TECH_MAX = REGISTRATION_TECH_NR + 1;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user