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

Commit 3ef68803 authored by Bryce Lee's avatar Bryce Lee Committed by Android Git Automerger
Browse files

am ad9a0efc: Merge "Add capability for a connection hand rejection text response." into cw-e-dev

* commit 'ad9a0efc':
  Add capability for a connection hand rejection text response.
parents 59f3c342 ad9a0efc
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -206,8 +206,14 @@ public final class Call {
         */
        public static final int CAPABILITY_CAN_PAUSE_VIDEO = 0x00100000;

        /**
         * Call sends responses through connection.
         * @hide
         */
        public static final int CAPABILITY_CAN_SEND_RESPONSE_VIA_CONNECTION = 0x00400000;

        //******************************************************************************************
        // Next CAPABILITY value: 0x00004000
        // Next CAPABILITY value: 0x00800000
        //******************************************************************************************

        /**
+19 −1
Original line number Diff line number Diff line
@@ -248,8 +248,15 @@ public abstract class Connection extends Conferenceable {
     */
    public static final int CAPABILITY_CONFERENCE_HAS_NO_CHILDREN = 0x00200000;

    /**
     * Indicates that the connection itself wants to handle any sort of reply response, rather than
     * relying on SMS.
     * @hide
     */
    public static final int CAPABILITY_CAN_SEND_RESPONSE_VIA_CONNECTION = 0x00400000;

    //**********************************************************************************************
    // Next CAPABILITY value: 0x00400000
    // Next CAPABILITY value: 0x00800000
    //**********************************************************************************************

    /**
@@ -388,6 +395,10 @@ public abstract class Connection extends Conferenceable {
        if (can(capabilities, CAPABILITY_CONFERENCE_HAS_NO_CHILDREN)) {
            builder.append(" CAPABILITY_SINGLE_PARTY_CONFERENCE");
        }
        if (can(capabilities, CAPABILITY_CAN_SEND_RESPONSE_VIA_CONNECTION)) {
            builder.append(" CAPABILITY_CAN_SEND_RESPONSE_VIA_CONNECTION");
        }

        builder.append("]");
        return builder.toString();
    }
@@ -1762,6 +1773,13 @@ public abstract class Connection extends Conferenceable {
     */
    public void onReject() {}

    /**
     * Notifies ths Connection of a request reject with a message.
     *
     * @hide
     */
    public void onReject(String replyMessage) {}

    /**
     * Notifies this Connection whether the user wishes to proceed with the post-dial DTMF codes.
     */
+23 −0
Original line number Diff line number Diff line
@@ -101,6 +101,7 @@ public abstract class ConnectionService extends Service {
    private static final int MSG_ANSWER_VIDEO = 17;
    private static final int MSG_MERGE_CONFERENCE = 18;
    private static final int MSG_SWAP_CONFERENCE = 19;
    private static final int MSG_REJECT_WITH_MESSAGE = 20;

    private static Connection sNullConnection;

@@ -165,6 +166,14 @@ public abstract class ConnectionService extends Service {
            mHandler.obtainMessage(MSG_REJECT, callId).sendToTarget();
        }

        @Override
        public void rejectWithMessage(String callId, String message) {
            SomeArgs args = SomeArgs.obtain();
            args.arg1 = callId;
            args.arg2 = message;
            mHandler.obtainMessage(MSG_REJECT_WITH_MESSAGE, args).sendToTarget();
        }

        @Override
        public void disconnect(String callId) {
            mHandler.obtainMessage(MSG_DISCONNECT, callId).sendToTarget();
@@ -296,6 +305,15 @@ public abstract class ConnectionService extends Service {
                case MSG_REJECT:
                    reject((String) msg.obj);
                    break;
                case MSG_REJECT_WITH_MESSAGE: {
                    SomeArgs args = (SomeArgs) msg.obj;
                    try {
                        reject((String) args.arg1, (String) args.arg2);
                    } finally {
                        args.recycle();
                    }
                    break;
                }
                case MSG_DISCONNECT:
                    disconnect((String) msg.obj);
                    break;
@@ -681,6 +699,11 @@ public abstract class ConnectionService extends Service {
        findConnectionForAction(callId, "reject").onReject();
    }

    private void reject(String callId, String rejectWithMessage) {
        Log.d(this, "reject %s with message", callId);
        findConnectionForAction(callId, "reject").onReject(rejectWithMessage);
    }

    private void disconnect(String callId) {
        Log.d(this, "disconnect %s", callId);
        if (mConnectionById.containsKey(callId)) {
+2 −0
Original line number Diff line number Diff line
@@ -50,6 +50,8 @@ oneway interface IConnectionService {

    void reject(String callId);

    void rejectWithMessage(String callId, String message);

    void disconnect(String callId);

    void hold(String callId);