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

Commit b54789d1 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Add new API to notify CallRedirectionService timed out." am: 5a5c3d75...

Merge "Add new API to notify CallRedirectionService timed out." am: 5a5c3d75 am: 423dd00f am: 811de5db am: 5ca31323

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

Change-Id: I3be06d248fa889535165c585ceece99c1302c75a
parents 6af42b5c 5ca31323
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -39674,6 +39674,7 @@ package android.telecom {
    method public final void cancelCall();
    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
    method public abstract void onPlaceCall(@NonNull android.net.Uri, @NonNull android.telecom.PhoneAccountHandle, boolean);
    method public void onRedirectionTimeout();
    method public final boolean onUnbind(@NonNull android.content.Intent);
    method public final void placeCallUnmodified();
    method public final void redirectCall(@NonNull android.net.Uri, @NonNull android.telecom.PhoneAccountHandle, boolean);
+25 −0
Original line number Diff line number Diff line
@@ -88,6 +88,13 @@ public abstract class CallRedirectionService extends Service {
                                     @NonNull PhoneAccountHandle initialPhoneAccount,
                                     boolean allowInteractiveResponse);

    /**
     * Telecom calls this method when times out waiting for the {@link CallRedirectionService} to
     * call {@link #placeCallUnmodified()}, {@link #redirectCall(Uri, PhoneAccountHandle, boolean)},
     * or {@link #cancelCall()}
     */
    public void onRedirectionTimeout() {}

    /**
     * The implemented {@link CallRedirectionService} calls this method to response a request
     * received via {@link #onPlaceCall(Uri, PhoneAccountHandle, boolean)} to inform Telecom that
@@ -166,6 +173,12 @@ public abstract class CallRedirectionService extends Service {
     */
    private static final int MSG_PLACE_CALL = 1;

    /**
     * A handler message to process the attempt to notify the operation of redirection service timed
     * out from Telecom
     */
    private static final int MSG_TIMEOUT = 2;

    /**
     * A handler to process the attempt to place call with redirection service from Telecom
     */
@@ -183,6 +196,9 @@ public abstract class CallRedirectionService extends Service {
                        args.recycle();
                    }
                    break;
                case MSG_TIMEOUT:
                    onRedirectionTimeout();
                    break;
            }
        }
    };
@@ -209,6 +225,15 @@ public abstract class CallRedirectionService extends Service {
            args.arg4 = allowInteractiveResponse;
            mHandler.obtainMessage(MSG_PLACE_CALL, args).sendToTarget();
        }

        /**
         * Telecom calls this method to inform the CallRedirectionService of the timeout waiting for
         * it to complete its operation.
         */
        @Override
        public void notifyTimeout() {
            mHandler.obtainMessage(MSG_TIMEOUT).sendToTarget();
        }
    }

    @Override
+2 −0
Original line number Diff line number Diff line
@@ -31,4 +31,6 @@ import com.android.internal.telecom.ICallRedirectionAdapter;
oneway interface ICallRedirectionService {
    void placeCall(in ICallRedirectionAdapter adapter, in Uri handle,
            in PhoneAccountHandle initialPhoneAccount, boolean allowInteractiveResponse);

    void notifyTimeout();
}