Merge "Reorganize suggestion related unit test"
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 67a9f32..fcd9229 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -81,8 +81,7 @@
 /**
  * Input method implementation for Qwerty'ish keyboard.
  */
-public class LatinIME extends InputMethodService implements KeyboardActionListener,
-        SharedPreferences.OnSharedPreferenceChangeListener {
+public class LatinIME extends InputMethodService implements KeyboardActionListener {
     private static final String TAG = "LatinIME";
     private static final boolean PERF_DEBUG = false;
     private static final boolean TRACE = false;
@@ -395,7 +394,6 @@
         filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
         registerReceiver(mReceiver, filter);
         mVoiceConnector = VoiceIMEConnector.init(this, prefs, mHandler);
-        prefs.registerOnSharedPreferenceChangeListener(this);
     }
 
     /**
@@ -1942,19 +1940,6 @@
     }
 
     @Override
-    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
-            String key) {
-        mSubtypeSwitcher.onSharedPreferenceChanged(sharedPreferences, key);
-        if (Settings.PREF_SELECTED_LANGUAGES.equals(key)) {
-            mRefreshKeyboardRequired = true;
-        } else if (Settings.PREF_RECORRECTION_ENABLED.equals(key)) {
-            mReCorrectionEnabled = sharedPreferences.getBoolean(
-                    Settings.PREF_RECORRECTION_ENABLED,
-                    mResources.getBoolean(R.bool.config_default_recorrection_enabled));
-        }
-    }
-
-    @Override
     public void onSwipeDown() {
         if (mConfigSwipeDownDismissKeyboardEnabled)
             handleClose();
diff --git a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
index d8c89a0..dee3da4 100644
--- a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
+++ b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
@@ -472,14 +472,6 @@
         }
     }
 
-    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
-        if (mConfigUseSpacebarLanguageSwitcher) {
-            if (Settings.PREF_SELECTED_LANGUAGES.equals(key)) {
-                mLanguageSwitcher.loadLocales(sharedPreferences);
-            }
-        }
-    }
-
     /**
      * Change system locale for this application
      * @param newLocale
diff --git a/java/src/com/android/inputmethod/latin/Utils.java b/java/src/com/android/inputmethod/latin/Utils.java
index e980d3a..aafafbf 100644
--- a/java/src/com/android/inputmethod/latin/Utils.java
+++ b/java/src/com/android/inputmethod/latin/Utils.java
@@ -261,6 +261,19 @@
         return dp[sl][tl];
     }
 
+    // Get the current stack trace
+    public static String getStackTrace() {
+        StringBuilder sb = new StringBuilder();
+        try {
+            throw new RuntimeException();
+        } catch (RuntimeException e) {
+            StackTraceElement[] frames = e.getStackTrace();
+            // Start at 1 because the first frame is here and we don't care about it
+            for (int j = 1; j < frames.length; ++j) sb.append(frames[j].toString() + "\n");
+        }
+        return sb.toString();
+    }
+
     // In dictionary.cpp, getSuggestion() method,
     // suggestion scores are computed using the below formula.
     // original score (called 'frequency')