Use InputMethodSettingsFragment

Bug: 4979539

Change-Id: I4f2010f785eb29ccd42b488c402ef9957633e0c2
diff --git a/java/Android.mk b/java/Android.mk
index 60c321a..43168e5 100644
--- a/java/Android.mk
+++ b/java/Android.mk
@@ -12,6 +12,7 @@
 LOCAL_JNI_SHARED_LIBRARIES := libjni_latinime
 
 LOCAL_STATIC_JAVA_LIBRARIES := android-common
+LOCAL_STATIC_JAVA_LIBRARIES += inputmethod-common
 
 # Do not compress dictionary files to mmap dict data runtime
 LOCAL_AAPT_FLAGS := -0 .dict
diff --git a/java/res/values/strings.xml b/java/res/values/strings.xml
index f7d43f2..739f72f 100644
--- a/java/res/values/strings.xml
+++ b/java/res/values/strings.xml
@@ -304,6 +304,9 @@
     <!-- Title for input language selection screen -->
     <string name="language_selection_title">Input languages</string>
 
+    <!-- Preference for input language selection -->
+    <string name="select_language">Select input languages</string>
+
     <!-- Add to dictionary hint -->
     <string name="hint_add_to_dictionary">\u2190 Touch again to save</string>
 
diff --git a/java/src/com/android/inputmethod/latin/Settings.java b/java/src/com/android/inputmethod/latin/Settings.java
index 1851973..9b81997 100644
--- a/java/src/com/android/inputmethod/latin/Settings.java
+++ b/java/src/com/android/inputmethod/latin/Settings.java
@@ -21,6 +21,7 @@
 import com.android.inputmethod.compat.InputMethodServiceCompatWrapper;
 import com.android.inputmethod.deprecated.VoiceProxy;
 import com.android.inputmethod.compat.VibratorCompatWrapper;
+import com.android.inputmethodcommon.InputMethodSettingsFragment;
 
 import android.app.Activity;
 import android.app.AlertDialog;
@@ -49,7 +50,7 @@
 import java.util.Arrays;
 import java.util.Locale;
 
-public class Settings extends PreferenceActivity
+public class Settings extends InputMethodSettingsFragment
         implements SharedPreferences.OnSharedPreferenceChangeListener,
         DialogInterface.OnDismissListener, OnPreferenceClickListener {
     private static final String TAG = "Settings";
@@ -331,6 +332,8 @@
     @Override
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
+        setInputMethodSettingsCategoryTitle(R.string.language_selection_title);
+        setSubtypeEnablerTitle(R.string.select_language);
         final Resources res = getResources();
         final Context context = getActivityInternal();
 
diff --git a/java/src/com/android/inputmethod/latin/SettingsActivity.java b/java/src/com/android/inputmethod/latin/SettingsActivity.java
index 2da171a..7a6c2ef 100644
--- a/java/src/com/android/inputmethod/latin/SettingsActivity.java
+++ b/java/src/com/android/inputmethod/latin/SettingsActivity.java
@@ -16,5 +16,15 @@
 
 package com.android.inputmethod.latin;
 
-public class SettingsActivity extends Settings {
+import android.content.Intent;
+import android.preference.PreferenceActivity;
+
+public class SettingsActivity extends PreferenceActivity {
+    @Override
+    public Intent getIntent() {
+        final Intent modIntent = new Intent(super.getIntent());
+        modIntent.putExtra(EXTRA_SHOW_FRAGMENT, Settings.class.getName());
+        modIntent.putExtra(EXTRA_NO_HEADERS, true);
+        return modIntent;
+    }
 }