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

Commit 7fff7e5e authored by Brad Ebinger's avatar Brad Ebinger Committed by Gerrit Code Review
Browse files

Merge "Expose the empty MmTelCapabilities constructor"

parents 1868b7ee 4db427a5
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -6190,7 +6190,8 @@ package android.telephony.ims.feature {
  }

  public static class MmTelFeature.MmTelCapabilities {
    ctor public MmTelFeature.MmTelCapabilities(android.telephony.ims.feature.ImsFeature.Capabilities);
    ctor public MmTelFeature.MmTelCapabilities();
    ctor public deprecated MmTelFeature.MmTelCapabilities(android.telephony.ims.feature.ImsFeature.Capabilities);
    ctor public MmTelFeature.MmTelCapabilities(int);
    method public final void addCapabilities(int);
    method public final boolean isCapable(int);
+39 −14
Original line number Diff line number Diff line
@@ -17,6 +17,8 @@
package android.telephony.ims.feature;

import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.os.Bundle;
import android.os.Message;
@@ -222,21 +224,31 @@ public class MmTelFeature extends ImsFeature {
     * This MmTelFeature can then return the status of each of these capabilities (enabled or not)
     * by sending a {@link #notifyCapabilitiesStatusChanged} callback to the framework. The current
     * status can also be queried using {@link #queryCapabilityStatus()}.
     * @see #isCapable(int)
     */
    public static class MmTelCapabilities extends Capabilities {

        /**
         * @hide
         * Create a new empty {@link MmTelCapabilities} instance.
         * @see #addCapabilities(int)
         * @see #removeCapabilities(int)
         */
        @VisibleForTesting
        public MmTelCapabilities() {
            super();
        }

        /**@deprecated Use {@link MmTelCapabilities} to construct a new instance instead.*/
        @Deprecated
        public MmTelCapabilities(Capabilities c) {
            mCapabilities = c.mCapabilities;
        }

        /**
         * Create a new {link @MmTelCapabilities} instance with the provided capabilities.
         * @param capabilities The capabilities that are supported for MmTel in the form of a
         *                     bitfield.
         */
        public MmTelCapabilities(int capabilities) {
            mCapabilities = capabilities;
        }
@@ -406,7 +418,10 @@ public class MmTelFeature extends ImsFeature {
     * support the capability that is enabled. A capability that is disabled by the framework (via
     * {@link #changeEnabledCapabilities}) should also show the status as disabled.
     */
    public final void notifyCapabilitiesStatusChanged(MmTelCapabilities c) {
    public final void notifyCapabilitiesStatusChanged(@NonNull MmTelCapabilities c) {
        if (c == null) {
            throw new IllegalArgumentException("MmTelCapabilities must be non-null!");
        }
        super.notifyCapabilitiesStatusChanged(c);
    }

@@ -414,7 +429,12 @@ public class MmTelFeature extends ImsFeature {
     * Notify the framework of an incoming call.
     * @param c The {@link ImsCallSessionImplBase} of the new incoming call.
     */
    public final void notifyIncomingCall(ImsCallSessionImplBase c, Bundle extras) {
    public final void notifyIncomingCall(@NonNull ImsCallSessionImplBase c,
            @NonNull Bundle extras) {
        if (c == null || extras == null) {
            throw new IllegalArgumentException("ImsCallSessionImplBase and Bundle can not be "
                    + "null.");
        }
        synchronized (mLock) {
            if (mListener == null) {
                throw new IllegalStateException("Session is not available.");
@@ -434,7 +454,12 @@ public class MmTelFeature extends ImsFeature {
     *        This can be null if no call information is available for the rejected call.
     * @param reason The {@link ImsReasonInfo} call rejection reason.
     */
    public final void notifyRejectedCall(ImsCallProfile callProfile, ImsReasonInfo reason) {
    public final void notifyRejectedCall(@NonNull ImsCallProfile callProfile,
            @NonNull ImsReasonInfo reason) {
        if (callProfile == null || reason == null) {
            throw new IllegalArgumentException("ImsCallProfile and ImsReasonInfo must not be "
                    + "null.");
        }
        synchronized (mLock) {
            if (mListener == null) {
                throw new IllegalStateException("Session is not available.");
@@ -508,8 +533,8 @@ public class MmTelFeature extends ImsFeature {
     * the framework.
     */
    @Override
    public void changeEnabledCapabilities(CapabilityChangeRequest request,
            CapabilityCallbackProxy c) {
    public void changeEnabledCapabilities(@NonNull CapabilityChangeRequest request,
            @NonNull CapabilityCallbackProxy c) {
        // Base implementation, no-op
    }

@@ -531,7 +556,7 @@ public class MmTelFeature extends ImsFeature {
     *        {@link ImsCallProfile#CALL_TYPE_VS_RX}
     * @return a {@link ImsCallProfile} object
     */
    public ImsCallProfile createCallProfile(int callSessionType, int callType) {
    public @Nullable ImsCallProfile createCallProfile(int callSessionType, int callType) {
        // Base Implementation - Should be overridden
        return null;
    }
@@ -552,7 +577,7 @@ public class MmTelFeature extends ImsFeature {
     *
     * @param profile a call profile to make the call
     */
    public ImsCallSessionImplBase createCallSession(ImsCallProfile profile) {
    public @Nullable ImsCallSessionImplBase createCallSession(@NonNull ImsCallProfile profile) {
        // Base Implementation - Should be overridden
        return null;
    }
@@ -569,7 +594,7 @@ public class MmTelFeature extends ImsFeature {
     * @return a {@link ProcessCallResult} to the framework, which will be used to determine if the
     *        call will be placed over IMS or via CSFB.
     */
    public @ProcessCallResult int shouldProcessCall(String[] numbers) {
    public @ProcessCallResult int shouldProcessCall(@NonNull String[] numbers) {
        return PROCESS_CALL_IMS;
    }

@@ -602,7 +627,7 @@ public class MmTelFeature extends ImsFeature {
     * @return The {@link ImsUtImplBase} Ut interface implementation for the supplementary service
     * configuration.
     */
    public ImsUtImplBase getUt() {
    public @NonNull ImsUtImplBase getUt() {
        // Base Implementation - Should be overridden
        return new ImsUtImplBase();
    }
@@ -611,7 +636,7 @@ public class MmTelFeature extends ImsFeature {
     * @return The {@link ImsEcbmImplBase} Emergency call-back mode interface for emergency VoLTE
     * calls that support it.
     */
    public ImsEcbmImplBase getEcbm() {
    public @NonNull ImsEcbmImplBase getEcbm() {
        // Base Implementation - Should be overridden
        return new ImsEcbmImplBase();
    }
@@ -620,7 +645,7 @@ public class MmTelFeature extends ImsFeature {
     * @return The {@link ImsMultiEndpointImplBase} implementation for implementing Dialog event
     * package processing for multi-endpoint.
     */
    public ImsMultiEndpointImplBase getMultiEndpoint() {
    public @NonNull ImsMultiEndpointImplBase getMultiEndpoint() {
        // Base Implementation - Should be overridden
        return new ImsMultiEndpointImplBase();
    }
@@ -646,7 +671,7 @@ public class MmTelFeature extends ImsFeature {
     *     }
     * }
     */
    public void setUiTtyMode(int mode, Message onCompleteMessage) {
    public void setUiTtyMode(int mode, @Nullable Message onCompleteMessage) {
        // Base Implementation - Should be overridden
    }

@@ -680,7 +705,7 @@ public class MmTelFeature extends ImsFeature {
     * @return an instance of {@link ImsSmsImplBase} which should be implemented by the IMS
     * Provider.
     */
    public ImsSmsImplBase getSmsImplementation() {
    public @NonNull ImsSmsImplBase getSmsImplementation() {
        return new ImsSmsImplBase();
    }