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

Commit 851377f9 authored by Yohei Yukawa's avatar Yohei Yukawa Committed by Android (Google) Code Review
Browse files

Merge "API Review: InputConnection" into lmp-dev

parents e21b5641 d8636ea7
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -35798,7 +35798,7 @@ package android.view.inputmethod {
    method public boolean performPrivateCommand(java.lang.String, android.os.Bundle);
    method public static final void removeComposingSpans(android.text.Spannable);
    method public boolean reportFullscreenMode(boolean);
    method public boolean requestUpdateCursorAnchorInfo(int);
    method public boolean requestCursorUpdates(int);
    method public boolean sendKeyEvent(android.view.KeyEvent);
    method public boolean setComposingRegion(int, int);
    method public static void setComposingSpans(android.text.Spannable);
@@ -35957,15 +35957,15 @@ package android.view.inputmethod {
    method public abstract boolean performEditorAction(int);
    method public abstract boolean performPrivateCommand(java.lang.String, android.os.Bundle);
    method public abstract boolean reportFullscreenMode(boolean);
    method public abstract boolean requestUpdateCursorAnchorInfo(int);
    method public abstract boolean requestCursorUpdates(int);
    method public abstract boolean sendKeyEvent(android.view.KeyEvent);
    method public abstract boolean setComposingRegion(int, int);
    method public abstract boolean setComposingText(java.lang.CharSequence, int);
    method public abstract boolean setSelection(int, int);
    field public static final int CURSOR_UPDATE_IMMEDIATE = 1; // 0x1
    field public static final int CURSOR_UPDATE_MONITOR = 2; // 0x2
    field public static final int GET_EXTRACTED_TEXT_MONITOR = 1; // 0x1
    field public static final int GET_TEXT_WITH_STYLES = 1; // 0x1
    field public static final int REQUEST_UPDATE_CURSOR_ANCHOR_INFO_IMMEDIATE = 1; // 0x1
    field public static final int REQUEST_UPDATE_CURSOR_ANCHOR_INFO_MONITOR = 2; // 0x2
  }
  public class InputConnectionWrapper implements android.view.inputmethod.InputConnection {
@@ -35987,7 +35987,7 @@ package android.view.inputmethod {
    method public boolean performEditorAction(int);
    method public boolean performPrivateCommand(java.lang.String, android.os.Bundle);
    method public boolean reportFullscreenMode(boolean);
    method public boolean requestUpdateCursorAnchorInfo(int);
    method public boolean requestCursorUpdates(int);
    method public boolean sendKeyEvent(android.view.KeyEvent);
    method public boolean setComposingRegion(int, int);
    method public boolean setComposingText(java.lang.CharSequence, int);
+14 −0
Original line number Diff line number Diff line
@@ -50,6 +50,10 @@ package android.view {

package android.view.inputmethod {

  public class BaseInputConnection implements android.view.inputmethod.InputConnection {
    method public final boolean requestUpdateCursorAnchorInfo(int);
  }

  public final class CursorAnchorInfo implements android.os.Parcelable {
    method public boolean isInsertionMarkerClipped();
    field public static final int CHARACTER_RECT_TYPE_FULLY_VISIBLE = 1; // 0x1
@@ -64,6 +68,16 @@ package android.view.inputmethod {
    method public android.view.inputmethod.CursorAnchorInfo.Builder setInsertionMarkerLocation(float, float, float, float, boolean);
  }

  public abstract interface InputConnection {
    method public abstract boolean requestUpdateCursorAnchorInfo(int);
    field public static final int REQUEST_UPDATE_CURSOR_ANCHOR_INFO_MONITOR = 2; // 0x2
    field public static final int REQUEST_UPDATE_CURSOR_UPDATE_IMMEDIATE = 1; // 0x1
  }

  public class InputConnectionWrapper implements android.view.inputmethod.InputConnection {
    method public final boolean requestUpdateCursorAnchorInfo(int);
  }

}

package com.android.internal {
+9 −1
Original line number Diff line number Diff line
@@ -431,7 +431,15 @@ public class BaseInputConnection implements InputConnection {
    /**
     * The default implementation does nothing.
     */
    public boolean requestUpdateCursorAnchorInfo(int cursorUpdateMode) {
    public boolean requestCursorUpdates(int cursorUpdateMode) {
        return false;
    }

    /**
     * The default implementation does nothing.
     * @removed
     */
    public final boolean requestUpdateCursorAnchorInfo(int cursorUpdateMode) {
        return false;
    }

+23 −7
Original line number Diff line number Diff line
@@ -728,31 +728,47 @@ public interface InputConnection {
     * The editor is requested to call
     * {@link InputMethodManager#updateCursorAnchorInfo(android.view.View, CursorAnchorInfo)} at
     * once, as soon as possible, regardless of cursor/anchor position changes. This flag can be
     * used together with {@link #REQUEST_UPDATE_CURSOR_ANCHOR_INFO_MONITOR}.
     * used together with {@link #CURSOR_UPDATE_MONITOR}.
     */
    public static final int REQUEST_UPDATE_CURSOR_ANCHOR_INFO_IMMEDIATE = 1 << 0;
    public static final int CURSOR_UPDATE_IMMEDIATE = 1 << 0;

    /**
     * The editor is requested to call
     * {@link InputMethodManager#updateCursorAnchorInfo(android.view.View, CursorAnchorInfo)}
     * whenever cursor/anchor position is changed. To disable monitoring, call
     * {@link InputConnection#requestUpdateCursorAnchorInfo(int)} again with this flag off.
     * {@link InputConnection#requestCursorUpdates(int)} again with this flag off.
     * <p>
     * This flag can be used together with {@link #REQUEST_UPDATE_CURSOR_ANCHOR_INFO_IMMEDIATE}.
     * This flag can be used together with {@link #CURSOR_UPDATE_IMMEDIATE}.
     * </p>
     */
    public static final int REQUEST_UPDATE_CURSOR_ANCHOR_INFO_MONITOR = 1 << 1;
    public static final int CURSOR_UPDATE_MONITOR = 1 << 1;

    /**
     * Called by the input method to ask the editor for calling back
     * {@link InputMethodManager#updateCursorAnchorInfo(android.view.View, CursorAnchorInfo)} to
     * notify cursor/anchor locations.
     *
     * @param cursorUpdateMode {@link #REQUEST_UPDATE_CURSOR_ANCHOR_INFO_IMMEDIATE} and/or
     * {@link #REQUEST_UPDATE_CURSOR_ANCHOR_INFO_MONITOR}
     * @param cursorUpdateMode {@link #CURSOR_UPDATE_IMMEDIATE} and/or
     * {@link #CURSOR_UPDATE_MONITOR}. Pass {@code 0} to disable the effect of
     * {@link #CURSOR_UPDATE_MONITOR}.
     * @return {@code true} if the request is scheduled. {@code false} to indicate that when the
     * application will not call
     * {@link InputMethodManager#updateCursorAnchorInfo(android.view.View, CursorAnchorInfo)}.
     */
    public boolean requestCursorUpdates(int cursorUpdateMode);

    /**
     * @removed
     */
    public static final int REQUEST_UPDATE_CURSOR_UPDATE_IMMEDIATE = 1 << 0;

    /**
     * @removed
     */
    public static final int REQUEST_UPDATE_CURSOR_ANCHOR_INFO_MONITOR = 1 << 1;

    /**
     * @removed
     */
    public boolean requestUpdateCursorAnchorInfo(int cursorUpdateMode);
}
+10 −3
Original line number Diff line number Diff line
@@ -126,7 +126,14 @@ public class InputConnectionWrapper implements InputConnection {
        return mTarget.performPrivateCommand(action, data);
    }

    public boolean requestUpdateCursorAnchorInfo(int cursorUpdateMode) {
        return mTarget.requestUpdateCursorAnchorInfo(cursorUpdateMode);
    public boolean requestCursorUpdates(int cursorUpdateMode) {
        return mTarget.requestCursorUpdates(cursorUpdateMode);
    }

    /**
     * @removed
     */
    public final boolean requestUpdateCursorAnchorInfo(int cursorUpdateMode) {
        return mTarget.requestCursorUpdates(cursorUpdateMode);
    }
}
Loading