Loading src/java/com/android/ims/RcsFeatureConnection.java +10 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import android.telephony.ims.aidl.IImsRcsFeature; import android.telephony.ims.aidl.IImsRegistration; import android.telephony.ims.aidl.IImsRegistrationCallback; import android.telephony.ims.aidl.IPublishResponseCallback; import android.telephony.ims.aidl.IOptionsResponseCallback; import android.telephony.ims.aidl.ISipTransport; import android.telephony.ims.aidl.ISubscribeResponseCallback; import android.telephony.ims.feature.CapabilityChangeRequest; Loading Loading @@ -242,6 +243,15 @@ public class RcsFeatureConnection extends FeatureConnection { } } public void sendOptionsCapabilityRequest(Uri contactUri, List<String> myCapabilities, IOptionsResponseCallback callback) throws RemoteException { synchronized (mLock) { checkServiceIsReady(); getServiceInterface(mBinder).sendOptionsCapabilityRequest(contactUri, myCapabilities, callback); } } @Override @VisibleForTesting public Integer retrieveFeatureState() { Loading src/java/com/android/ims/RcsFeatureManager.java +6 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ import android.telephony.ims.aidl.IImsRcsFeature; import android.telephony.ims.aidl.IImsRegistration; import android.telephony.ims.aidl.IImsRegistrationCallback; import android.telephony.ims.aidl.IOptionsRequestCallback; import android.telephony.ims.aidl.IOptionsResponseCallback; import android.telephony.ims.aidl.IPublishResponseCallback; import android.telephony.ims.aidl.ISipTransport; import android.telephony.ims.aidl.ISubscribeResponseCallback; Loading Loading @@ -426,6 +427,11 @@ public class RcsFeatureManager implements FeatureUpdates { mRcsFeatureConnection.requestCapabilities(uris, c); } public void sendOptionsCapabilityRequest(Uri contactUri, List<String> myCapabilities, IOptionsResponseCallback callback) throws RemoteException { mRcsFeatureConnection.sendOptionsCapabilityRequest(contactUri, myCapabilities, callback); } /** * Disable all of the UCE capabilities. */ Loading src/java/com/android/ims/rcs/uce/UceController.java +10 −25 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import android.os.HandlerThread; import android.os.Looper; import android.os.RemoteException; import android.telephony.ims.RcsContactUceCapability; import android.telephony.ims.RcsContactUceCapability.CapabilityMechanism; import android.telephony.ims.RcsUceAdapter; import android.telephony.ims.RcsUceAdapter.PublishState; import android.telephony.ims.RcsUceAdapter.StackPublishTriggerType; Loading Loading @@ -86,7 +87,7 @@ public class UceController { /** * Retrieve the device's capabilities. */ RcsContactUceCapability getDeviceCapabilities(); RcsContactUceCapability getDeviceCapabilities(@CapabilityMechanism int mechanism); /** * The network reply that the request is forbidden. Loading @@ -109,13 +110,6 @@ public class UceController { */ boolean isRequestForbiddenByNetwork(); /** * Trigger the capabilities request with OPTIONS */ void requestCapabilitiesByOptions(@NonNull Uri contactUri, @NonNull RcsContactUceCapability ownCapabilities, @NonNull IOptionsResponseCallback callback); /** * The method is called when the given contacts' capabilities are expired and need to be * refreshed. Loading Loading @@ -172,8 +166,7 @@ public class UceController { /** * @return an {@link OptionsController} associated with the subscription id specified. */ OptionsController createOptionsController(Context context, int subId, UceControllerCallback c, Looper looper); OptionsController createOptionsController(Context context, int subId); } private ControllerFactory mControllerFactory = new ControllerFactory() { Loading @@ -195,9 +188,8 @@ public class UceController { } @Override public OptionsController createOptionsController(Context context, int subId, UceControllerCallback c, Looper looper) { return new OptionsControllerImpl(context, subId, c, looper); public OptionsController createOptionsController(Context context, int subId) { return new OptionsControllerImpl(context, subId); } }; Loading Loading @@ -254,14 +246,14 @@ public class UceController { mPublishController = mControllerFactory.createPublishController(mContext, mSubId, mCtrlCallback, mLooper); mSubscribeController = mControllerFactory.createSubscribeController(mContext, mSubId); mOptionsController = mControllerFactory.createOptionsController(mContext, mSubId, mCtrlCallback, mLooper); mOptionsController = mControllerFactory.createOptionsController(mContext, mSubId); } private void initRequestManager() { mRequestManager = mRequestManagerFactory.createRequestManager(mContext, mSubId, mLooper, mCtrlCallback); mRequestManager.setSubscribeController(mSubscribeController); mRequestManager.setOptionsController(mOptionsController); } /** Loading Loading @@ -339,8 +331,8 @@ public class UceController { } @Override public RcsContactUceCapability getDeviceCapabilities() { return mPublishController.getDeviceCapabilities(); public RcsContactUceCapability getDeviceCapabilities(@CapabilityMechanism int mechanism) { return mPublishController.getDeviceCapabilities(mechanism); } @Override Loading @@ -359,13 +351,6 @@ public class UceController { return (mServerState.getForbiddenErrorCode() != null) ? true : false; } @Override public void requestCapabilitiesByOptions(@NonNull Uri uri, @NonNull RcsContactUceCapability ownCapabilities, @NonNull IOptionsResponseCallback callback) { mOptionsController.sendCapabilitiesRequest(uri, ownCapabilities, callback); } @Override public void refreshCapabilities(@NonNull List<Uri> contactNumbers, @NonNull IRcsUceControllerCallback callback) throws RemoteException{ Loading Loading @@ -520,7 +505,7 @@ public class UceController { public void retrieveOptionsCapabilitiesForRemote(@NonNull Uri contactUri, @NonNull List<String> remoteCapabilities, @NonNull IOptionsRequestCallback c) { logi("retrieveOptionsCapabilitiesForRemote"); mOptionsController.retrieveCapabilitiesForRemote(contactUri, remoteCapabilities, c); mRequestManager.retrieveCapabilitiesForRemote(contactUri, remoteCapabilities, c); } /** Loading src/java/com/android/ims/rcs/uce/eab/EabUtil.java +3 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import android.util.Log; import com.android.ims.rcs.uce.eab.EabProvider.ContactColumns; import com.android.ims.rcs.uce.eab.EabProvider.EabCommonColumns; import com.android.ims.rcs.uce.eab.EabProvider.OptionsColumns; import com.android.ims.rcs.uce.eab.EabProvider.PresenceTupleColumns; import com.android.ims.rcs.uce.util.UceUtils; Loading Loading @@ -144,6 +145,8 @@ public class EabUtil { int count = 0; count = context.getContentResolver().delete(EabProvider.PRESENCE_URI, PresenceTupleColumns.EAB_COMMON_ID + "=?", new String[]{String.valueOf(commonId)}); context.getContentResolver().delete(EabProvider.OPTIONS_URI, OptionsColumns.EAB_COMMON_ID + "=?", new String[]{String.valueOf(commonId)}); context.getContentResolver().delete(EabProvider.COMMON_URI, EabCommonColumns.EAB_CONTACT_ID + "=?", new String[]{String.valueOf(contactId)}); context.getContentResolver().delete(EabProvider.CONTACT_URI, Loading src/java/com/android/ims/rcs/uce/options/OptionsController.java +7 −12 Original line number Diff line number Diff line Loading @@ -18,8 +18,7 @@ package com.android.ims.rcs.uce.options; import android.annotation.NonNull; import android.net.Uri; import android.telephony.ims.RcsContactUceCapability; import android.telephony.ims.aidl.IOptionsRequestCallback; import android.os.RemoteException; import android.telephony.ims.aidl.IOptionsResponseCallback; import com.android.ims.rcs.uce.ControllerBase; Loading @@ -31,15 +30,11 @@ import java.util.List; */ public interface OptionsController extends ControllerBase { /** * Request the capabilities for the requested contact. * Request the contact's capabilities of the given contact. * @param contactUri The contact of the capabilities is being requested for. * @param deviceFeatureTags The feature tags of the device's capabilities. * @param c The response callback of the OPTIONS capabilities request. */ void sendCapabilitiesRequest(@NonNull Uri contactUri, @NonNull RcsContactUceCapability ownCapabilities, @NonNull IOptionsResponseCallback c); /** * Retrieve the device's capabilities. This request is from the ImsService to send the * capabilities to the remote side. */ void retrieveCapabilitiesForRemote(@NonNull Uri contactUri, @NonNull List<String> remoteCapabilities, @NonNull IOptionsRequestCallback c); void sendCapabilitiesRequest(@NonNull Uri contactUri, @NonNull List<String> deviceFeatureTags, @NonNull IOptionsResponseCallback c) throws RemoteException; } Loading
src/java/com/android/ims/RcsFeatureConnection.java +10 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import android.telephony.ims.aidl.IImsRcsFeature; import android.telephony.ims.aidl.IImsRegistration; import android.telephony.ims.aidl.IImsRegistrationCallback; import android.telephony.ims.aidl.IPublishResponseCallback; import android.telephony.ims.aidl.IOptionsResponseCallback; import android.telephony.ims.aidl.ISipTransport; import android.telephony.ims.aidl.ISubscribeResponseCallback; import android.telephony.ims.feature.CapabilityChangeRequest; Loading Loading @@ -242,6 +243,15 @@ public class RcsFeatureConnection extends FeatureConnection { } } public void sendOptionsCapabilityRequest(Uri contactUri, List<String> myCapabilities, IOptionsResponseCallback callback) throws RemoteException { synchronized (mLock) { checkServiceIsReady(); getServiceInterface(mBinder).sendOptionsCapabilityRequest(contactUri, myCapabilities, callback); } } @Override @VisibleForTesting public Integer retrieveFeatureState() { Loading
src/java/com/android/ims/RcsFeatureManager.java +6 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ import android.telephony.ims.aidl.IImsRcsFeature; import android.telephony.ims.aidl.IImsRegistration; import android.telephony.ims.aidl.IImsRegistrationCallback; import android.telephony.ims.aidl.IOptionsRequestCallback; import android.telephony.ims.aidl.IOptionsResponseCallback; import android.telephony.ims.aidl.IPublishResponseCallback; import android.telephony.ims.aidl.ISipTransport; import android.telephony.ims.aidl.ISubscribeResponseCallback; Loading Loading @@ -426,6 +427,11 @@ public class RcsFeatureManager implements FeatureUpdates { mRcsFeatureConnection.requestCapabilities(uris, c); } public void sendOptionsCapabilityRequest(Uri contactUri, List<String> myCapabilities, IOptionsResponseCallback callback) throws RemoteException { mRcsFeatureConnection.sendOptionsCapabilityRequest(contactUri, myCapabilities, callback); } /** * Disable all of the UCE capabilities. */ Loading
src/java/com/android/ims/rcs/uce/UceController.java +10 −25 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import android.os.HandlerThread; import android.os.Looper; import android.os.RemoteException; import android.telephony.ims.RcsContactUceCapability; import android.telephony.ims.RcsContactUceCapability.CapabilityMechanism; import android.telephony.ims.RcsUceAdapter; import android.telephony.ims.RcsUceAdapter.PublishState; import android.telephony.ims.RcsUceAdapter.StackPublishTriggerType; Loading Loading @@ -86,7 +87,7 @@ public class UceController { /** * Retrieve the device's capabilities. */ RcsContactUceCapability getDeviceCapabilities(); RcsContactUceCapability getDeviceCapabilities(@CapabilityMechanism int mechanism); /** * The network reply that the request is forbidden. Loading @@ -109,13 +110,6 @@ public class UceController { */ boolean isRequestForbiddenByNetwork(); /** * Trigger the capabilities request with OPTIONS */ void requestCapabilitiesByOptions(@NonNull Uri contactUri, @NonNull RcsContactUceCapability ownCapabilities, @NonNull IOptionsResponseCallback callback); /** * The method is called when the given contacts' capabilities are expired and need to be * refreshed. Loading Loading @@ -172,8 +166,7 @@ public class UceController { /** * @return an {@link OptionsController} associated with the subscription id specified. */ OptionsController createOptionsController(Context context, int subId, UceControllerCallback c, Looper looper); OptionsController createOptionsController(Context context, int subId); } private ControllerFactory mControllerFactory = new ControllerFactory() { Loading @@ -195,9 +188,8 @@ public class UceController { } @Override public OptionsController createOptionsController(Context context, int subId, UceControllerCallback c, Looper looper) { return new OptionsControllerImpl(context, subId, c, looper); public OptionsController createOptionsController(Context context, int subId) { return new OptionsControllerImpl(context, subId); } }; Loading Loading @@ -254,14 +246,14 @@ public class UceController { mPublishController = mControllerFactory.createPublishController(mContext, mSubId, mCtrlCallback, mLooper); mSubscribeController = mControllerFactory.createSubscribeController(mContext, mSubId); mOptionsController = mControllerFactory.createOptionsController(mContext, mSubId, mCtrlCallback, mLooper); mOptionsController = mControllerFactory.createOptionsController(mContext, mSubId); } private void initRequestManager() { mRequestManager = mRequestManagerFactory.createRequestManager(mContext, mSubId, mLooper, mCtrlCallback); mRequestManager.setSubscribeController(mSubscribeController); mRequestManager.setOptionsController(mOptionsController); } /** Loading Loading @@ -339,8 +331,8 @@ public class UceController { } @Override public RcsContactUceCapability getDeviceCapabilities() { return mPublishController.getDeviceCapabilities(); public RcsContactUceCapability getDeviceCapabilities(@CapabilityMechanism int mechanism) { return mPublishController.getDeviceCapabilities(mechanism); } @Override Loading @@ -359,13 +351,6 @@ public class UceController { return (mServerState.getForbiddenErrorCode() != null) ? true : false; } @Override public void requestCapabilitiesByOptions(@NonNull Uri uri, @NonNull RcsContactUceCapability ownCapabilities, @NonNull IOptionsResponseCallback callback) { mOptionsController.sendCapabilitiesRequest(uri, ownCapabilities, callback); } @Override public void refreshCapabilities(@NonNull List<Uri> contactNumbers, @NonNull IRcsUceControllerCallback callback) throws RemoteException{ Loading Loading @@ -520,7 +505,7 @@ public class UceController { public void retrieveOptionsCapabilitiesForRemote(@NonNull Uri contactUri, @NonNull List<String> remoteCapabilities, @NonNull IOptionsRequestCallback c) { logi("retrieveOptionsCapabilitiesForRemote"); mOptionsController.retrieveCapabilitiesForRemote(contactUri, remoteCapabilities, c); mRequestManager.retrieveCapabilitiesForRemote(contactUri, remoteCapabilities, c); } /** Loading
src/java/com/android/ims/rcs/uce/eab/EabUtil.java +3 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import android.util.Log; import com.android.ims.rcs.uce.eab.EabProvider.ContactColumns; import com.android.ims.rcs.uce.eab.EabProvider.EabCommonColumns; import com.android.ims.rcs.uce.eab.EabProvider.OptionsColumns; import com.android.ims.rcs.uce.eab.EabProvider.PresenceTupleColumns; import com.android.ims.rcs.uce.util.UceUtils; Loading Loading @@ -144,6 +145,8 @@ public class EabUtil { int count = 0; count = context.getContentResolver().delete(EabProvider.PRESENCE_URI, PresenceTupleColumns.EAB_COMMON_ID + "=?", new String[]{String.valueOf(commonId)}); context.getContentResolver().delete(EabProvider.OPTIONS_URI, OptionsColumns.EAB_COMMON_ID + "=?", new String[]{String.valueOf(commonId)}); context.getContentResolver().delete(EabProvider.COMMON_URI, EabCommonColumns.EAB_CONTACT_ID + "=?", new String[]{String.valueOf(contactId)}); context.getContentResolver().delete(EabProvider.CONTACT_URI, Loading
src/java/com/android/ims/rcs/uce/options/OptionsController.java +7 −12 Original line number Diff line number Diff line Loading @@ -18,8 +18,7 @@ package com.android.ims.rcs.uce.options; import android.annotation.NonNull; import android.net.Uri; import android.telephony.ims.RcsContactUceCapability; import android.telephony.ims.aidl.IOptionsRequestCallback; import android.os.RemoteException; import android.telephony.ims.aidl.IOptionsResponseCallback; import com.android.ims.rcs.uce.ControllerBase; Loading @@ -31,15 +30,11 @@ import java.util.List; */ public interface OptionsController extends ControllerBase { /** * Request the capabilities for the requested contact. * Request the contact's capabilities of the given contact. * @param contactUri The contact of the capabilities is being requested for. * @param deviceFeatureTags The feature tags of the device's capabilities. * @param c The response callback of the OPTIONS capabilities request. */ void sendCapabilitiesRequest(@NonNull Uri contactUri, @NonNull RcsContactUceCapability ownCapabilities, @NonNull IOptionsResponseCallback c); /** * Retrieve the device's capabilities. This request is from the ImsService to send the * capabilities to the remote side. */ void retrieveCapabilitiesForRemote(@NonNull Uri contactUri, @NonNull List<String> remoteCapabilities, @NonNull IOptionsRequestCallback c); void sendCapabilitiesRequest(@NonNull Uri contactUri, @NonNull List<String> deviceFeatureTags, @NonNull IOptionsResponseCallback c) throws RemoteException; }