Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(136)

Side by Side Diff: content/public/android/java/src/org/chromium/content/browser/input/ReplicaInputConnection.java

Issue 1589953005: Support InputMethodManager#updateCursorAnchorInfo for Android 5.0 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed comments in #38 Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.content.browser.input; 5 package org.chromium.content.browser.input;
6 6
7 import android.annotation.TargetApi;
8 import android.os.Build;
7 import android.os.Handler; 9 import android.os.Handler;
8 import android.os.Looper; 10 import android.os.Looper;
9 import android.text.Editable; 11 import android.text.Editable;
10 import android.text.Selection; 12 import android.text.Selection;
11 import android.view.KeyCharacterMap; 13 import android.view.KeyCharacterMap;
12 import android.view.KeyEvent; 14 import android.view.KeyEvent;
13 import android.view.View; 15 import android.view.View;
14 import android.view.inputmethod.BaseInputConnection; 16 import android.view.inputmethod.BaseInputConnection;
15 import android.view.inputmethod.EditorInfo; 17 import android.view.inputmethod.EditorInfo;
16 import android.view.inputmethod.ExtractedText; 18 import android.view.inputmethod.ExtractedText;
(...skipping 442 matching lines...) Expand 10 before | Expand all | Expand 10 after
459 } 461 }
460 462
461 @Override 463 @Override
462 public void unblockOnUiThread() {} 464 public void unblockOnUiThread() {}
463 465
464 @Override 466 @Override
465 public Handler getHandler() { 467 public Handler getHandler() {
466 return mHandler; 468 return mHandler;
467 } 469 }
468 470
471 /**
472 * @see BaseInputConnection#requestCursorUpdates(int)
473 */
474 @TargetApi(Build.VERSION_CODES.LOLLIPOP)
475 @Override
476 public boolean requestCursorUpdates(int cursorUpdateMode) {
477 return mImeAdapter.onRequestCursorUpdates(cursorUpdateMode);
478 }
479
469 @VisibleForTesting 480 @VisibleForTesting
470 static class ImeState { 481 static class ImeState {
471 public final String text; 482 public final String text;
472 public final int selectionStart; 483 public final int selectionStart;
473 public final int selectionEnd; 484 public final int selectionEnd;
474 public final int compositionStart; 485 public final int compositionStart;
475 public final int compositionEnd; 486 public final int compositionEnd;
476 487
477 public ImeState(String text, int selectionStart, int selectionEnd, int c ompositionStart, 488 public ImeState(String text, int selectionStart, int selectionEnd, int c ompositionStart,
478 int compositionEnd) { 489 int compositionEnd) {
479 this.text = text; 490 this.text = text;
480 this.selectionStart = selectionStart; 491 this.selectionStart = selectionStart;
481 this.selectionEnd = selectionEnd; 492 this.selectionEnd = selectionEnd;
482 this.compositionStart = compositionStart; 493 this.compositionStart = compositionStart;
483 this.compositionEnd = compositionEnd; 494 this.compositionEnd = compositionEnd;
484 } 495 }
485 } 496 }
486 497
487 @VisibleForTesting 498 @VisibleForTesting
488 ImeState getImeStateForTesting() { 499 ImeState getImeStateForTesting() {
489 String text = mEditable.toString(); 500 String text = mEditable.toString();
490 int selectionStart = Selection.getSelectionStart(mEditable); 501 int selectionStart = Selection.getSelectionStart(mEditable);
491 int selectionEnd = Selection.getSelectionEnd(mEditable); 502 int selectionEnd = Selection.getSelectionEnd(mEditable);
492 int compositionStart = getComposingSpanStart(mEditable); 503 int compositionStart = getComposingSpanStart(mEditable);
493 int compositionEnd = getComposingSpanEnd(mEditable); 504 int compositionEnd = getComposingSpanEnd(mEditable);
494 return new ImeState(text, selectionStart, selectionEnd, compositionStart , compositionEnd); 505 return new ImeState(text, selectionStart, selectionEnd, compositionStart , compositionEnd);
495 } 506 }
496 } 507 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698