Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 36fdcb7f authored by Brad Ebinger's avatar Brad Ebinger Committed by Automerger Merge Worker
Browse files

Merge "[RCS UCE] Expose the IMS RCS feature APIs" into sc-dev am: 2ca3bfbf

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/13425359

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Id8eb2a97f1c7b2cebe74903aafac3ff622b34a81
parents 564edeb2 2ca3bfbf
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -42724,7 +42724,11 @@ package android.telephony.ims {
  }
  public class ImsRcsManager {
    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void getRegistrationState(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void getRegistrationTransportType(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
    method @NonNull public android.telephony.ims.RcsUceAdapter getUceAdapter();
    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void registerImsRegistrationCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.RegistrationManager.RegistrationCallback) throws android.telephony.ims.ImsException;
    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void unregisterImsRegistrationCallback(@NonNull android.telephony.ims.RegistrationManager.RegistrationCallback);
    field public static final String ACTION_SHOW_CAPABILITY_DISCOVERY_OPT_IN = "android.telephony.ims.action.SHOW_CAPABILITY_DISCOVERY_OPT_IN";
  }
+24 −0
Original line number Diff line number Diff line
@@ -12952,6 +12952,17 @@ package android.telephony.ims {
    method @Deprecated public void onRegistering(int);
  }
  public class ImsRcsManager {
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void addOnAvailabilityChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.ImsRcsManager.OnAvailabilityChangedListener) throws android.telephony.ims.ImsException;
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAvailable(int, int) throws android.telephony.ims.ImsException;
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isCapable(int, int) throws android.telephony.ims.ImsException;
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void removeOnAvailabilityChangedListener(@NonNull android.telephony.ims.ImsRcsManager.OnAvailabilityChangedListener);
  }
  public static interface ImsRcsManager.OnAvailabilityChangedListener {
    method public void onAvailabilityChanged(int);
  }
  public final class ImsReasonInfo implements android.os.Parcelable {
    field public static final String EXTRA_MSG_SERVICE_NOT_AUTHORIZED = "Forbidden. Not Authorized for Service";
  }
@@ -13592,11 +13603,24 @@ package android.telephony.ims.feature {
    ctor public RcsFeature(@NonNull java.util.concurrent.Executor);
    method public void changeEnabledCapabilities(@NonNull android.telephony.ims.feature.CapabilityChangeRequest, @NonNull android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
    method @NonNull public android.telephony.ims.stub.RcsCapabilityExchangeImplBase createCapabilityExchangeImpl(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.stub.CapabilityExchangeEventListener);
    method public final void notifyCapabilitiesStatusChanged(@NonNull android.telephony.ims.feature.RcsFeature.RcsImsCapabilities);
    method public void onFeatureReady();
    method public void onFeatureRemoved();
    method public boolean queryCapabilityConfiguration(int, int);
    method @NonNull public final android.telephony.ims.feature.RcsFeature.RcsImsCapabilities queryCapabilityStatus();
    method public void removeCapabilityExchangeImpl(@NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase);
  }
  public static class RcsFeature.RcsImsCapabilities extends android.telephony.ims.feature.ImsFeature.Capabilities {
    ctor public RcsFeature.RcsImsCapabilities(int);
    method public void addCapabilities(int);
    method public boolean isCapable(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
  }
}
package android.telephony.ims.stub {
+184 −92

File changed.

Preview size limit exceeded, changes collapsed.

+1 −1
Original line number Diff line number Diff line
@@ -47,7 +47,7 @@ interface IImsRcsController {
    void registerRcsAvailabilityCallback(int subId, IImsCapabilityCallback c);
    void unregisterRcsAvailabilityCallback(int subId, IImsCapabilityCallback c);
    boolean isCapable(int subId, int capability, int radioTech);
    boolean isAvailable(int subId, int capability);
    boolean isAvailable(int subId, int capability, int radioTech);

    // ImsUceAdapter specific
    void requestCapabilities(int subId, String callingPackage, String callingFeatureId,
+11 −19
Original line number Diff line number Diff line
@@ -36,12 +36,9 @@ import java.util.Set;
public final class CapabilityChangeRequest implements Parcelable {

    /**
     * Contains a feature capability, defined as
     * {@link MmTelFeature.MmTelCapabilities#CAPABILITY_TYPE_VOICE},
     * {@link MmTelFeature.MmTelCapabilities#CAPABILITY_TYPE_VIDEO},
     * {@link MmTelFeature.MmTelCapabilities#CAPABILITY_TYPE_UT}, or
     * {@link MmTelFeature.MmTelCapabilities#CAPABILITY_TYPE_SMS},
     * along with an associated technology, defined as
     * Contains a MMTEL feature capability {@link MmTelFeature.MmTelCapabilities} and RCS feature
     * capability {@link RcsFeature.RcsImsCapabilities}, along with an associated technology,
     * defined as
     * {@link ImsRegistrationImplBase#REGISTRATION_TECH_LTE} or
     * {@link ImsRegistrationImplBase#REGISTRATION_TECH_IWLAN}
     * {@link ImsRegistrationImplBase#REGISTRATION_TECH_CROSS_SIM}
@@ -50,7 +47,7 @@ public final class CapabilityChangeRequest implements Parcelable {
        private final int mCapability;
        private final int radioTech;

        public CapabilityPair(@MmTelFeature.MmTelCapabilities.MmTelCapability int capability,
        public CapabilityPair(int capability,
                @ImsRegistrationImplBase.ImsRegistrationTech int radioTech) {
            this.mCapability = capability;
            this.radioTech = radioTech;
@@ -81,13 +78,10 @@ public final class CapabilityChangeRequest implements Parcelable {
        }

        /**
         * @return The stored capability, defined as
         * {@link MmTelFeature.MmTelCapabilities#CAPABILITY_TYPE_VOICE},
         * {@link MmTelFeature.MmTelCapabilities#CAPABILITY_TYPE_VIDEO},
         * {@link MmTelFeature.MmTelCapabilities#CAPABILITY_TYPE_UT}, or
         * {@link MmTelFeature.MmTelCapabilities#CAPABILITY_TYPE_SMS}
         * @return The stored capability, defined as {@link MmTelFeature.MmTelCapabilities} and
         * {@link RcsFeature.RcsImsCapabilities}
         */
        public @MmTelFeature.MmTelCapabilities.MmTelCapability int getCapability() {
        public int getCapability() {
            return mCapability;
        }

@@ -125,12 +119,11 @@ public final class CapabilityChangeRequest implements Parcelable {
     * Add one or many capabilities to the request to be enabled.
     *
     * @param capabilities A bitfield of capabilities to enable, valid values are defined in
     *   {@link MmTelFeature.MmTelCapabilities.MmTelCapability}.
     *   {@link MmTelFeature.MmTelCapabilities} and {@link RcsFeature.RcsImsCapabilities}.
     * @param radioTech  the radio tech that these capabilities should be enabled for, valid
     *   values are in {@link ImsRegistrationImplBase.ImsRegistrationTech}.
     */
    public void addCapabilitiesToEnableForTech(
            @MmTelFeature.MmTelCapabilities.MmTelCapability int capabilities,
    public void addCapabilitiesToEnableForTech(int capabilities,
            @ImsRegistrationImplBase.ImsRegistrationTech int radioTech) {
        addAllCapabilities(mCapabilitiesToEnable, capabilities, radioTech);
    }
@@ -138,12 +131,11 @@ public final class CapabilityChangeRequest implements Parcelable {
    /**
     * Add one or many capabilities to the request to be disabled.
     * @param capabilities A bitfield of capabilities to diable, valid values are defined in
     *   {@link MmTelFeature.MmTelCapabilities.MmTelCapability}.
     *   {@link MmTelFeature.MmTelCapabilities} and {@link RcsFeature.RcsImsCapabilities}.
     * @param radioTech the radio tech that these capabilities should be disabled for, valid
     *   values are in {@link ImsRegistrationImplBase.ImsRegistrationTech}.
     */
    public void addCapabilitiesToDisableForTech(
            @MmTelFeature.MmTelCapabilities.MmTelCapability int capabilities,
    public void addCapabilitiesToDisableForTech(int capabilities,
            @ImsRegistrationImplBase.ImsRegistrationTech int radioTech) {
        addAllCapabilities(mCapabilitiesToDisable, capabilities, radioTech);
    }
Loading