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

Commit 48cba7c9 authored by Taran Singh's avatar Taran Singh Committed by Android (Google) Code Review
Browse files

Merge "API for realtime Scribe gesture preview"

parents 5dedf4cd 95baa907
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -53403,7 +53403,7 @@ package android.view.inputmethod {
    method @NonNull public android.view.inputmethod.CursorAnchorInfo.Builder setTextAppearanceInfo(@Nullable android.view.inputmethod.TextAppearanceInfo);
  }
  public final class DeleteGesture extends android.view.inputmethod.HandwritingGesture implements android.os.Parcelable {
  public final class DeleteGesture extends android.view.inputmethod.PreviewableHandwritingGesture implements android.os.Parcelable {
    method public int describeContents();
    method @NonNull public android.graphics.RectF getDeletionArea();
    method public int getGranularity();
@@ -53419,7 +53419,7 @@ package android.view.inputmethod {
    method @NonNull public android.view.inputmethod.DeleteGesture.Builder setGranularity(int);
  }
  public final class DeleteRangeGesture extends android.view.inputmethod.HandwritingGesture implements android.os.Parcelable {
  public final class DeleteRangeGesture extends android.view.inputmethod.PreviewableHandwritingGesture implements android.os.Parcelable {
    method public int describeContents();
    method @NonNull public android.graphics.RectF getDeletionEndArea();
    method @NonNull public android.graphics.RectF getDeletionStartArea();
@@ -53461,11 +53461,13 @@ package android.view.inputmethod {
    method @Nullable public CharSequence getInitialTextAfterCursor(@IntRange(from=0) int, int);
    method @Nullable public CharSequence getInitialTextBeforeCursor(@IntRange(from=0) int, int);
    method public int getInitialToolType();
    method @NonNull public java.util.Set<java.lang.Class<? extends android.view.inputmethod.PreviewableHandwritingGesture>> getSupportedHandwritingGesturePreviews();
    method @NonNull public java.util.List<java.lang.Class<? extends android.view.inputmethod.HandwritingGesture>> getSupportedHandwritingGestures();
    method public final void makeCompatible(int);
    method public void setInitialSurroundingSubText(@NonNull CharSequence, int);
    method public void setInitialSurroundingText(@NonNull CharSequence);
    method public void setInitialToolType(int);
    method public void setSupportedHandwritingGesturePreviews(@NonNull java.util.Set<java.lang.Class<? extends android.view.inputmethod.PreviewableHandwritingGesture>>);
    method public void setSupportedHandwritingGestures(@NonNull java.util.List<java.lang.Class<? extends android.view.inputmethod.HandwritingGesture>>);
    method public void writeToParcel(android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.EditorInfo> CREATOR;
@@ -53640,6 +53642,7 @@ package android.view.inputmethod {
    method public default void performHandwritingGesture(@NonNull android.view.inputmethod.HandwritingGesture, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.IntConsumer);
    method public boolean performPrivateCommand(String, android.os.Bundle);
    method public default boolean performSpellCheck();
    method public default boolean previewHandwritingGesture(@NonNull android.view.inputmethod.PreviewableHandwritingGesture, @Nullable android.os.CancellationSignal);
    method public default boolean replaceText(@IntRange(from=0) int, @IntRange(from=0) int, @NonNull CharSequence, int, @Nullable android.view.inputmethod.TextAttribute);
    method public boolean reportFullscreenMode(boolean);
    method public boolean requestCursorUpdates(int);
@@ -53900,6 +53903,9 @@ package android.view.inputmethod {
    method @NonNull public android.view.inputmethod.JoinOrSplitGesture.Builder setJoinOrSplitPoint(@NonNull android.graphics.PointF);
  }
  public abstract class PreviewableHandwritingGesture extends android.view.inputmethod.HandwritingGesture {
  }
  public final class RemoveSpaceGesture extends android.view.inputmethod.HandwritingGesture implements android.os.Parcelable {
    method public int describeContents();
    method @NonNull public android.graphics.PointF getEndPoint();
@@ -53915,7 +53921,7 @@ package android.view.inputmethod {
    method @NonNull public android.view.inputmethod.RemoveSpaceGesture.Builder setPoints(@NonNull android.graphics.PointF, @NonNull android.graphics.PointF);
  }
  public final class SelectGesture extends android.view.inputmethod.HandwritingGesture implements android.os.Parcelable {
  public final class SelectGesture extends android.view.inputmethod.PreviewableHandwritingGesture implements android.os.Parcelable {
    method public int describeContents();
    method public int getGranularity();
    method @NonNull public android.graphics.RectF getSelectionArea();
@@ -53931,7 +53937,7 @@ package android.view.inputmethod {
    method @NonNull public android.view.inputmethod.SelectGesture.Builder setSelectionArea(@NonNull android.graphics.RectF);
  }
  public final class SelectRangeGesture extends android.view.inputmethod.HandwritingGesture implements android.os.Parcelable {
  public final class SelectRangeGesture extends android.view.inputmethod.PreviewableHandwritingGesture implements android.os.Parcelable {
    method public int describeContents();
    method public int getGranularity();
    method @NonNull public android.graphics.RectF getSelectionEndArea();
+22 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.annotation.NonNull;
import android.annotation.Nullable;
import android.graphics.RectF;
import android.os.Bundle;
import android.os.CancellationSignal;
import android.os.RemoteException;
import android.os.ResultReceiver;
import android.view.KeyEvent;
@@ -696,6 +697,27 @@ final class IRemoteInputConnectionInvoker {
        }
    }

    /**
     * Invokes one of {@link IRemoteInputConnection#previewHandwritingGesture(
     * InputConnectionCommandHeader, ParcelableHandwritingGesture, CancellationSignal)}
     */
    @AnyThread
    public boolean previewHandwritingGesture(
            @NonNull ParcelableHandwritingGesture gesture,
            @Nullable CancellationSignal cancellationSignal) {
        if (cancellationSignal != null && cancellationSignal.isCanceled()) {
            return false; // cancelled.
        }

        // TODO(b/254727073): Implement CancellationSignal
        try {
            mConnection.previewHandwritingGesture(createHeader(), gesture, null);
            return true;
        } catch (RemoteException e) {
            return false;
        }
    }

    /**
     * Invokes {@link IRemoteInputConnection#requestCursorUpdates(InputConnectionCommandHeader, int,
     * int, AndroidFuture)}.
+10 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import android.annotation.NonNull;
import android.annotation.Nullable;
import android.graphics.RectF;
import android.os.Bundle;
import android.os.CancellationSignal;
import android.os.Handler;
import android.util.Log;
import android.view.KeyEvent;
@@ -34,6 +35,7 @@ import android.view.inputmethod.HandwritingGesture;
import android.view.inputmethod.InputConnection;
import android.view.inputmethod.InputContentInfo;
import android.view.inputmethod.ParcelableHandwritingGesture;
import android.view.inputmethod.PreviewableHandwritingGesture;
import android.view.inputmethod.SurroundingText;
import android.view.inputmethod.TextAttribute;
import android.view.inputmethod.TextBoundsInfoResult;
@@ -426,6 +428,14 @@ final class RemoteInputConnection implements InputConnection {
                consumer);
    }

    @AnyThread
    public boolean previewHandwritingGesture(
            @NonNull PreviewableHandwritingGesture gesture,
            @Nullable CancellationSignal cancellationSignal) {
        return mInvoker.previewHandwritingGesture(ParcelableHandwritingGesture.of(gesture),
                cancellationSignal);
    }

    @AnyThread
    public boolean requestCursorUpdates(int cursorUpdateMode) {
        if (mCancellationGroup.isCanceled()) {
+1 −1
Original line number Diff line number Diff line
@@ -33,7 +33,7 @@ import java.util.Objects;
 * <p>Note: This deletes all text <em>within</em> the given area. To delete a range <em>between</em>
 * two areas, use {@link DeleteRangeGesture}.</p>
 */
public final class DeleteGesture extends HandwritingGesture implements Parcelable {
public final class DeleteGesture extends PreviewableHandwritingGesture implements Parcelable {

    private @Granularity int mGranularity;
    private RectF mArea;
+1 −1
Original line number Diff line number Diff line
@@ -34,7 +34,7 @@ import java.util.Objects;
 * <p>Note: this deletes text within a range <em>between</em> two given areas. To delete all text
 * <em>within</em> a single area, use {@link DeleteGesture}.</p>
 */
public final class DeleteRangeGesture extends HandwritingGesture implements Parcelable {
public final class DeleteRangeGesture extends PreviewableHandwritingGesture implements Parcelable {

    private @Granularity int mGranularity;
    private RectF mStartArea;
Loading