Merge changes from topics "cp_rcs_uce_setting", "ims_uce_system"
* changes: Make remaining UCE related APIs @SystemApi Add IMS_RCS_UCE_ENABLED column to SimInfo database
This commit is contained in:
@@ -9873,6 +9873,7 @@ package android.content {
|
||||
field public static final String STORAGE_STATS_SERVICE = "storagestats";
|
||||
field public static final String SYSTEM_HEALTH_SERVICE = "systemhealth";
|
||||
field public static final String TELECOM_SERVICE = "telecom";
|
||||
field public static final String TELEPHONY_IMS_SERVICE = "telephony_ims";
|
||||
field public static final String TELEPHONY_SERVICE = "phone";
|
||||
field public static final String TELEPHONY_SUBSCRIPTION_SERVICE = "telephony_subscription_service";
|
||||
field public static final String TEXT_CLASSIFICATION_SERVICE = "textclassification";
|
||||
@@ -46390,13 +46391,20 @@ package android.telephony.ims {
|
||||
|
||||
public final class ImsException extends java.lang.Exception {
|
||||
method public int getCode();
|
||||
field public static final int CODE_ERROR_INVALID_SUBSCRIPTION = 3; // 0x3
|
||||
field public static final int CODE_ERROR_SERVICE_UNAVAILABLE = 1; // 0x1
|
||||
field public static final int CODE_ERROR_UNSPECIFIED = 0; // 0x0
|
||||
field public static final int CODE_ERROR_UNSUPPORTED_OPERATION = 2; // 0x2
|
||||
}
|
||||
|
||||
public class ImsManager {
|
||||
method @NonNull public android.telephony.ims.ImsMmTelManager getImsMmTelManager(int);
|
||||
field public static final String ACTION_WFC_IMS_REGISTRATION_ERROR = "android.telephony.ims.action.WFC_IMS_REGISTRATION_ERROR";
|
||||
field public static final String EXTRA_WFC_REGISTRATION_FAILURE_MESSAGE = "android.telephony.ims.extra.WFC_REGISTRATION_FAILURE_MESSAGE";
|
||||
field public static final String EXTRA_WFC_REGISTRATION_FAILURE_TITLE = "android.telephony.ims.extra.WFC_REGISTRATION_FAILURE_TITLE";
|
||||
}
|
||||
|
||||
public class ImsMmTelManager implements android.telephony.ims.RegistrationManager {
|
||||
method @NonNull @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public static android.telephony.ims.ImsMmTelManager createForSubscriptionId(int);
|
||||
method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public void getRegistrationState(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
|
||||
method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public void getRegistrationTransportType(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
|
||||
method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public int getVoWiFiModeSetting();
|
||||
|
||||
@@ -1590,7 +1590,6 @@ package android.content {
|
||||
field public static final String STATS_MANAGER = "stats";
|
||||
field public static final String STATUS_BAR_SERVICE = "statusbar";
|
||||
field public static final String SYSTEM_UPDATE_SERVICE = "system_update";
|
||||
field public static final String TELEPHONY_IMS_SERVICE = "telephony_ims";
|
||||
field public static final String TELEPHONY_REGISTRY_SERVICE = "telephony_registry";
|
||||
field public static final String TETHERING_SERVICE = "tethering";
|
||||
field public static final String VR_SERVICE = "vrmanager";
|
||||
@@ -7217,6 +7216,7 @@ package android.provider {
|
||||
field public static final String HPLMNS = "hplmns";
|
||||
field public static final String ICC_ID = "icc_id";
|
||||
field public static final String IMSI = "imsi";
|
||||
field public static final String IMS_RCS_UCE_ENABLED = "ims_rcs_uce_enabled";
|
||||
field public static final String ISO_COUNTRY_CODE = "iso_country_code";
|
||||
field public static final String IS_EMBEDDED = "is_embedded";
|
||||
field public static final String IS_OPPORTUNISTIC = "is_opportunistic";
|
||||
@@ -10161,15 +10161,12 @@ package android.telephony.ims {
|
||||
}
|
||||
|
||||
public class ImsManager {
|
||||
method @NonNull public android.telephony.ims.ImsMmTelManager getImsMmTelManager(int);
|
||||
method @NonNull public android.telephony.ims.ImsRcsManager getImsRcsManager(int);
|
||||
field public static final String ACTION_FORBIDDEN_NO_SERVICE_AUTHORIZATION = "com.android.internal.intent.action.ACTION_FORBIDDEN_NO_SERVICE_AUTHORIZATION";
|
||||
field public static final String ACTION_WFC_IMS_REGISTRATION_ERROR = "android.telephony.ims.action.WFC_IMS_REGISTRATION_ERROR";
|
||||
field public static final String EXTRA_WFC_REGISTRATION_FAILURE_MESSAGE = "android.telephony.ims.extra.WFC_REGISTRATION_FAILURE_MESSAGE";
|
||||
field public static final String EXTRA_WFC_REGISTRATION_FAILURE_TITLE = "android.telephony.ims.extra.WFC_REGISTRATION_FAILURE_TITLE";
|
||||
}
|
||||
|
||||
public class ImsMmTelManager implements android.telephony.ims.RegistrationManager {
|
||||
method @Deprecated @NonNull @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public static android.telephony.ims.ImsMmTelManager createForSubscriptionId(int);
|
||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getFeatureState(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>) throws android.telephony.ims.ImsException;
|
||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getRegistrationState(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
|
||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getVoWiFiRoamingModeSetting();
|
||||
@@ -10537,8 +10534,8 @@ package android.telephony.ims {
|
||||
method public int describeContents();
|
||||
method @NonNull public java.util.List<java.lang.String> getCapableExtensionTags();
|
||||
method @NonNull public android.net.Uri getContactUri();
|
||||
method @Nullable public android.net.Uri getServiceUri(int);
|
||||
method public boolean isCapable(int);
|
||||
method @Nullable public android.net.Uri getServiceUri(long);
|
||||
method public boolean isCapable(long);
|
||||
method public boolean isCapable(@NonNull String);
|
||||
method public void writeToParcel(@NonNull android.os.Parcel, int);
|
||||
field public static final int CAPABILITY_CALL_COMPOSER = 4194304; // 0x400000
|
||||
@@ -10560,6 +10557,7 @@ package android.telephony.ims {
|
||||
field public static final int CAPABILITY_IMAGE_SHARE = 256; // 0x100
|
||||
field public static final int CAPABILITY_IP_VIDEO_CALL = 16384; // 0x4000
|
||||
field public static final int CAPABILITY_IP_VOICE_CALL = 8192; // 0x2000
|
||||
field public static final int CAPABILITY_MMTEL_CALL_COMPOSER = 1073741824; // 0x40000000
|
||||
field public static final int CAPABILITY_PLUG_IN = 268435456; // 0x10000000
|
||||
field public static final int CAPABILITY_POST_CALL = 8388608; // 0x800000
|
||||
field public static final int CAPABILITY_RCS_VIDEO_CALL = 1048576; // 0x100000
|
||||
@@ -10568,6 +10566,7 @@ package android.telephony.ims {
|
||||
field public static final int CAPABILITY_SHARED_MAP = 16777216; // 0x1000000
|
||||
field public static final int CAPABILITY_SHARED_SKETCH = 33554432; // 0x2000000
|
||||
field public static final int CAPABILITY_SOCIAL_PRESENCE = 2048; // 0x800
|
||||
field public static final int CAPABILITY_STANDALONE_CHAT_BOT = 536870912; // 0x20000000
|
||||
field public static final int CAPABILITY_VIDEO_SHARE = 1024; // 0x400
|
||||
field public static final int CAPABILITY_VIDEO_SHARE_DURING_CS_CALL = 512; // 0x200
|
||||
field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsContactUceCapability> CREATOR;
|
||||
@@ -10575,12 +10574,43 @@ package android.telephony.ims {
|
||||
|
||||
public static class RcsContactUceCapability.Builder {
|
||||
ctor public RcsContactUceCapability.Builder(@NonNull android.net.Uri);
|
||||
method @NonNull public android.telephony.ims.RcsContactUceCapability.Builder add(int, @NonNull android.net.Uri);
|
||||
method @NonNull public android.telephony.ims.RcsContactUceCapability.Builder add(int);
|
||||
method @NonNull public android.telephony.ims.RcsContactUceCapability.Builder add(long, @NonNull android.net.Uri);
|
||||
method @NonNull public android.telephony.ims.RcsContactUceCapability.Builder add(long);
|
||||
method @NonNull public android.telephony.ims.RcsContactUceCapability.Builder add(@NonNull String);
|
||||
method @NonNull public android.telephony.ims.RcsContactUceCapability build();
|
||||
}
|
||||
|
||||
public class RcsUceAdapter {
|
||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getUcePublishState() throws android.telephony.ims.ImsException;
|
||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isUceSettingEnabled() throws android.telephony.ims.ImsException;
|
||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void requestCapabilities(@NonNull java.util.concurrent.Executor, @NonNull java.util.List<android.net.Uri>, @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;
|
||||
field public static final int ERROR_ALREADY_IN_QUEUE = 13; // 0xd
|
||||
field public static final int ERROR_FORBIDDEN = 6; // 0x6
|
||||
field public static final int ERROR_GENERIC_FAILURE = 1; // 0x1
|
||||
field public static final int ERROR_INSUFFICIENT_MEMORY = 11; // 0xb
|
||||
field public static final int ERROR_LOST_NETWORK = 12; // 0xc
|
||||
field public static final int ERROR_NOT_AUTHORIZED = 5; // 0x5
|
||||
field public static final int ERROR_NOT_AVAILABLE = 3; // 0x3
|
||||
field public static final int ERROR_NOT_ENABLED = 2; // 0x2
|
||||
field public static final int ERROR_NOT_FOUND = 7; // 0x7
|
||||
field public static final int ERROR_NOT_REGISTERED = 4; // 0x4
|
||||
field public static final int ERROR_REQUEST_TIMEOUT = 10; // 0xa
|
||||
field public static final int ERROR_REQUEST_TOO_LARGE = 8; // 0x8
|
||||
field public static final int PUBLISH_STATE_200_OK = 1; // 0x1
|
||||
field public static final int PUBLISH_STATE_NOT_PUBLISHED = 2; // 0x2
|
||||
field public static final int PUBLISH_STATE_OTHER_ERROR = 6; // 0x6
|
||||
field public static final int PUBLISH_STATE_RCS_PROVISION_ERROR = 4; // 0x4
|
||||
field public static final int PUBLISH_STATE_REQUEST_TIMEOUT = 5; // 0x5
|
||||
field public static final int PUBLISH_STATE_VOLTE_PROVISION_ERROR = 3; // 0x3
|
||||
}
|
||||
|
||||
public static class RcsUceAdapter.CapabilitiesCallback {
|
||||
ctor public RcsUceAdapter.CapabilitiesCallback();
|
||||
method public void onCapabilitiesReceived(@NonNull java.util.List<android.telephony.ims.RcsContactUceCapability>);
|
||||
method public void onError(int);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
package android.telephony.ims.feature {
|
||||
@@ -10670,6 +10700,8 @@ package android.telephony.ims.feature {
|
||||
public class RcsFeature extends android.telephony.ims.feature.ImsFeature {
|
||||
ctor public RcsFeature();
|
||||
method public void changeEnabledCapabilities(@NonNull android.telephony.ims.feature.CapabilityChangeRequest, @NonNull android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
|
||||
method @NonNull public android.telephony.ims.stub.RcsSipOptionsImplBase getOptionsExchangeImpl();
|
||||
method @NonNull public android.telephony.ims.stub.RcsPresenceExchangeImplBase getPresenceExchangeImpl();
|
||||
method public final void notifyCapabilitiesStatusChanged(@NonNull android.telephony.ims.feature.RcsFeature.RcsImsCapabilities);
|
||||
method public void onFeatureReady();
|
||||
method public void onFeatureRemoved();
|
||||
@@ -10862,6 +10894,71 @@ package android.telephony.ims.stub {
|
||||
field public static final int INVALID_RESULT = -1; // 0xffffffff
|
||||
}
|
||||
|
||||
public class RcsCapabilityExchange {
|
||||
ctor public RcsCapabilityExchange();
|
||||
method public final void onCommandUpdate(int, int) throws android.telephony.ims.ImsException;
|
||||
field public static final int COMMAND_CODE_FETCH_ERROR = 4; // 0x4
|
||||
field public static final int COMMAND_CODE_GENERIC_FAILURE = 2; // 0x2
|
||||
field public static final int COMMAND_CODE_INSUFFICIENT_MEMORY = 6; // 0x6
|
||||
field public static final int COMMAND_CODE_INVALID_PARAM = 3; // 0x3
|
||||
field public static final int COMMAND_CODE_LOST_NETWORK_CONNECTION = 7; // 0x7
|
||||
field public static final int COMMAND_CODE_NOT_FOUND = 9; // 0x9
|
||||
field public static final int COMMAND_CODE_NOT_SUPPORTED = 8; // 0x8
|
||||
field public static final int COMMAND_CODE_NO_CHANGE_IN_CAP = 11; // 0xb
|
||||
field public static final int COMMAND_CODE_REQUEST_TIMEOUT = 5; // 0x5
|
||||
field public static final int COMMAND_CODE_SERVICE_UNAVAILABLE = 10; // 0xa
|
||||
field public static final int COMMAND_CODE_SERVICE_UNKNOWN = 0; // 0x0
|
||||
field public static final int COMMAND_CODE_SUCCESS = 1; // 0x1
|
||||
}
|
||||
|
||||
public class RcsPresenceExchangeImplBase extends android.telephony.ims.stub.RcsCapabilityExchange {
|
||||
ctor public RcsPresenceExchangeImplBase();
|
||||
method public final void onCapabilityRequestResponse(@NonNull java.util.List<android.telephony.ims.RcsContactUceCapability>, int) throws android.telephony.ims.ImsException;
|
||||
method public final void onNetworkResponse(int, @NonNull String, int) throws android.telephony.ims.ImsException;
|
||||
method public final void onNotifyUpdateCapabilites(int) throws android.telephony.ims.ImsException;
|
||||
method public final void onUnpublish() throws android.telephony.ims.ImsException;
|
||||
method public void requestCapabilities(@NonNull java.util.List<android.net.Uri>, int);
|
||||
method public void updateCapabilities(@NonNull android.telephony.ims.RcsContactUceCapability, int);
|
||||
field public static final int CAPABILITY_UPDATE_TRIGGER_ETAG_EXPIRED = 0; // 0x0
|
||||
field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_2G = 6; // 0x6
|
||||
field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_3G = 5; // 0x5
|
||||
field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_EHRPD = 3; // 0x3
|
||||
field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_HSPAPLUS = 4; // 0x4
|
||||
field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_IWLAN = 8; // 0x8
|
||||
field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_LTE_VOPS_DISABLED = 1; // 0x1
|
||||
field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_LTE_VOPS_ENABLED = 2; // 0x2
|
||||
field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_NR5G_VOPS_DISABLED = 10; // 0xa
|
||||
field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_NR5G_VOPS_ENABLED = 11; // 0xb
|
||||
field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_WLAN = 7; // 0x7
|
||||
field public static final int CAPABILITY_UPDATE_TRIGGER_UNKNOWN = 9; // 0x9
|
||||
field public static final int RESPONSE_FORBIDDEN = 3; // 0x3
|
||||
field public static final int RESPONSE_NOT_AUTHORIZED_FOR_PRESENCE = 2; // 0x2
|
||||
field public static final int RESPONSE_NOT_FOUND = 4; // 0x4
|
||||
field public static final int RESPONSE_NOT_REGISTERED = 1; // 0x1
|
||||
field public static final int RESPONSE_SIP_INTERVAL_TOO_SHORT = 7; // 0x7
|
||||
field public static final int RESPONSE_SIP_REQUEST_TIMEOUT = 5; // 0x5
|
||||
field public static final int RESPONSE_SIP_SERVICE_UNAVAILABLE = 8; // 0x8
|
||||
field public static final int RESPONSE_SUBSCRIBE_GENERIC_FAILURE = -1; // 0xffffffff
|
||||
field public static final int RESPONSE_SUBSCRIBE_TOO_LARGE = 6; // 0x6
|
||||
field public static final int RESPONSE_SUCCESS = 0; // 0x0
|
||||
}
|
||||
|
||||
public class RcsSipOptionsImplBase extends android.telephony.ims.stub.RcsCapabilityExchange {
|
||||
ctor public RcsSipOptionsImplBase();
|
||||
method public final void onCapabilityRequestResponse(int, @NonNull String, @Nullable android.telephony.ims.RcsContactUceCapability, int) throws android.telephony.ims.ImsException;
|
||||
method public final void onRemoteCapabilityRequest(@NonNull android.net.Uri, @NonNull android.telephony.ims.RcsContactUceCapability, int) throws android.telephony.ims.ImsException;
|
||||
method public void respondToCapabilityRequest(@NonNull String, @NonNull android.telephony.ims.RcsContactUceCapability, int);
|
||||
method public void respondToCapabilityRequestWithError(@NonNull android.net.Uri, int, @NonNull String, int);
|
||||
method public void sendCapabilityRequest(@NonNull android.net.Uri, @NonNull android.telephony.ims.RcsContactUceCapability, int);
|
||||
field public static final int RESPONSE_BAD_REQUEST = 5; // 0x5
|
||||
field public static final int RESPONSE_DOES_NOT_EXIST_ANYWHERE = 4; // 0x4
|
||||
field public static final int RESPONSE_GENERIC_FAILURE = -1; // 0xffffffff
|
||||
field public static final int RESPONSE_NOT_FOUND = 3; // 0x3
|
||||
field public static final int RESPONSE_REQUEST_TIMEOUT = 2; // 0x2
|
||||
field public static final int RESPONSE_SUCCESS = 0; // 0x0
|
||||
field public static final int RESPONSE_TEMPORARILY_UNAVAILABLE = 1; // 0x1
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
package android.telephony.mbms {
|
||||
|
||||
@@ -657,7 +657,6 @@ package android.content {
|
||||
field public static final String PERMISSION_SERVICE = "permission";
|
||||
field public static final String ROLLBACK_SERVICE = "rollback";
|
||||
field public static final String STATUS_BAR_SERVICE = "statusbar";
|
||||
field public static final String TELEPHONY_IMS_SERVICE = "telephony_ims";
|
||||
field public static final String TEST_NETWORK_SERVICE = "test_network";
|
||||
}
|
||||
|
||||
@@ -3400,15 +3399,12 @@ package android.telephony.ims {
|
||||
}
|
||||
|
||||
public class ImsManager {
|
||||
method @NonNull public android.telephony.ims.ImsMmTelManager getImsMmTelManager(int);
|
||||
method @NonNull public android.telephony.ims.ImsRcsManager getImsRcsManager(int);
|
||||
field public static final String ACTION_FORBIDDEN_NO_SERVICE_AUTHORIZATION = "com.android.internal.intent.action.ACTION_FORBIDDEN_NO_SERVICE_AUTHORIZATION";
|
||||
field public static final String ACTION_WFC_IMS_REGISTRATION_ERROR = "android.telephony.ims.action.WFC_IMS_REGISTRATION_ERROR";
|
||||
field public static final String EXTRA_WFC_REGISTRATION_FAILURE_MESSAGE = "android.telephony.ims.extra.WFC_REGISTRATION_FAILURE_MESSAGE";
|
||||
field public static final String EXTRA_WFC_REGISTRATION_FAILURE_TITLE = "android.telephony.ims.extra.WFC_REGISTRATION_FAILURE_TITLE";
|
||||
}
|
||||
|
||||
public class ImsMmTelManager implements android.telephony.ims.RegistrationManager {
|
||||
method @Deprecated @NonNull @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public static android.telephony.ims.ImsMmTelManager createForSubscriptionId(int);
|
||||
method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public void getFeatureState(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>) throws android.telephony.ims.ImsException;
|
||||
method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public void getRegistrationState(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
|
||||
method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public int getVoWiFiRoamingModeSetting();
|
||||
@@ -3768,6 +3764,87 @@ package android.telephony.ims {
|
||||
method public void onProvisioningStringChanged(int, @NonNull String);
|
||||
}
|
||||
|
||||
public final class RcsContactUceCapability implements android.os.Parcelable {
|
||||
method public int describeContents();
|
||||
method @NonNull public java.util.List<java.lang.String> getCapableExtensionTags();
|
||||
method @NonNull public android.net.Uri getContactUri();
|
||||
method @Nullable public android.net.Uri getServiceUri(long);
|
||||
method public boolean isCapable(long);
|
||||
method public boolean isCapable(@NonNull String);
|
||||
method public void writeToParcel(@NonNull android.os.Parcel, int);
|
||||
field public static final int CAPABILITY_CALL_COMPOSER = 4194304; // 0x400000
|
||||
field public static final int CAPABILITY_CHAT_BOT = 67108864; // 0x4000000
|
||||
field public static final int CAPABILITY_CHAT_BOT_ROLE = 134217728; // 0x8000000
|
||||
field public static final int CAPABILITY_CHAT_SESSION = 2; // 0x2
|
||||
field public static final int CAPABILITY_CHAT_SESSION_STORE_FORWARD = 4; // 0x4
|
||||
field public static final int CAPABILITY_CHAT_STANDALONE = 1; // 0x1
|
||||
field public static final int CAPABILITY_DISCOVERY_VIA_PRESENCE = 4096; // 0x1000
|
||||
field public static final int CAPABILITY_FILE_TRANSFER = 8; // 0x8
|
||||
field public static final int CAPABILITY_FILE_TRANSFER_HTTP = 64; // 0x40
|
||||
field public static final int CAPABILITY_FILE_TRANSFER_SMS = 128; // 0x80
|
||||
field public static final int CAPABILITY_FILE_TRANSFER_STORE_FORWARD = 32; // 0x20
|
||||
field public static final int CAPABILITY_FILE_TRANSFER_THUMBNAIL = 16; // 0x10
|
||||
field public static final int CAPABILITY_GEOLOCATION_PULL = 131072; // 0x20000
|
||||
field public static final int CAPABILITY_GEOLOCATION_PULL_FILE_TRANSFER = 262144; // 0x40000
|
||||
field public static final int CAPABILITY_GEOLOCATION_PUSH = 32768; // 0x8000
|
||||
field public static final int CAPABILITY_GEOLOCATION_PUSH_SMS = 65536; // 0x10000
|
||||
field public static final int CAPABILITY_IMAGE_SHARE = 256; // 0x100
|
||||
field public static final int CAPABILITY_IP_VIDEO_CALL = 16384; // 0x4000
|
||||
field public static final int CAPABILITY_IP_VOICE_CALL = 8192; // 0x2000
|
||||
field public static final int CAPABILITY_MMTEL_CALL_COMPOSER = 1073741824; // 0x40000000
|
||||
field public static final int CAPABILITY_PLUG_IN = 268435456; // 0x10000000
|
||||
field public static final int CAPABILITY_POST_CALL = 8388608; // 0x800000
|
||||
field public static final int CAPABILITY_RCS_VIDEO_CALL = 1048576; // 0x100000
|
||||
field public static final int CAPABILITY_RCS_VIDEO_ONLY_CALL = 2097152; // 0x200000
|
||||
field public static final int CAPABILITY_RCS_VOICE_CALL = 524288; // 0x80000
|
||||
field public static final int CAPABILITY_SHARED_MAP = 16777216; // 0x1000000
|
||||
field public static final int CAPABILITY_SHARED_SKETCH = 33554432; // 0x2000000
|
||||
field public static final int CAPABILITY_SOCIAL_PRESENCE = 2048; // 0x800
|
||||
field public static final int CAPABILITY_STANDALONE_CHAT_BOT = 536870912; // 0x20000000
|
||||
field public static final int CAPABILITY_VIDEO_SHARE = 1024; // 0x400
|
||||
field public static final int CAPABILITY_VIDEO_SHARE_DURING_CS_CALL = 512; // 0x200
|
||||
field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsContactUceCapability> CREATOR;
|
||||
}
|
||||
|
||||
public static class RcsContactUceCapability.Builder {
|
||||
ctor public RcsContactUceCapability.Builder(@NonNull android.net.Uri);
|
||||
method @NonNull public android.telephony.ims.RcsContactUceCapability.Builder add(long, @NonNull android.net.Uri);
|
||||
method @NonNull public android.telephony.ims.RcsContactUceCapability.Builder add(long);
|
||||
method @NonNull public android.telephony.ims.RcsContactUceCapability.Builder add(@NonNull String);
|
||||
method @NonNull public android.telephony.ims.RcsContactUceCapability build();
|
||||
}
|
||||
|
||||
public class RcsUceAdapter {
|
||||
method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public int getUcePublishState() throws android.telephony.ims.ImsException;
|
||||
method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public boolean isUceSettingEnabled() throws android.telephony.ims.ImsException;
|
||||
method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public void requestCapabilities(@NonNull java.util.concurrent.Executor, @NonNull java.util.List<android.net.Uri>, @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;
|
||||
field public static final int ERROR_ALREADY_IN_QUEUE = 13; // 0xd
|
||||
field public static final int ERROR_FORBIDDEN = 6; // 0x6
|
||||
field public static final int ERROR_GENERIC_FAILURE = 1; // 0x1
|
||||
field public static final int ERROR_INSUFFICIENT_MEMORY = 11; // 0xb
|
||||
field public static final int ERROR_LOST_NETWORK = 12; // 0xc
|
||||
field public static final int ERROR_NOT_AUTHORIZED = 5; // 0x5
|
||||
field public static final int ERROR_NOT_AVAILABLE = 3; // 0x3
|
||||
field public static final int ERROR_NOT_ENABLED = 2; // 0x2
|
||||
field public static final int ERROR_NOT_FOUND = 7; // 0x7
|
||||
field public static final int ERROR_NOT_REGISTERED = 4; // 0x4
|
||||
field public static final int ERROR_REQUEST_TIMEOUT = 10; // 0xa
|
||||
field public static final int ERROR_REQUEST_TOO_LARGE = 8; // 0x8
|
||||
field public static final int PUBLISH_STATE_200_OK = 1; // 0x1
|
||||
field public static final int PUBLISH_STATE_NOT_PUBLISHED = 2; // 0x2
|
||||
field public static final int PUBLISH_STATE_OTHER_ERROR = 6; // 0x6
|
||||
field public static final int PUBLISH_STATE_RCS_PROVISION_ERROR = 4; // 0x4
|
||||
field public static final int PUBLISH_STATE_REQUEST_TIMEOUT = 5; // 0x5
|
||||
field public static final int PUBLISH_STATE_VOLTE_PROVISION_ERROR = 3; // 0x3
|
||||
}
|
||||
|
||||
public static class RcsUceAdapter.CapabilitiesCallback {
|
||||
ctor public RcsUceAdapter.CapabilitiesCallback();
|
||||
method public void onCapabilitiesReceived(@NonNull java.util.List<android.telephony.ims.RcsContactUceCapability>);
|
||||
method public void onError(int);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
package android.telephony.ims.feature {
|
||||
@@ -3857,6 +3934,8 @@ package android.telephony.ims.feature {
|
||||
public class RcsFeature extends android.telephony.ims.feature.ImsFeature {
|
||||
ctor public RcsFeature();
|
||||
method public void changeEnabledCapabilities(@NonNull android.telephony.ims.feature.CapabilityChangeRequest, @NonNull android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
|
||||
method @NonNull public android.telephony.ims.stub.RcsSipOptionsImplBase getOptionsExchangeImpl();
|
||||
method @NonNull public android.telephony.ims.stub.RcsPresenceExchangeImplBase getPresenceExchangeImpl();
|
||||
method public final void notifyCapabilitiesStatusChanged(@NonNull android.telephony.ims.feature.RcsFeature.RcsImsCapabilities);
|
||||
method public void onFeatureReady();
|
||||
method public void onFeatureRemoved();
|
||||
@@ -4049,6 +4128,71 @@ package android.telephony.ims.stub {
|
||||
field public static final int INVALID_RESULT = -1; // 0xffffffff
|
||||
}
|
||||
|
||||
public class RcsCapabilityExchange {
|
||||
ctor public RcsCapabilityExchange();
|
||||
method public final void onCommandUpdate(int, int) throws android.telephony.ims.ImsException;
|
||||
field public static final int COMMAND_CODE_FETCH_ERROR = 4; // 0x4
|
||||
field public static final int COMMAND_CODE_GENERIC_FAILURE = 2; // 0x2
|
||||
field public static final int COMMAND_CODE_INSUFFICIENT_MEMORY = 6; // 0x6
|
||||
field public static final int COMMAND_CODE_INVALID_PARAM = 3; // 0x3
|
||||
field public static final int COMMAND_CODE_LOST_NETWORK_CONNECTION = 7; // 0x7
|
||||
field public static final int COMMAND_CODE_NOT_FOUND = 9; // 0x9
|
||||
field public static final int COMMAND_CODE_NOT_SUPPORTED = 8; // 0x8
|
||||
field public static final int COMMAND_CODE_NO_CHANGE_IN_CAP = 11; // 0xb
|
||||
field public static final int COMMAND_CODE_REQUEST_TIMEOUT = 5; // 0x5
|
||||
field public static final int COMMAND_CODE_SERVICE_UNAVAILABLE = 10; // 0xa
|
||||
field public static final int COMMAND_CODE_SERVICE_UNKNOWN = 0; // 0x0
|
||||
field public static final int COMMAND_CODE_SUCCESS = 1; // 0x1
|
||||
}
|
||||
|
||||
public class RcsPresenceExchangeImplBase extends android.telephony.ims.stub.RcsCapabilityExchange {
|
||||
ctor public RcsPresenceExchangeImplBase();
|
||||
method public final void onCapabilityRequestResponse(@NonNull java.util.List<android.telephony.ims.RcsContactUceCapability>, int) throws android.telephony.ims.ImsException;
|
||||
method public final void onNetworkResponse(int, @NonNull String, int) throws android.telephony.ims.ImsException;
|
||||
method public final void onNotifyUpdateCapabilites(int) throws android.telephony.ims.ImsException;
|
||||
method public final void onUnpublish() throws android.telephony.ims.ImsException;
|
||||
method public void requestCapabilities(@NonNull java.util.List<android.net.Uri>, int);
|
||||
method public void updateCapabilities(@NonNull android.telephony.ims.RcsContactUceCapability, int);
|
||||
field public static final int CAPABILITY_UPDATE_TRIGGER_ETAG_EXPIRED = 0; // 0x0
|
||||
field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_2G = 6; // 0x6
|
||||
field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_3G = 5; // 0x5
|
||||
field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_EHRPD = 3; // 0x3
|
||||
field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_HSPAPLUS = 4; // 0x4
|
||||
field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_IWLAN = 8; // 0x8
|
||||
field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_LTE_VOPS_DISABLED = 1; // 0x1
|
||||
field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_LTE_VOPS_ENABLED = 2; // 0x2
|
||||
field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_NR5G_VOPS_DISABLED = 10; // 0xa
|
||||
field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_NR5G_VOPS_ENABLED = 11; // 0xb
|
||||
field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_WLAN = 7; // 0x7
|
||||
field public static final int CAPABILITY_UPDATE_TRIGGER_UNKNOWN = 9; // 0x9
|
||||
field public static final int RESPONSE_FORBIDDEN = 3; // 0x3
|
||||
field public static final int RESPONSE_NOT_AUTHORIZED_FOR_PRESENCE = 2; // 0x2
|
||||
field public static final int RESPONSE_NOT_FOUND = 4; // 0x4
|
||||
field public static final int RESPONSE_NOT_REGISTERED = 1; // 0x1
|
||||
field public static final int RESPONSE_SIP_INTERVAL_TOO_SHORT = 7; // 0x7
|
||||
field public static final int RESPONSE_SIP_REQUEST_TIMEOUT = 5; // 0x5
|
||||
field public static final int RESPONSE_SIP_SERVICE_UNAVAILABLE = 8; // 0x8
|
||||
field public static final int RESPONSE_SUBSCRIBE_GENERIC_FAILURE = -1; // 0xffffffff
|
||||
field public static final int RESPONSE_SUBSCRIBE_TOO_LARGE = 6; // 0x6
|
||||
field public static final int RESPONSE_SUCCESS = 0; // 0x0
|
||||
}
|
||||
|
||||
public class RcsSipOptionsImplBase extends android.telephony.ims.stub.RcsCapabilityExchange {
|
||||
ctor public RcsSipOptionsImplBase();
|
||||
method public final void onCapabilityRequestResponse(int, @NonNull String, @Nullable android.telephony.ims.RcsContactUceCapability, int) throws android.telephony.ims.ImsException;
|
||||
method public final void onRemoteCapabilityRequest(@NonNull android.net.Uri, @NonNull android.telephony.ims.RcsContactUceCapability, int) throws android.telephony.ims.ImsException;
|
||||
method public void respondToCapabilityRequest(@NonNull String, @NonNull android.telephony.ims.RcsContactUceCapability, int);
|
||||
method public void respondToCapabilityRequestWithError(@NonNull android.net.Uri, int, @NonNull String, int);
|
||||
method public void sendCapabilityRequest(@NonNull android.net.Uri, @NonNull android.telephony.ims.RcsContactUceCapability, int);
|
||||
field public static final int RESPONSE_BAD_REQUEST = 5; // 0x5
|
||||
field public static final int RESPONSE_DOES_NOT_EXIST_ANYWHERE = 4; // 0x4
|
||||
field public static final int RESPONSE_GENERIC_FAILURE = -1; // 0xffffffff
|
||||
field public static final int RESPONSE_NOT_FOUND = 3; // 0x3
|
||||
field public static final int RESPONSE_REQUEST_TIMEOUT = 2; // 0x2
|
||||
field public static final int RESPONSE_SUCCESS = 0; // 0x0
|
||||
field public static final int RESPONSE_TEMPORARILY_UNAVAILABLE = 1; // 0x1
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
package android.telephony.mbms {
|
||||
|
||||
@@ -4854,10 +4854,7 @@ public abstract class Context {
|
||||
/**
|
||||
* Use with {@link #getSystemService(String)} to retrieve an
|
||||
* {@link android.telephony.ims.ImsManager}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@TestApi
|
||||
public static final String TELEPHONY_IMS_SERVICE = "telephony_ims";
|
||||
|
||||
/**
|
||||
|
||||
@@ -5251,6 +5251,12 @@ public final class Telephony {
|
||||
/** TelephonyProvider column name for enable Wifi calling in roaming */
|
||||
public static final String WFC_IMS_ROAMING_ENABLED = "wfc_ims_roaming_enabled";
|
||||
|
||||
/**
|
||||
* Determines if the user has enabled IMS RCS User Capability Exchange (UCE) for this
|
||||
* subscription.
|
||||
*/
|
||||
public static final String IMS_RCS_UCE_ENABLED = "ims_rcs_uce_enabled";
|
||||
|
||||
/**
|
||||
* TelephonyProvider column name for whether a subscription is opportunistic, that is,
|
||||
* whether the network it connects to is limited in functionality or coverage.
|
||||
|
||||
@@ -27,11 +27,7 @@ import android.telephony.SubscriptionManager;
|
||||
|
||||
/**
|
||||
* Provides access to information about Telephony IMS services on the device.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@TestApi
|
||||
@SystemService(Context.TELEPHONY_IMS_SERVICE)
|
||||
public class ImsManager {
|
||||
|
||||
@@ -45,7 +41,10 @@ public class ImsManager {
|
||||
* <p class="note">
|
||||
* Carrier applications may listen to this broadcast to be notified of possible IMS provisioning
|
||||
* issues.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@TestApi
|
||||
// Moved from TelephonyIntents, need to keep backwards compatibility with OEM apps that have
|
||||
// this value hard-coded in BroadcastReceiver.
|
||||
@SuppressLint("ActionValue")
|
||||
@@ -104,7 +103,10 @@ public class ImsManager {
|
||||
* @param subscriptionId The ID of the subscription that this ImsRcsManager will use.
|
||||
* @throws IllegalArgumentException if the subscription is invalid.
|
||||
* @return a ImsRcsManager instance with the specific subscription ID.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@TestApi
|
||||
@NonNull
|
||||
public ImsRcsManager getImsRcsManager(int subscriptionId) {
|
||||
if (!SubscriptionManager.isValidSubscriptionId(subscriptionId)) {
|
||||
|
||||
@@ -676,6 +676,13 @@ public class SubscriptionManager {
|
||||
*/
|
||||
public static final String WFC_IMS_ROAMING_ENABLED = SimInfo.WFC_IMS_ROAMING_ENABLED;
|
||||
|
||||
/**
|
||||
* Determines if the user has enabled IMS RCS User Capability Exchange (UCE) for this
|
||||
* subscription.
|
||||
* @hide
|
||||
*/
|
||||
public static final String IMS_RCS_UCE_ENABLED = SimInfo.IMS_RCS_UCE_ENABLED;
|
||||
|
||||
/**
|
||||
* TelephonyProvider column name for whether a subscription is opportunistic, that is,
|
||||
* whether the network it connects to is limited in functionality or coverage.
|
||||
|
||||
@@ -61,7 +61,6 @@ public final class ImsException extends Exception {
|
||||
* This is a configuration error and there should be no retry. The subscription used for this
|
||||
* operation is either invalid or has become inactive. The active subscriptions can be queried
|
||||
* with {@link SubscriptionManager#getActiveSubscriptionInfoList()}.
|
||||
* @hide
|
||||
*/
|
||||
public static final int CODE_ERROR_INVALID_SUBSCRIPTION = 3;
|
||||
|
||||
|
||||
@@ -57,7 +57,8 @@ import java.util.function.Consumer;
|
||||
* registration and MmTel capability status callbacks, as well as query/modify user settings for the
|
||||
* associated subscription.
|
||||
*
|
||||
* @see #createForSubscriptionId(int)
|
||||
* Use {@link android.telephony.ims.ImsManager#getImsMmTelManager(int)} to get an instance of this
|
||||
* manager.
|
||||
*/
|
||||
public class ImsMmTelManager implements RegistrationManager {
|
||||
|
||||
@@ -225,8 +226,13 @@ public class ImsMmTelManager implements RegistrationManager {
|
||||
* (see {@link android.telephony.TelephonyManager#hasCarrierPrivileges}).
|
||||
*
|
||||
* @throws IllegalArgumentException if the subscription is invalid.
|
||||
*
|
||||
* @deprecated Use {@link android.telephony.ims.ImsManager#getImsMmTelManager(int)} to get an
|
||||
* instance of this class.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@TestApi
|
||||
@Deprecated
|
||||
@SuppressAutoDoc // No support for device / profile owner or carrier privileges (b/72967236).
|
||||
@RequiresPermission(anyOf = {
|
||||
android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE,
|
||||
@@ -242,7 +248,7 @@ public class ImsMmTelManager implements RegistrationManager {
|
||||
}
|
||||
|
||||
/**
|
||||
* Only visible for testing, use {@link #createForSubscriptionId(int)} instead.
|
||||
* Only visible for testing, use {@link ImsManager#getImsMmTelManager(int)} instead.
|
||||
* @hide
|
||||
*/
|
||||
@VisibleForTesting
|
||||
@@ -252,7 +258,7 @@ public class ImsMmTelManager implements RegistrationManager {
|
||||
|
||||
/**
|
||||
* Registers a {@link RegistrationCallback} with the system, which will provide registration
|
||||
* updates for the subscription specified in {@link #createForSubscriptionId(int)}. Use
|
||||
* updates for the subscription specified in {@link ImsManager#getImsMmTelManager(int)}. Use
|
||||
* {@link SubscriptionManager.OnSubscriptionsChangedListener} to listen to Subscription changed
|
||||
* events and call {@link #unregisterImsRegistrationCallback(RegistrationCallback)} to clean up.
|
||||
*
|
||||
@@ -450,7 +456,7 @@ public class ImsMmTelManager implements RegistrationManager {
|
||||
/**
|
||||
* Registers a {@link CapabilityCallback} with the system, which will provide MmTel service
|
||||
* availability updates for the subscription specified in
|
||||
* {@link #createForSubscriptionId(int)}. The method {@see #isAvailable(int, int)}
|
||||
* {@link ImsManager#getImsMmTelManager(int)}. The method {@see #isAvailable(int, int)}
|
||||
* can also be used to query this information at any time.
|
||||
*
|
||||
* Use {@link SubscriptionManager.OnSubscriptionsChangedListener} to listen to
|
||||
|
||||
@@ -60,9 +60,10 @@ import com.android.internal.annotations.VisibleForTesting;
|
||||
* The telephony framework will then bind to the ImsService you have defined in your manifest
|
||||
* if you are either:
|
||||
* 1) Defined as the default ImsService for the device in the device overlay using
|
||||
* "config_ims_package".
|
||||
* "config_ims_mmtel_package" or "config_ims_rcs_package".
|
||||
* 2) Defined as a Carrier Provided ImsService in the Carrier Configuration using
|
||||
* {@link CarrierConfigManager#KEY_CONFIG_IMS_PACKAGE_OVERRIDE_STRING}.
|
||||
* {@link CarrierConfigManager#KEY_CONFIG_IMS_MMTEL_PACKAGE_OVERRIDE_STRING} or
|
||||
* {@link CarrierConfigManager#KEY_CONFIG_IMS_RCS_PACKAGE_OVERRIDE_STRING}.
|
||||
*
|
||||
* There are two ways to define to the platform which {@link ImsFeature}s this {@link ImsService}
|
||||
* supports, dynamic or static definitions.
|
||||
|
||||
@@ -16,10 +16,11 @@
|
||||
|
||||
package android.telephony.ims;
|
||||
|
||||
import android.annotation.IntDef;
|
||||
import android.annotation.LongDef;
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.SystemApi;
|
||||
import android.annotation.TestApi;
|
||||
import android.net.Uri;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
@@ -37,6 +38,7 @@ import java.util.Map;
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@TestApi
|
||||
public final class RcsContactUceCapability implements Parcelable {
|
||||
|
||||
/** Supports 1-to-1 chat */
|
||||
@@ -99,11 +101,16 @@ public final class RcsContactUceCapability implements Parcelable {
|
||||
public static final int CAPABILITY_CHAT_BOT_ROLE = (1 << 27);
|
||||
/** Supports the unidirectional plug-ins framework. */
|
||||
public static final int CAPABILITY_PLUG_IN = (1 << 28);
|
||||
/** Supports standalone Chatbot communication. */
|
||||
public static final int CAPABILITY_STANDALONE_CHAT_BOT = (1 << 29);
|
||||
/** Supports MMTEL based call composer. */
|
||||
public static final int CAPABILITY_MMTEL_CALL_COMPOSER = (1 << 30);
|
||||
|
||||
|
||||
|
||||
/** @hide*/
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
@IntDef(prefix = "CAPABILITY_", flag = true, value = {
|
||||
@LongDef(prefix = "CAPABILITY_", flag = true, value = {
|
||||
CAPABILITY_CHAT_STANDALONE,
|
||||
CAPABILITY_CHAT_SESSION,
|
||||
CAPABILITY_CHAT_SESSION_STORE_FORWARD,
|
||||
@@ -132,7 +139,9 @@ public final class RcsContactUceCapability implements Parcelable {
|
||||
CAPABILITY_SHARED_SKETCH,
|
||||
CAPABILITY_CHAT_BOT,
|
||||
CAPABILITY_CHAT_BOT_ROLE,
|
||||
CAPABILITY_PLUG_IN
|
||||
CAPABILITY_PLUG_IN,
|
||||
CAPABILITY_STANDALONE_CHAT_BOT,
|
||||
CAPABILITY_MMTEL_CALL_COMPOSER
|
||||
})
|
||||
public @interface CapabilityFlag {}
|
||||
|
||||
@@ -159,11 +168,11 @@ public final class RcsContactUceCapability implements Parcelable {
|
||||
* @param type The capability to map to a service URI that is different from the contact's
|
||||
* URI.
|
||||
*/
|
||||
public @NonNull Builder add(@CapabilityFlag int type, @NonNull Uri serviceUri) {
|
||||
public @NonNull Builder add(@CapabilityFlag long type, @NonNull Uri serviceUri) {
|
||||
mCapabilities.mCapabilities |= type;
|
||||
// Put each of these capabilities into the map separately.
|
||||
for (int shift = 0; shift < Integer.SIZE; shift++) {
|
||||
int cap = type & (1 << shift);
|
||||
for (long shift = 0; shift < Integer.SIZE; shift++) {
|
||||
long cap = type & (1 << shift);
|
||||
if (cap != 0) {
|
||||
mCapabilities.mServiceMap.put(cap, serviceUri);
|
||||
// remove that capability from the field.
|
||||
@@ -181,7 +190,7 @@ public final class RcsContactUceCapability implements Parcelable {
|
||||
* Add a UCE capability flag that this contact supports.
|
||||
* @param type the capability that the contact supports.
|
||||
*/
|
||||
public @NonNull Builder add(@CapabilityFlag int type) {
|
||||
public @NonNull Builder add(@CapabilityFlag long type) {
|
||||
mCapabilities.mCapabilities |= type;
|
||||
return this;
|
||||
}
|
||||
@@ -207,7 +216,7 @@ public final class RcsContactUceCapability implements Parcelable {
|
||||
private final Uri mContactUri;
|
||||
private long mCapabilities;
|
||||
private List<String> mExtensionTags = new ArrayList<>();
|
||||
private Map<Integer, Uri> mServiceMap = new HashMap<>();
|
||||
private Map<Long, Uri> mServiceMap = new HashMap<>();
|
||||
|
||||
/**
|
||||
* Use {@link Builder} to build an instance of this interface.
|
||||
@@ -225,7 +234,7 @@ public final class RcsContactUceCapability implements Parcelable {
|
||||
// read mServiceMap as key,value pair
|
||||
int mapSize = in.readInt();
|
||||
for (int i = 0; i < mapSize; i++) {
|
||||
mServiceMap.put(in.readInt(), in.readParcelable(Uri.class.getClassLoader()));
|
||||
mServiceMap.put(in.readLong(), in.readParcelable(Uri.class.getClassLoader()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -250,8 +259,8 @@ public final class RcsContactUceCapability implements Parcelable {
|
||||
// write mServiceMap as key,value pairs
|
||||
int mapSize = mServiceMap.keySet().size();
|
||||
out.writeInt(mapSize);
|
||||
for (int key : mServiceMap.keySet()) {
|
||||
out.writeInt(key);
|
||||
for (long key : mServiceMap.keySet()) {
|
||||
out.writeLong(key);
|
||||
out.writeParcelable(mServiceMap.get(key), 0);
|
||||
}
|
||||
}
|
||||
@@ -266,7 +275,7 @@ public final class RcsContactUceCapability implements Parcelable {
|
||||
* @param type The capability flag to query.
|
||||
* @return true if the capability flag specified is set, false otherwise.
|
||||
*/
|
||||
public boolean isCapable(@CapabilityFlag int type) {
|
||||
public boolean isCapable(@CapabilityFlag long type) {
|
||||
return (mCapabilities & type) > 0;
|
||||
}
|
||||
|
||||
@@ -290,13 +299,13 @@ public final class RcsContactUceCapability implements Parcelable {
|
||||
* <p>
|
||||
* This will typically be the contact {@link Uri} available via {@link #getContactUri()} unless
|
||||
* a different service {@link Uri} was associated with this capability using
|
||||
* {@link Builder#add(int, Uri)}.
|
||||
* {@link Builder#add(long, Uri)}.
|
||||
*
|
||||
* @return a String containing the {@link Uri} associated with the service tag or
|
||||
* {@code null} if this capability is not set as capable.
|
||||
* @see #isCapable(int)
|
||||
* @see #isCapable(long)
|
||||
*/
|
||||
public @Nullable Uri getServiceUri(@CapabilityFlag int type) {
|
||||
public @Nullable Uri getServiceUri(@CapabilityFlag long type) {
|
||||
Uri result = mServiceMap.getOrDefault(type, null);
|
||||
// If the capability is capable, but does not have a service URI associated, use the default
|
||||
// contact URI.
|
||||
|
||||
@@ -21,6 +21,8 @@ import android.annotation.CallbackExecutor;
|
||||
import android.annotation.IntDef;
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.RequiresPermission;
|
||||
import android.annotation.SystemApi;
|
||||
import android.annotation.TestApi;
|
||||
import android.content.Context;
|
||||
import android.net.Uri;
|
||||
import android.os.Binder;
|
||||
@@ -29,6 +31,7 @@ import android.os.RemoteException;
|
||||
import android.os.ServiceManager;
|
||||
import android.telephony.ims.aidl.IImsRcsController;
|
||||
import android.telephony.ims.aidl.IRcsUceControllerCallback;
|
||||
import android.telephony.ims.feature.RcsFeature;
|
||||
import android.util.Log;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
@@ -42,6 +45,8 @@ import java.util.concurrent.Executor;
|
||||
* @see ImsRcsManager#getUceAdapter() for information on creating an instance of this class.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@TestApi
|
||||
public class RcsUceAdapter {
|
||||
private static final String TAG = "RcsUceAdapter";
|
||||
|
||||
@@ -197,6 +202,7 @@ public class RcsUceAdapter {
|
||||
/**
|
||||
* Not to be instantiated directly, use
|
||||
* {@link ImsRcsManager#getUceAdapter()} to instantiate this manager class.
|
||||
* @hide
|
||||
*/
|
||||
RcsUceAdapter(int subId) {
|
||||
mSubId = subId;
|
||||
@@ -222,7 +228,7 @@ public class RcsUceAdapter {
|
||||
* becomes inactive. See {@link ImsException#getCode()} for more information on the error codes.
|
||||
*/
|
||||
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
|
||||
public void requestCapabilities(@CallbackExecutor Executor executor,
|
||||
public void requestCapabilities(@NonNull @CallbackExecutor Executor executor,
|
||||
@NonNull List<Uri> contactNumbers,
|
||||
@NonNull CapabilitiesCallback c) throws ImsException {
|
||||
if (c == null) {
|
||||
@@ -299,7 +305,7 @@ public class RcsUceAdapter {
|
||||
* for the associated subscription.
|
||||
*
|
||||
* @return true if the user’s setting for UCE is enabled, false otherwise. If false,
|
||||
* {@link ImsRcsManager#isCapable(int)} will return false for
|
||||
* {@link ImsRcsManager#isCapable(int, int)} will return false for
|
||||
* {@link RcsFeature.RcsImsCapabilities#CAPABILITY_TYPE_OPTIONS_UCE} and
|
||||
* {@link RcsFeature.RcsImsCapabilities#CAPABILITY_TYPE_PRESENCE_UCE}
|
||||
* @see #setUceSettingEnabled(boolean)
|
||||
|
||||
@@ -513,7 +513,7 @@ public class MmTelFeature extends ImsFeature {
|
||||
* @param callProfile The {@link ImsCallProfile} IMS call profile with details.
|
||||
* This can be null if no call information is available for the rejected call.
|
||||
* @param reason The {@link ImsReasonInfo} call rejection reason.
|
||||
* * @hide
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi @TestApi
|
||||
public final void notifyRejectedCall(@NonNull ImsCallProfile callProfile,
|
||||
|
||||
@@ -349,9 +349,8 @@ public class RcsFeature extends ImsFeature {
|
||||
*
|
||||
* @return An instance of {@link RcsSipOptionsImplBase} that implements SIP options exchange if
|
||||
* it is supported by the device.
|
||||
* @hide
|
||||
*/
|
||||
public RcsSipOptionsImplBase getOptionsExchangeImpl() {
|
||||
public @NonNull RcsSipOptionsImplBase getOptionsExchangeImpl() {
|
||||
// Base Implementation, override to implement functionality
|
||||
return new RcsSipOptionsImplBase();
|
||||
}
|
||||
@@ -365,9 +364,8 @@ public class RcsFeature extends ImsFeature {
|
||||
*
|
||||
* @return An instance of {@link RcsPresenceExchangeImplBase} that implements presence
|
||||
* exchange if it is supported by the device.
|
||||
* @hide
|
||||
*/
|
||||
public RcsPresenceExchangeImplBase getPresenceExchangeImpl() {
|
||||
public @NonNull RcsPresenceExchangeImplBase getPresenceExchangeImpl() {
|
||||
// Base Implementation, override to implement functionality.
|
||||
return new RcsPresenceExchangeImplBase();
|
||||
}
|
||||
|
||||
@@ -17,6 +17,8 @@
|
||||
package android.telephony.ims.stub;
|
||||
|
||||
import android.annotation.IntDef;
|
||||
import android.annotation.SystemApi;
|
||||
import android.annotation.TestApi;
|
||||
import android.os.RemoteException;
|
||||
import android.telephony.ims.ImsException;
|
||||
import android.telephony.ims.aidl.IRcsFeatureListener;
|
||||
@@ -32,6 +34,8 @@ import java.lang.annotation.RetentionPolicy;
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@TestApi
|
||||
public class RcsCapabilityExchange {
|
||||
|
||||
/** Service is unknown. */
|
||||
|
||||
@@ -18,6 +18,8 @@ package android.telephony.ims.stub;
|
||||
|
||||
import android.annotation.IntDef;
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.SystemApi;
|
||||
import android.annotation.TestApi;
|
||||
import android.net.Uri;
|
||||
import android.os.RemoteException;
|
||||
import android.telephony.ims.ImsException;
|
||||
@@ -37,6 +39,8 @@ import java.util.List;
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@TestApi
|
||||
public class RcsPresenceExchangeImplBase extends RcsCapabilityExchange {
|
||||
|
||||
private static final String LOG_TAG = "RcsPresenceExchangeIB";
|
||||
|
||||
@@ -19,6 +19,8 @@ package android.telephony.ims.stub;
|
||||
import android.annotation.IntDef;
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.SystemApi;
|
||||
import android.annotation.TestApi;
|
||||
import android.net.Uri;
|
||||
import android.os.RemoteException;
|
||||
import android.telephony.ims.ImsException;
|
||||
@@ -35,6 +37,8 @@ import java.lang.annotation.RetentionPolicy;
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@TestApi
|
||||
public class RcsSipOptionsImplBase extends RcsCapabilityExchange {
|
||||
|
||||
private static final String LOG_TAG = "RcsSipOptionsImplBase";
|
||||
@@ -69,6 +73,11 @@ public class RcsSipOptionsImplBase extends RcsCapabilityExchange {
|
||||
*/
|
||||
public static final int RESPONSE_DOES_NOT_EXIST_ANYWHERE = 4;
|
||||
|
||||
/**
|
||||
* Indicates that the remote user responded with a 400 BAD REQUEST response.
|
||||
*/
|
||||
public static final int RESPONSE_BAD_REQUEST = 5;
|
||||
|
||||
/** @hide*/
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
@IntDef(prefix = "RESPONSE_", value = {
|
||||
@@ -77,7 +86,8 @@ public class RcsSipOptionsImplBase extends RcsCapabilityExchange {
|
||||
RESPONSE_TEMPORARILY_UNAVAILABLE,
|
||||
RESPONSE_REQUEST_TIMEOUT,
|
||||
RESPONSE_NOT_FOUND,
|
||||
RESPONSE_DOES_NOT_EXIST_ANYWHERE
|
||||
RESPONSE_DOES_NOT_EXIST_ANYWHERE,
|
||||
RESPONSE_BAD_REQUEST
|
||||
})
|
||||
public @interface SipResponseCode {}
|
||||
|
||||
@@ -188,7 +198,6 @@ public class RcsSipOptionsImplBase extends RcsCapabilityExchange {
|
||||
* @param reason A non-null String containing the reason associated with the SIP code.
|
||||
* @param operationToken The token provided by the framework when
|
||||
* {@link #onRemoteCapabilityRequest(Uri, RcsContactUceCapability, int)} was called.
|
||||
*
|
||||
*/
|
||||
public void respondToCapabilityRequestWithError(@NonNull Uri contactUri,
|
||||
@SipResponseCode int code, @NonNull String reason, int operationToken) {
|
||||
|
||||
Reference in New Issue
Block a user