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

Commit 6663d4f9 authored by Andrew Lee's avatar Andrew Lee Committed by Android (Google) Code Review
Browse files

Merge "Add new DisconnectCause class to telecomm." into lmp-dev

parents f6b4254b 7f3d41fd
Loading
Loading
Loading
Loading
+32 −64
Original line number Diff line number Diff line
@@ -28086,14 +28086,14 @@ package android.telecom {
    method public final void removeConnection(android.telecom.Connection);
    method public final void setActive();
    method public final void setCapabilities(int);
    method public final void setDisconnected(int, java.lang.String);
    method public final void setDisconnected(android.telecom.DisconnectCause);
    method public final void setOnHold();
  }
  public abstract class Connection {
    ctor public Connection();
    method public static android.telecom.Connection createCanceledConnection();
    method public static android.telecom.Connection createFailedConnection(int, java.lang.String);
    method public static android.telecom.Connection createFailedConnection(android.telecom.DisconnectCause);
    method public final void destroy();
    method public final android.net.Uri getAddress();
    method public final int getAddressPresentation();
@@ -28104,8 +28104,7 @@ package android.telecom {
    method public final int getCallerDisplayNamePresentation();
    method public final android.telecom.Conference getConference();
    method public final java.util.List<android.telecom.Connection> getConferenceableConnections();
    method public final int getDisconnectCause();
    method public final java.lang.String getDisconnectMessage();
    method public final android.telecom.DisconnectCause getDisconnectCause();
    method public final int getState();
    method public final android.telecom.StatusHints getStatusHints();
    method public final boolean isRingbackRequested();
@@ -28130,7 +28129,7 @@ package android.telecom {
    method public final void setConferenceableConnections(java.util.List<android.telecom.Connection>);
    method public final void setConnectionService(android.telecom.ConnectionService);
    method public final void setDialing();
    method public final void setDisconnected(int, java.lang.String);
    method public final void setDisconnected(android.telecom.DisconnectCause);
    method public final void setInitialized();
    method public final void setInitializing();
    method public final void setOnHold();
@@ -28173,6 +28172,30 @@ package android.telecom {
    field public static final java.lang.String SERVICE_INTERFACE = "android.telecom.ConnectionService";
  }
  public final class DisconnectCause implements android.os.Parcelable {
    ctor public DisconnectCause(int);
    ctor public DisconnectCause(int, java.lang.String);
    ctor public DisconnectCause(int, java.lang.CharSequence, java.lang.CharSequence, java.lang.String, int);
    method public int describeContents();
    method public int getCode();
    method public java.lang.CharSequence getDescription();
    method public java.lang.CharSequence getLabel();
    method public java.lang.String getReason();
    method public int getTone();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final int BUSY = 7; // 0x7
    field public static final int CANCELED = 4; // 0x4
    field public static final android.os.Parcelable.Creator CREATOR;
    field public static final int ERROR = 1; // 0x1
    field public static final int LOCAL = 2; // 0x2
    field public static final int MISSED = 5; // 0x5
    field public static final int OTHER = 9; // 0x9
    field public static final int REJECTED = 6; // 0x6
    field public static final int REMOTE = 3; // 0x3
    field public static final int RESTRICTED = 8; // 0x8
    field public static final int UNKNOWN = 0; // 0x0
  }
  public class GatewayInfo implements android.os.Parcelable {
    method public int describeContents();
    method public android.net.Uri getGatewayAddress();
@@ -28248,8 +28271,7 @@ package android.telecom {
    method public void disconnect();
    method public final int getCallCapabilities();
    method public final java.util.List<android.telecom.RemoteConnection> getConnections();
    method public int getDisconnectCause();
    method public java.lang.String getDisconnectMessage();
    method public android.telecom.DisconnectCause getDisconnectCause();
    method public final int getState();
    method public void hold();
    method public final void registerCallback(android.telecom.RemoteConference.Callback);
@@ -28264,7 +28286,7 @@ package android.telecom {
    method public void onConnectionAdded(android.telecom.RemoteConference, android.telecom.RemoteConnection);
    method public void onConnectionRemoved(android.telecom.RemoteConference, android.telecom.RemoteConnection);
    method public void onDestroyed(android.telecom.RemoteConference);
    method public void onDisconnected(android.telecom.RemoteConference, int, java.lang.String);
    method public void onDisconnected(android.telecom.RemoteConference, android.telecom.DisconnectCause);
    method public void onStateChanged(android.telecom.RemoteConference, int, int);
  }
@@ -28279,10 +28301,7 @@ package android.telecom {
    method public int getCallerDisplayNamePresentation();
    method public android.telecom.RemoteConference getConference();
    method public java.util.List<android.telecom.RemoteConnection> getConferenceableConnections();
    method public int getDisconnectCauseCode();
    method public java.lang.String getDisconnectCauseMessage();
    method public int getFailureCode();
    method public java.lang.String getFailureMessage();
    method public android.telecom.DisconnectCause getDisconnectCause();
    method public int getState();
    method public android.telecom.StatusHints getStatusHints();
    method public void hold();
@@ -28306,7 +28325,7 @@ package android.telecom {
    method public void onConferenceChanged(android.telecom.RemoteConnection, android.telecom.RemoteConference);
    method public void onConferenceableConnectionsChanged(android.telecom.RemoteConnection, java.util.List<android.telecom.RemoteConnection>);
    method public void onDestroyed(android.telecom.RemoteConnection);
    method public void onDisconnected(android.telecom.RemoteConnection, int, java.lang.String);
    method public void onDisconnected(android.telecom.RemoteConnection, android.telecom.DisconnectCause);
    method public void onPostDialWait(android.telecom.RemoteConnection, java.lang.String);
    method public void onRingbackRequested(android.telecom.RemoteConnection, boolean);
    method public void onStateChanged(android.telecom.RemoteConnection, int);
@@ -28512,57 +28531,6 @@ package android.telephony {
    field public static final android.os.Parcelable.Creator CREATOR;
  }
  public class DisconnectCause {
    method public static java.lang.String toString(int);
    field public static final int BUSY = 4; // 0x4
    field public static final int CALL_BARRED = 20; // 0x14
    field public static final int CDMA_ACCESS_BLOCKED = 35; // 0x23
    field public static final int CDMA_ACCESS_FAILURE = 32; // 0x20
    field public static final int CDMA_CALL_LOST = 41; // 0x29
    field public static final int CDMA_DROP = 27; // 0x1b
    field public static final int CDMA_INTERCEPT = 28; // 0x1c
    field public static final int CDMA_LOCKED_UNTIL_POWER_CYCLE = 26; // 0x1a
    field public static final int CDMA_NOT_EMERGENCY = 34; // 0x22
    field public static final int CDMA_PREEMPTED = 33; // 0x21
    field public static final int CDMA_REORDER = 29; // 0x1d
    field public static final int CDMA_RETRY_ORDER = 31; // 0x1f
    field public static final int CDMA_SO_REJECT = 30; // 0x1e
    field public static final int CONGESTION = 5; // 0x5
    field public static final int CS_RESTRICTED = 22; // 0x16
    field public static final int CS_RESTRICTED_EMERGENCY = 24; // 0x18
    field public static final int CS_RESTRICTED_NORMAL = 23; // 0x17
    field public static final int DIALED_MMI = 39; // 0x27
    field public static final int EMERGENCY_ONLY = 37; // 0x25
    field public static final int ERROR_UNSPECIFIED = 36; // 0x24
    field public static final int FDN_BLOCKED = 21; // 0x15
    field public static final int ICC_ERROR = 19; // 0x13
    field public static final int INCOMING_MISSED = 1; // 0x1
    field public static final int INCOMING_REJECTED = 16; // 0x10
    field public static final int INVALID_CREDENTIALS = 10; // 0xa
    field public static final int INVALID_NUMBER = 7; // 0x7
    field public static final int LIMIT_EXCEEDED = 15; // 0xf
    field public static final int LOCAL = 3; // 0x3
    field public static final int LOST_SIGNAL = 14; // 0xe
    field public static final int MAXIMUM_VALID_VALUE = 44; // 0x2c
    field public static final int MINIMUM_VALID_VALUE = 0; // 0x0
    field public static final int MMI = 6; // 0x6
    field public static final int NORMAL = 2; // 0x2
    field public static final int NOT_DISCONNECTED = 0; // 0x0
    field public static final int NOT_VALID = -1; // 0xffffffff
    field public static final int NO_PHONE_NUMBER_SUPPLIED = 38; // 0x26
    field public static final int NUMBER_UNREACHABLE = 8; // 0x8
    field public static final int OUTGOING_CANCELED = 44; // 0x2c
    field public static final int OUTGOING_FAILURE = 43; // 0x2b
    field public static final int OUT_OF_NETWORK = 11; // 0xb
    field public static final int OUT_OF_SERVICE = 18; // 0x12
    field public static final int POWER_OFF = 17; // 0x11
    field public static final int SERVER_ERROR = 12; // 0xc
    field public static final int SERVER_UNREACHABLE = 9; // 0x9
    field public static final int TIMED_OUT = 13; // 0xd
    field public static final int UNOBTAINABLE_NUMBER = 25; // 0x19
    field public static final int VOICEMAIL_NUMBER_MISSING = 40; // 0x28
  }
  public class IccOpenLogicalChannelResponse implements android.os.Parcelable {
    method public int describeContents();
    method public int getChannel();
+6 −0
Original line number Diff line number Diff line
@@ -33,6 +33,12 @@ public class ToneGenerator
     * List of all available tones: These constants must be kept consistant with
     * the enum in ToneGenerator C++ class.     */

    /**
     * Default value for an unknown or unspecified tone.
     * @hide
     */
    public static final int TONE_UNKNOWN = -1;

    /**
     * DTMF tone for key 0: 1336Hz, 941Hz, continuous</p>
     *
+9 −24
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@ package android.telecom;
import android.annotation.SystemApi;
import android.net.Uri;
import android.os.Bundle;
import android.telephony.DisconnectCause;

import java.lang.String;
import java.util.ArrayList;
@@ -89,8 +88,7 @@ public final class Call {
        private final PhoneAccountHandle mAccountHandle;
        private final int mCallCapabilities;
        private final int mCallProperties;
        private final int mDisconnectCauseCode;
        private final String mDisconnectCauseMessage;
        private final DisconnectCause mDisconnectCause;
        private final long mConnectTimeMillis;
        private final GatewayInfo mGatewayInfo;
        private final int mVideoState;
@@ -154,18 +152,10 @@ public final class Call {

        /**
         * @return For a {@link #STATE_DISCONNECTED} {@code Call}, the disconnect cause expressed
         * as a code chosen from among those declared in {@link DisconnectCause}.
         * by {@link android.telecomm.DisconnectCause}.
         */
        public int getDisconnectCauseCode() {
            return mDisconnectCauseCode;
        }

        /**
         * @return For a {@link #STATE_DISCONNECTED} {@code Call}, an optional reason for
         * disconnection expressed as a free text message.
         */
        public String getDisconnectCauseMessage() {
            return mDisconnectCauseMessage;
        public DisconnectCause getDisconnectCause() {
            return mDisconnectCause;
        }

        /**
@@ -219,8 +209,7 @@ public final class Call {
                        Objects.equals(mAccountHandle, d.mAccountHandle) &&
                        Objects.equals(mCallCapabilities, d.mCallCapabilities) &&
                        Objects.equals(mCallProperties, d.mCallProperties) &&
                        Objects.equals(mDisconnectCauseCode, d.mDisconnectCauseCode) &&
                        Objects.equals(mDisconnectCauseMessage, d.mDisconnectCauseMessage) &&
                        Objects.equals(mDisconnectCause, d.mDisconnectCause) &&
                        Objects.equals(mConnectTimeMillis, d.mConnectTimeMillis) &&
                        Objects.equals(mGatewayInfo, d.mGatewayInfo) &&
                        Objects.equals(mVideoState, d.mVideoState) &&
@@ -240,8 +229,7 @@ public final class Call {
                    Objects.hashCode(mAccountHandle) +
                    Objects.hashCode(mCallCapabilities) +
                    Objects.hashCode(mCallProperties) +
                    Objects.hashCode(mDisconnectCauseCode) +
                    Objects.hashCode(mDisconnectCauseMessage) +
                    Objects.hashCode(mDisconnectCause) +
                    Objects.hashCode(mConnectTimeMillis) +
                    Objects.hashCode(mGatewayInfo) +
                    Objects.hashCode(mVideoState) +
@@ -258,8 +246,7 @@ public final class Call {
                PhoneAccountHandle accountHandle,
                int capabilities,
                int properties,
                int disconnectCauseCode,
                String disconnectCauseMessage,
                DisconnectCause disconnectCause,
                long connectTimeMillis,
                GatewayInfo gatewayInfo,
                int videoState,
@@ -272,8 +259,7 @@ public final class Call {
            mAccountHandle = accountHandle;
            mCallCapabilities = capabilities;
            mCallProperties = properties;
            mDisconnectCauseCode = disconnectCauseCode;
            mDisconnectCauseMessage = disconnectCauseMessage;
            mDisconnectCause = disconnectCause;
            mConnectTimeMillis = connectTimeMillis;
            mGatewayInfo = gatewayInfo;
            mVideoState = videoState;
@@ -654,8 +640,7 @@ public final class Call {
                parcelableCall.getAccountHandle(),
                parcelableCall.getCapabilities(),
                parcelableCall.getProperties(),
                parcelableCall.getDisconnectCauseCode(),
                parcelableCall.getDisconnectCauseMsg(),
                parcelableCall.getDisconnectCause(),
                parcelableCall.getConnectTimeMillis(),
                parcelableCall.getGatewayInfo(),
                parcelableCall.getVideoState(),
+8 −12
Original line number Diff line number Diff line
@@ -16,8 +16,6 @@

package android.telecom;

import android.telephony.DisconnectCause;

import java.util.Collections;
import java.util.List;
import java.util.Set;
@@ -32,7 +30,7 @@ public abstract class Conference {
    /** @hide */
    public abstract static class Listener {
        public void onStateChanged(Conference conference, int oldState, int newState) {}
        public void onDisconnected(Conference conference, int cause, String message) {}
        public void onDisconnected(Conference conference, DisconnectCause disconnectCause) {}
        public void onConnectionAdded(Conference conference, Connection connection) {}
        public void onConnectionRemoved(Conference conference, Connection connection) {}
        public void onDestroyed(Conference conference) {}
@@ -46,7 +44,7 @@ public abstract class Conference {

    private PhoneAccountHandle mPhoneAccount;
    private int mState = Connection.STATE_NEW;
    private int mDisconnectCause = DisconnectCause.NOT_VALID;
    private DisconnectCause mDisconnectCause;
    private int mCapabilities;
    private String mDisconnectMessage;

@@ -146,16 +144,14 @@ public abstract class Conference {
    /**
     * Sets state to disconnected.
     *
     * @param cause The reason for the disconnection, any of
     *         {@link android.telephony.DisconnectCause}.
     * @param message Optional call-service-provided message about the disconnect.
     * @param disconnectCause The reason for the disconnection, as described by
     *     {@link android.telecom.DisconnectCause}.
     */
    public final void setDisconnected(int cause, String message) {
        mDisconnectCause = cause;
        mDisconnectMessage = message;
    public final void setDisconnected(DisconnectCause disconnectCause) {
        mDisconnectCause = disconnectCause;;
        setState(Connection.STATE_DISCONNECTED);
        for (Listener l : mListeners) {
            l.onDisconnected(this, mDisconnectCause, mDisconnectMessage);
            l.onDisconnected(this, mDisconnectCause);
        }
    }

@@ -222,7 +218,7 @@ public abstract class Conference {
        // If not yet disconnected, set the conference call as disconnected first.
        if (mState != Connection.STATE_DISCONNECTED) {
            Log.d(this, "setting to disconnected");
            setDisconnected(DisconnectCause.LOCAL, null);
            setDisconnected(new DisconnectCause(DisconnectCause.LOCAL));
        }

        // ...and notify.
+16 −29
Original line number Diff line number Diff line
@@ -24,7 +24,6 @@ import android.os.Handler;
import android.os.IBinder;
import android.os.Message;
import android.os.RemoteException;
import android.telephony.DisconnectCause;
import android.view.Surface;

import java.util.ArrayList;
@@ -71,7 +70,7 @@ public abstract class Connection {
        public void onCallerDisplayNameChanged(
                Connection c, String callerDisplayName, int presentation) {}
        public void onVideoStateChanged(Connection c, int videoState) {}
        public void onDisconnected(Connection c, int cause, String message) {}
        public void onDisconnected(Connection c, DisconnectCause disconnectCause) {}
        public void onPostDialWait(Connection c, String remaining) {}
        public void onRingbackRequested(Connection c, boolean ringback) {}
        public void onDestroyed(Connection c) {}
@@ -473,8 +472,7 @@ public abstract class Connection {
    private boolean mAudioModeIsVoip;
    private StatusHints mStatusHints;
    private int mVideoState;
    private int mDisconnectCause;
    private String mDisconnectMessage;
    private DisconnectCause mDisconnectCause;
    private Conference mConference;
    private ConnectionService mConnectionService;

@@ -604,17 +602,10 @@ public abstract class Connection {
    /**
     * @return The {@link DisconnectCause} for this connection.
     */
    public final int getDisconnectCause() {
    public final DisconnectCause getDisconnectCause() {
        return mDisconnectCause;
    }

    /**
     * @return The disconnect message for this connection.
     */
    public final String getDisconnectMessage() {
        return mDisconnectMessage;
    }

    /**
     * Inform this Connection that the state of its audio output has been changed externally.
     *
@@ -774,17 +765,15 @@ public abstract class Connection {
    /**
     * Sets state to disconnected.
     *
     * @param cause The reason for the disconnection, any of
     * @param disconnectCause The reason for the disconnection, as specified by
     *         {@link DisconnectCause}.
     * @param message Optional call-service-provided message about the disconnect.
     */
    public final void setDisconnected(int cause, String message) {
        mDisconnectCause = cause;
        mDisconnectMessage = message;
    public final void setDisconnected(DisconnectCause disconnectCause) {
        mDisconnectCause = disconnectCause;
        setState(STATE_DISCONNECTED);
        Log.d(this, "Disconnected with cause %d message %s", cause, message);
        Log.d(this, "Disconnected with cause %d message %s", disconnectCause);
        for (Listener l : mListeners) {
            l.onDisconnected(this, cause, message);
            l.onDisconnected(this, disconnectCause);
        }
    }

@@ -1071,26 +1060,24 @@ public abstract class Connection {
    }

    private static class FailureSignalingConnection extends Connection {
        public FailureSignalingConnection(int cause, String message) {
            setDisconnected(cause, message);
        public FailureSignalingConnection(DisconnectCause disconnectCause) {
            setDisconnected(disconnectCause);
        }
    }

    /**
     * Return a {@code Connection} which represents a failed connection attempt. The returned
     * {@code Connection} will have a {@link #getDisconnectCause()} and
     * {@link #getDisconnectMessage()} as specified, and a {@link #getState()} of
     * {@link #STATE_DISCONNECTED}.
     * {@code Connection} will have a {@link android.telecom.DisconnectCause} and as specified,
     * and a {@link #getState()} of {@link #STATE_DISCONNECTED}.
     * <p>
     * The returned {@code Connection} can be assumed to {@link #destroy()} itself when appropriate,
     * so users of this method need not maintain a reference to its return value to destroy it.
     *
     * @param cause The disconnect cause, ({@see DisconnectCause}).
     * @param message A reason for why the connection failed (not intended to be shown to the user).
     * @param disconnectCause The disconnect cause, ({@see android.telecomm.DisconnectCause}).
     * @return A {@code Connection} which indicates failure.
     */
    public static Connection createFailedConnection(int cause, String message) {
        return new FailureSignalingConnection(cause, message);
    public static Connection createFailedConnection(DisconnectCause disconnectCause) {
        return new FailureSignalingConnection(disconnectCause);
    }

    /**
@@ -1105,7 +1092,7 @@ public abstract class Connection {
     * @return A {@code Connection} which indicates that the underlying call should be canceled.
     */
    public static Connection createCanceledConnection() {
        return new FailureSignalingConnection(DisconnectCause.OUTGOING_CANCELED, null);
        return new FailureSignalingConnection(new DisconnectCause(DisconnectCause.CANCELED));
    }

    private final void  fireOnConferenceableConnectionsChanged() {
Loading