Add debug setting to force hardware special key

Bug: 13988700
Change-Id: If23f8a14097431e76a303a6d6c24e8d9835fb655
main
Tadashi G. Takaoka 2014-08-12 22:28:53 +09:00
parent 89a2145448
commit 3659c70fc3
6 changed files with 22 additions and 4 deletions

View File

@ -22,10 +22,11 @@
See {@link SettingsValues#needsToShowVoiceInputKey(SharedPreferences,Resources)} -->
<string name="voice_mode_main">0</string>
<!-- Title for Latin keyboard debug settings activity / dialog -->
<string name="english_ime_debug_settings">Android keyboard Debug settings</string>
<!-- Title for Android keyboard debug settings activity / dialog -->
<string name="english_ime_debug_settings">Android Keyboard Debug settings</string>
<string name="prefs_debug_mode">Debug Mode</string>
<string name="prefs_force_non_distinct_multitouch">Force non-distinct multitouch</string>
<string name="prefs_force_physical_keyboard_special_key">Force physical keyboard special key</string>
<!-- Subtype locale display name exceptions.
For each exception, there should be related string resources for display name that may have

View File

@ -30,6 +30,11 @@
android:title="@string/prefs_force_non_distinct_multitouch"
android:defaultValue="false"
android:persistent="true" />
<CheckBoxPreference
android:key="force_physical_keyboard_special_key"
android:title="@string/prefs_force_physical_keyboard_special_key"
android:defaultValue="false"
android:persistent="true" />
<CheckBoxPreference
android:key="pref_sliding_key_input_preview"
android:title="@string/sliding_key_input_preview"

View File

@ -155,7 +155,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
@UsedForTesting final KeyboardSwitcher mKeyboardSwitcher;
private final SubtypeSwitcher mSubtypeSwitcher;
private final SubtypeState mSubtypeState = new SubtypeState();
private final SpecialKeyDetector mSpecialKeyDetector = new SpecialKeyDetector();
private final SpecialKeyDetector mSpecialKeyDetector;
// Object for reacting to adding/removing a dictionary pack.
private final BroadcastReceiver mDictionaryPackInstallReceiver =
@ -517,6 +517,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
mSettings = Settings.getInstance();
mSubtypeSwitcher = SubtypeSwitcher.getInstance();
mKeyboardSwitcher = KeyboardSwitcher.getInstance();
mSpecialKeyDetector = new SpecialKeyDetector(this);
mIsHardwareAcceleratedDrawingEnabled =
InputMethodServiceCompatUtils.enableHardwareAcceleration(this);
Log.i(TAG, "Hardware accelerated drawing: " + mIsHardwareAcceleratedDrawingEnabled);

View File

@ -16,9 +16,17 @@
package com.android.inputmethod.latin;
import android.content.Context;
import android.view.KeyEvent;
final class SpecialKeyDetector {
/**
* Special physical key detector
* @param context a context of this detector.
*/
public SpecialKeyDetector(final Context context) {
}
/**
* Record a down key event.
* @param keyEvent a down key event.

View File

@ -19,6 +19,8 @@ package com.android.inputmethod.latin.settings;
public final class DebugSettings {
public static final String PREF_DEBUG_MODE = "debug_mode";
public static final String PREF_FORCE_NON_DISTINCT_MULTITOUCH = "force_non_distinct_multitouch";
public static final String PREF_FORCE_PHYSICAL_KEYBOARD_SPECIAL_KEY =
"force_physical_keyboard_special_key";
public static final String PREF_KEY_PREVIEW_SHOW_UP_START_SCALE =
"pref_key_preview_show_up_start_scale";
public static final String PREF_KEY_PREVIEW_DISMISS_END_SCALE =

View File

@ -133,7 +133,8 @@ public final class DebugSettingsFragment extends SubScreenFragment
mServiceNeedsRestart = true;
return;
}
if (key.equals(DebugSettings.PREF_FORCE_NON_DISTINCT_MULTITOUCH)) {
if (key.equals(DebugSettings.PREF_FORCE_NON_DISTINCT_MULTITOUCH)
|| key.equals(DebugSettings.PREF_FORCE_PHYSICAL_KEYBOARD_SPECIAL_KEY)) {
mServiceNeedsRestart = true;
return;
}