From 48df380f78215f1917c73cbdc9a124d4c9cd29d8 Mon Sep 17 00:00:00 2001
From: Jean Chalard <jchalard@google.com>
Date: Fri, 24 Jan 2014 11:38:07 +0900
Subject: [PATCH] [IL77] Remove refs to Settings from InputLogic

Bug: 8636060
Change-Id: I4ce5c9b62181ce8593a453ce222ae7d1fdc08f07
---
 java/src/com/android/inputmethod/latin/LatinIME.java |  5 +++--
 .../inputmethod/latin/inputlogic/InputLogic.java     | 12 +++---------
 2 files changed, 6 insertions(+), 11 deletions(-)

diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 5d284cd51a..4607bd564f 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -1183,7 +1183,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
     // the right layout.
     // TODO[IL]: Remove this, pass the input logic to the keyboard switcher instead?
     public int getCurrentAutoCapsState() {
-        return mInputLogic.getCurrentAutoCapsState(null /* optionalSettingsValues */);
+        return mInputLogic.getCurrentAutoCapsState(Settings.getInstance().getCurrent());
     }
 
     // Called from the KeyboardSwitcher which needs to know recaps state to display
@@ -1289,7 +1289,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
             mSubtypeSwitcher.switchToShortcutIME(this);
             // Still call the *#onCodeInput methods for readability.
         }
-        mInputLogic.onCodeInput(codeToSend, keyX, keyY, mHandler, mKeyboardSwitcher);
+        mInputLogic.onCodeInput(codeToSend, keyX, keyY, Settings.getInstance().getCurrent(),
+                mHandler, mKeyboardSwitcher);
         mKeyboardSwitcher.onCodeInput(codePoint);
     }
 
diff --git a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
index 7a6ac605f0..6e35432162 100644
--- a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
+++ b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
@@ -42,7 +42,6 @@ import com.android.inputmethod.latin.SuggestedWords;
 import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo;
 import com.android.inputmethod.latin.WordComposer;
 import com.android.inputmethod.latin.define.ProductionFlag;
-import com.android.inputmethod.latin.settings.Settings;
 import com.android.inputmethod.latin.settings.SettingsValues;
 import com.android.inputmethod.latin.settings.SpacingAndPunctuations;
 import com.android.inputmethod.latin.utils.AsyncResultHolder;
@@ -191,12 +190,12 @@ public final class InputLogic {
      * @param y the y-coordinate where the user pressed the key, or NOT_A_COORDINATE.
      */
     public void onCodeInput(final int code, final int x, final int y,
+            final SettingsValues settingsValues,
             // TODO: remove these two arguments
             final LatinIME.UIHandler handler, final KeyboardSwitcher keyboardSwitcher) {
         if (ProductionFlag.USES_DEVELOPMENT_ONLY_DIAGNOSTICS) {
             ResearchLogger.latinIME_onCodeInput(code, x, y);
         }
-        final SettingsValues settingsValues = Settings.getInstance().getCurrent();
         final long when = SystemClock.uptimeMillis();
         if (code != Constants.CODE_DELETE
                 || when > mLastKeyTime + Constants.LONG_PRESS_MILLISECONDS) {
@@ -1255,15 +1254,10 @@ public final class InputLogic {
      * This is called from the KeyboardSwitcher (through a trampoline in LatinIME) because it
      * needs to know auto caps state to display the right layout.
      *
-     * @param optionalSettingsValues settings values, or null if we should just get the current ones
-     *   from the singleton.
+     * @param settingsValues the relevant settings values
      * @return a caps mode from TextUtils.CAP_MODE_* or Constants.TextUtils.CAP_MODE_OFF.
      */
-    public int getCurrentAutoCapsState(final SettingsValues optionalSettingsValues) {
-        // If we are in a batch edit, we need to use the same settings values as the outside
-        // code, that will pass it to us. Otherwise, we can just take the current values.
-        final SettingsValues settingsValues = null != optionalSettingsValues
-                ? optionalSettingsValues : Settings.getInstance().getCurrent();
+    public int getCurrentAutoCapsState(final SettingsValues settingsValues) {
         if (!settingsValues.mAutoCap) return Constants.TextUtils.CAP_MODE_OFF;
 
         final EditorInfo ei = getCurrentInputEditorInfo();
-- 
GitLab