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

Commit 423dd00f 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

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

Change-Id: I8eeb95915b9b8f7dd66bf0e9bc16b0333f09b77b
parents 870e9c26 5a5c3d75
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -38094,6 +38094,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
@@ -157,6 +164,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
     */
@@ -174,6 +187,9 @@ public abstract class CallRedirectionService extends Service {
                        args.recycle();
                    }
                    break;
                case MSG_TIMEOUT:
                    onRedirectionTimeout();
                    break;
            }
        }
    };
@@ -200,6 +216,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();
}