Merge "Do not triggerVoiceIME at changing subtype if IME is not shown." into honeycomb
diff --git a/java/res/values/dimens.xml b/java/res/values/dimens.xml
index 504e007..7f00cdb 100644
--- a/java/res/values/dimens.xml
+++ b/java/res/values/dimens.xml
@@ -51,7 +51,7 @@
<dimen name="candidate_strip_fading_edge_length">63dip</dimen>
<dimen name="candidate_strip_padding">0dip</dimen>
<dimen name="candidate_min_width">0.3in</dimen>
- <dimen name="candidate_padding">0dip</dimen>
+ <dimen name="candidate_padding">6dip</dimen>
<dimen name="candidate_text_size">18dip</dimen>
<dimen name="spacebar_vertical_correction">4dip</dimen>
<!-- If the screen height in landscape is larger than the below value, then the keyboard
diff --git a/java/res/values/strings.xml b/java/res/values/strings.xml
index 6d05012..22040d5 100644
--- a/java/res/values/strings.xml
+++ b/java/res/values/strings.xml
@@ -186,7 +186,7 @@
<!-- On settings screen, voice input pop-up menu summary text to never show voice key [CHAR LIMIT=20] -->
<string name="voice_input_modes_summary_off">Voice input is disabled</string>
- <!-- Menu item for launching Input method picker -->
+ <!-- Title of the dialog for selecting input methods. [CHAR LIMIT=20] -->
<string name="selectInputMethod">Select input method</string>
<!-- Title for input language selection screen -->
@@ -204,12 +204,12 @@
<string name="prefs_enable_log">Enable user feedback</string>
<!-- Description for enabling to send user statistics to Google -->
<string name="prefs_description_log">Help improve this input method editor by automatically sending usage statistics and crash reports to Google.</string>
- <!-- Preferences item for enabling to correct suggestions by touching words you have typed -->
+ <!-- Preferences item for enabling to correct suggestions by touching words you have typed [CHAR LIMIT= 35] -->
<string name="prefs_enable_recorrection">Touch to correct words</string>
- <!-- The summary for the preferences item for enabling to correct suggestions by touching words you have typed -->
+ <!-- The summary for the preferences item for enabling to correct suggestions by touching words you have typed [CHAR LIMIT= 100] -->
<string name="prefs_enable_recorrection_summary">Touch entered words to correct them, only when suggestions are visible</string>
- <!-- Description for keyboard theme switcher -->
+ <!-- Title of the item to change the keyboard theme [CHAR LIMIT=20]-->
<string name="keyboard_layout">Keyboard Theme</string>
<!-- Description for Czech keyboard subtype [CHAR LIMIT=35] -->
diff --git a/java/res/xml-xlarge/kbd_number.xml b/java/res/xml-xlarge/kbd_number.xml
index 93bc136..c2cbb31 100644
--- a/java/res/xml-xlarge/kbd_number.xml
+++ b/java/res/xml-xlarge/kbd_number.xml
@@ -132,9 +132,15 @@
latin:keyLabel="0" />
<Key
latin:keyLabel="#" />
- <Key
- latin:keyStyle="micKeyStyle"
- latin:keyWidth="8.042%p" />
+ <switch>
+ <case
+ latin:voiceKeyEnabled="true"
+ >
+ <Key
+ latin:keyStyle="micKeyStyle"
+ latin:keyWidth="8.042%p" />
+ </case>
+ </switch>
<!-- There is an empty area bellow the "Enter" key and right of the "#" key. To ignore
the touch event on the area, "#" is intentionally not marked as a right edge key. -->
</Row>
diff --git a/java/res/xml-xlarge/kbd_phone.xml b/java/res/xml-xlarge/kbd_phone.xml
index 45c2983..c320ebb 100644
--- a/java/res/xml-xlarge/kbd_phone.xml
+++ b/java/res/xml-xlarge/kbd_phone.xml
@@ -140,9 +140,15 @@
latin:keyStyle="num0KeyStyle" />
<Key
latin:keyStyle="numPoundKeyStyle" />
- <Key
- latin:keyStyle="micKeyStyle"
- latin:keyWidth="8.042%p" />
+ <switch>
+ <case
+ latin:voiceKeyEnabled="true"
+ >
+ <Key
+ latin:keyStyle="micKeyStyle"
+ latin:keyWidth="8.042%p" />
+ </case>
+ </switch>
<!-- There is an empty area bellow the "Enter" key and right of the "#" key. To ignore
the touch event on the area, "#" is intentionally not marked as a right edge key. -->
</Row>
diff --git a/java/res/xml-xlarge/kbd_phone_symbols.xml b/java/res/xml-xlarge/kbd_phone_symbols.xml
index 891ceac..da15b5a 100644
--- a/java/res/xml-xlarge/kbd_phone_symbols.xml
+++ b/java/res/xml-xlarge/kbd_phone_symbols.xml
@@ -152,9 +152,15 @@
latin:keyStyle="num0KeyStyle" />
<Key
latin:keyStyle="numPoundKeyStyle" />
- <Key
- latin:keyStyle="micKeyStyle"
- latin:keyWidth="8.042%p" />
+ <switch>
+ <case
+ latin:voiceKeyEnabled="true"
+ >
+ <Key
+ latin:keyStyle="micKeyStyle"
+ latin:keyWidth="8.042%p" />
+ </case>
+ </switch>
<!-- There is an empty area bellow the "Enter" key and right of the "#" key. To ignore
the touch event on the area, "#" is intentionally not marked as a right edge key. -->
</Row>
diff --git a/java/res/xml-xlarge/kbd_qwerty_row4.xml b/java/res/xml-xlarge/kbd_qwerty_row4.xml
index e222a6b..98acfc1 100644
--- a/java/res/xml-xlarge/kbd_qwerty_row4.xml
+++ b/java/res/xml-xlarge/kbd_qwerty_row4.xml
@@ -114,7 +114,13 @@
latin:popupCharacters="_" />
</default>
</switch>
- <Key
- latin:keyStyle="micKeyStyle" />
+ <switch>
+ <case
+ latin:voiceKeyEnabled="true"
+ >
+ <Key
+ latin:keyStyle="micKeyStyle" />
+ </case>
+ </switch>
</Row>
</merge>
diff --git a/java/res/xml-xlarge/kbd_symbols.xml b/java/res/xml-xlarge/kbd_symbols.xml
index 50b8e53..d804f79 100644
--- a/java/res/xml-xlarge/kbd_symbols.xml
+++ b/java/res/xml-xlarge/kbd_symbols.xml
@@ -162,7 +162,13 @@
latin:popupCharacters="“,”,«,»,˝" />
<Key
latin:keyLabel="_" />
- <Key
- latin:keyStyle="micKeyStyle" />
+ <switch>
+ <case
+ latin:voiceKeyEnabled="true"
+ >
+ <Key
+ latin:keyStyle="micKeyStyle" />
+ </case>
+ </switch>
</Row>
</Keyboard>
diff --git a/java/res/xml-xlarge/kbd_symbols_shift.xml b/java/res/xml-xlarge/kbd_symbols_shift.xml
index f586b1a..db33aaa 100644
--- a/java/res/xml-xlarge/kbd_symbols_shift.xml
+++ b/java/res/xml-xlarge/kbd_symbols_shift.xml
@@ -139,7 +139,13 @@
<Key
latin:keyStyle="spaceKeyStyle"
latin:keyWidth="37.454%p" />
- <Key
- latin:keyStyle="micKeyStyle" />
+ <switch>
+ <case
+ latin:voiceKeyEnabled="true"
+ >
+ <Key
+ latin:keyStyle="micKeyStyle" />
+ </case>
+ </switch>
</Row>
</Keyboard>
diff --git a/java/res/xml/prefs.xml b/java/res/xml/prefs.xml
index 3b20298..9c780cb 100644
--- a/java/res/xml/prefs.xml
+++ b/java/res/xml/prefs.xml
@@ -70,15 +70,10 @@
android:defaultValue="@string/voice_mode_main"
/>
- <!-- TODO: Filter subtypes by IME in SubtypeEnabler -->
- <!-- TODO: Maybe use this only for phone? -->
<PreferenceScreen
android:key="subtype_settings"
android:title="@string/language_selection_title"
- android:summary="@string/language_selection_summary">
- <intent
- android:action="android.settings.INPUT_METHOD_AND_SUBTYPE_ENABLER"/>
- </PreferenceScreen>
+ android:summary="@string/language_selection_summary" />
<PreferenceCategory
android:title="@string/prediction_category"
diff --git a/java/src/com/android/inputmethod/latin/Settings.java b/java/src/com/android/inputmethod/latin/Settings.java
index 3f604a3..8efeeda 100644
--- a/java/src/com/android/inputmethod/latin/Settings.java
+++ b/java/src/com/android/inputmethod/latin/Settings.java
@@ -23,13 +23,17 @@
import android.app.Dialog;
import android.app.backup.BackupManager;
import android.content.DialogInterface;
+import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Vibrator;
import android.preference.CheckBoxPreference;
import android.preference.ListPreference;
+import android.preference.Preference;
+import android.preference.Preference.OnPreferenceClickListener;
import android.preference.PreferenceActivity;
import android.preference.PreferenceGroup;
+import android.preference.PreferenceScreen;
import android.speech.SpeechRecognizer;
import android.text.AutoText;
import android.text.TextUtils;
@@ -41,7 +45,7 @@
public class Settings extends PreferenceActivity
implements SharedPreferences.OnSharedPreferenceChangeListener,
- DialogInterface.OnDismissListener {
+ DialogInterface.OnDismissListener, OnPreferenceClickListener {
private static final String TAG = "Settings";
public static final String PREF_VIBRATE_ON = "vibrate_on";
@@ -64,6 +68,7 @@
// Dialog ids
private static final int VOICE_INPUT_CONFIRM_DIALOG = 0;
+ private PreferenceScreen mInputLanguageSelection;
private CheckBoxPreference mQuickFixes;
private ListPreference mVoicePreference;
private ListPreference mSettingsKeyPreference;
@@ -84,10 +89,13 @@
final String currentSetting = mAutoCorrectionThreshold.getValue();
mBigramSuggestion.setEnabled(!currentSetting.equals(autoCorrectionOff));
}
+
@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
addPreferencesFromResource(R.xml.prefs);
+ mInputLanguageSelection = (PreferenceScreen) findPreference(PREF_SUBTYPES);
+ mInputLanguageSelection.setOnPreferenceClickListener(this);
mQuickFixes = (CheckBoxPreference) findPreference(PREF_QUICK_FIXES);
mVoicePreference = (ListPreference) findPreference(PREF_VOICE_SETTINGS_KEY);
mSettingsKeyPreference = (ListPreference) findPreference(PREF_SETTINGS_KEY);
@@ -169,6 +177,22 @@
updateSettingsKeySummary();
}
+ @Override
+ public boolean onPreferenceClick(Preference pref) {
+ if (pref == mInputLanguageSelection) {
+ final String action;
+ if (android.os.Build.VERSION.SDK_INT
+ >= /* android.os.Build.VERSION_CODES.HONEYCOMB */ 10) {
+ action = "android.settings.INPUT_METHOD_AND_SUBTYPE_ENABLER";
+ } else {
+ action = "com.android.inputmethod.latin.INPUT_LANGUAGE_SELECTION";
+ }
+ startActivity(new Intent(action));
+ return true;
+ }
+ return false;
+ }
+
private void updateSettingsKeySummary() {
mSettingsKeyPreference.setSummary(
getResources().getStringArray(R.array.settings_key_modes)