From 3a4e55169e4e5490ee049b9145dce50835f14e89 Mon Sep 17 00:00:00 2001 From: Chris Peterson Date: Tue, 7 Aug 2012 16:14:23 -0700 Subject: [PATCH] Bug 781038 - Part 2: Extract setSpan() and setSelection() boilerplate into a convenience method. r=blassey --- mobile/android/base/GeckoInputConnection.java | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/mobile/android/base/GeckoInputConnection.java b/mobile/android/base/GeckoInputConnection.java index 45f866a4483..aa3058f5fc7 100644 --- a/mobile/android/base/GeckoInputConnection.java +++ b/mobile/android/base/GeckoInputConnection.java @@ -95,8 +95,7 @@ class GeckoInputConnection private int mCompositionStart = NO_COMPOSITION_STRING; private boolean mCommittingText; private KeyCharacterMap mKeyCharacterMap; - private Editable mEditable; - private Editable.Factory mEditableFactory; + private final Editable mEditable; private boolean mBatchMode; private ExtractedTextRequest mUpdateRequest; private final ExtractedText mUpdateExtract = new ExtractedText(); @@ -110,9 +109,8 @@ class GeckoInputConnection protected GeckoInputConnection(View targetView) { super(targetView, true); - - mEditableFactory = Editable.Factory.getInstance(); - initEditable(""); + mEditable = Editable.Factory.getInstance().newEditable(""); + spanAndSelectEditable(); mIMEState = IME_STATE_DISABLED; mIMETypeHint = ""; mIMEActionHint = ""; @@ -1152,16 +1150,13 @@ class GeckoInputConnection int prevLength = mEditable.length(); mEditable.removeSpan(this); mEditable.replace(0, prevLength, contents); - int newLength = mEditable.length(); - mEditable.setSpan(this, 0, newLength, Spanned.SPAN_INCLUSIVE_INCLUSIVE); - Selection.setSelection(mEditable, newLength); + spanAndSelectEditable(); } - private void initEditable(String contents) { - mEditable = mEditableFactory.newEditable(contents); - int newLength = mEditable.length(); - mEditable.setSpan(this, 0, newLength, Spanned.SPAN_INCLUSIVE_INCLUSIVE); - Selection.setSelection(mEditable, newLength); + private void spanAndSelectEditable() { + int length = mEditable.length(); + mEditable.setSpan(this, 0, length, Spanned.SPAN_INCLUSIVE_INCLUSIVE); + Selection.setSelection(mEditable, length); } protected final boolean hasCompositionString() {