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

Commit 5a5c3d75 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Add new API to notify CallRedirectionService timed out."

parents 6efa908b 5400101e
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -38094,6 +38094,7 @@ package android.telecom {
    method public final void cancelCall();
    method public final void cancelCall();
    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
    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 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 boolean onUnbind(@NonNull android.content.Intent);
    method public final void placeCallUnmodified();
    method public final void placeCallUnmodified();
    method public final void redirectCall(@NonNull android.net.Uri, @NonNull android.telecom.PhoneAccountHandle, boolean);
    method public final void redirectCall(@NonNull android.net.Uri, @NonNull android.telecom.PhoneAccountHandle, boolean);
+25 −0
Original line number Original line Diff line number Diff line
@@ -88,6 +88,13 @@ public abstract class CallRedirectionService extends Service {
                                     @NonNull PhoneAccountHandle initialPhoneAccount,
                                     @NonNull PhoneAccountHandle initialPhoneAccount,
                                     boolean allowInteractiveResponse);
                                     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
     * The implemented {@link CallRedirectionService} calls this method to response a request
     * received via {@link #onPlaceCall(Uri, PhoneAccountHandle, boolean)} to inform Telecom that
     * 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;
    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
     * 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();
                        args.recycle();
                    }
                    }
                    break;
                    break;
                case MSG_TIMEOUT:
                    onRedirectionTimeout();
                    break;
            }
            }
        }
        }
    };
    };
@@ -200,6 +216,15 @@ public abstract class CallRedirectionService extends Service {
            args.arg4 = allowInteractiveResponse;
            args.arg4 = allowInteractiveResponse;
            mHandler.obtainMessage(MSG_PLACE_CALL, args).sendToTarget();
            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
    @Override
+2 −0
Original line number Original line Diff line number Diff line
@@ -31,4 +31,6 @@ import com.android.internal.telecom.ICallRedirectionAdapter;
oneway interface ICallRedirectionService {
oneway interface ICallRedirectionService {
    void placeCall(in ICallRedirectionAdapter adapter, in Uri handle,
    void placeCall(in ICallRedirectionAdapter adapter, in Uri handle,
            in PhoneAccountHandle initialPhoneAccount, boolean allowInteractiveResponse);
            in PhoneAccountHandle initialPhoneAccount, boolean allowInteractiveResponse);

    void notifyTimeout();
}
}