aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/res/values/attrs.xml6
-rw-r--r--java/res/values/styles.xml19
-rw-r--r--java/res/values/themes-basic-highcontrast.xml4
-rw-r--r--java/res/values/themes-basic.xml2
-rw-r--r--java/res/values/themes-gingerbread.xml2
-rw-r--r--java/res/values/themes-ics.xml2
-rw-r--r--java/res/values/themes-stone-bold.xml2
-rw-r--r--java/res/values/themes-stone.xml2
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java57
9 files changed, 50 insertions, 46 deletions
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index 34ce527f1..4dfa5ab97 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -16,7 +16,6 @@
<resources>
<declare-styleable name="KeyboardTheme">
- <attr name="themeId" format="integer" />
<!-- Keyboard style -->
<attr name="keyboardStyle" format="reference" />
<!-- LatinKeyboard style -->
@@ -34,8 +33,6 @@
<attr name="moreSuggestionsViewStyle" format="reference" />
<attr name="suggestionBackgroundStyle" format="reference" />
<attr name="suggestionPreviewBackgroundStyle" format="reference" />
- <!-- Touch position correction -->
- <attr name="touchPositionCorrectionData" format="reference" />
</declare-styleable>
<declare-styleable name="KeyboardView">
@@ -140,6 +137,9 @@
</declare-styleable>
<declare-styleable name="Keyboard">
+ <attr name="themeId" format="integer" />
+ <!-- Touch position correction -->
+ <attr name="touchPositionCorrectionData" format="reference" />
<!-- Default keyboard height -->
<attr name="keyboardHeight" format="dimension|fraction" />
<!-- Maximum keyboard height, in pixels or percentage of display height -->
diff --git a/java/res/values/styles.xml b/java/res/values/styles.xml
index c6ea2a5f8..30c0e5a38 100644
--- a/java/res/values/styles.xml
+++ b/java/res/values/styles.xml
@@ -17,6 +17,8 @@
<resources>
<!-- Theme "Basic" -->
<style name="Keyboard">
+ <item name="themeId">0</item>
+ <item name="touchPositionCorrectionData">@array/touch_position_correction_data_empty</item>
<item name="rowHeight">25%p</item>
<item name="keyboardHeight">@dimen/keyboardHeight</item>
<item name="maxKeyboardHeight">@fraction/maxKeyboardHeight</item>
@@ -119,6 +121,12 @@
</style>
<!-- Theme "Basic high contrast" -->
<style
+ name="Keyboard.HighContrast"
+ parent="Keyboard"
+ >
+ <item name="themeId">1</item>
+ </style>
+ <style
name="KeyboardView.HighContrast"
parent="KeyboardView"
>
@@ -130,6 +138,7 @@
name="Keyboard.Stone"
parent="Keyboard"
>
+ <item name="themeId">6</item>
<item name="keyboardHeight">@dimen/keyboardHeight_stone</item>
<item name="keyboardTopPadding">@fraction/keyboard_top_padding_stone</item>
<item name="keyboardBottomPadding">@fraction/keyboard_bottom_padding_stone</item>
@@ -174,6 +183,12 @@
</style>
<!-- Theme "Stone bold" -->
<style
+ name="Keyboard.Stone.Bold"
+ parent="Keyboard.Stone"
+ >
+ <item name="themeId">7</item>
+ </style>
+ <style
name="KeyboardView.Stone.Bold"
parent="KeyboardView.Stone"
>
@@ -184,6 +199,8 @@
name="Keyboard.Gingerbread"
parent="Keyboard"
>
+ <item name="themeId">8</item>
+ <item name="touchPositionCorrectionData">@array/touch_position_correction_data_gingerbread</item>
<item name="horizontalGap">@fraction/key_horizontal_gap_gb</item>
<item name="verticalGap">@fraction/key_bottom_gap_gb</item>
</style>
@@ -214,10 +231,12 @@
name="Keyboard.IceCreamSandwich"
parent="Keyboard"
>
+ <item name="themeId">5</item>
<item name="keyboardTopPadding">@fraction/keyboard_top_padding_ics</item>
<item name="keyboardBottomPadding">@fraction/keyboard_bottom_padding_ics</item>
<item name="horizontalGap">@fraction/key_horizontal_gap_ics</item>
<item name="verticalGap">@fraction/key_bottom_gap_ics</item>
+ <item name="touchPositionCorrectionData">@array/touch_position_correction_data_ice_cream_sandwich</item>
</style>
<style
name="LatinKeyboard.IceCreamSandwich"
diff --git a/java/res/values/themes-basic-highcontrast.xml b/java/res/values/themes-basic-highcontrast.xml
index bc3c84706..abb7c8057 100644
--- a/java/res/values/themes-basic-highcontrast.xml
+++ b/java/res/values/themes-basic-highcontrast.xml
@@ -16,8 +16,7 @@
<resources>
<style name="KeyboardTheme.HighContrast" parent="KeyboardIcons">
- <item name="themeId">1</item>
- <item name="keyboardStyle">@style/Keyboard</item>
+ <item name="keyboardStyle">@style/Keyboard.HighContrast</item>
<item name="latinKeyboardStyle">@style/LatinKeyboard</item>
<item name="keyboardViewStyle">@style/KeyboardView.HighContrast</item>
<item name="miniKeyboardStyle">@style/MiniKeyboard</item>
@@ -28,6 +27,5 @@
<item name="moreSuggestionsViewStyle">@style/MoreSuggestionsViewStyle</item>
<item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item>
<item name="suggestionPreviewBackgroundStyle">@style/SuggestionPreviewBackgroundStyle</item>
- <item name="touchPositionCorrectionData">@array/touch_position_correction_data_empty</item>
</style>
</resources>
diff --git a/java/res/values/themes-basic.xml b/java/res/values/themes-basic.xml
index 29cb9cc7d..ff9fed55f 100644
--- a/java/res/values/themes-basic.xml
+++ b/java/res/values/themes-basic.xml
@@ -16,7 +16,6 @@
<resources>
<style name="KeyboardTheme" parent="KeyboardIcons">
- <item name="themeId">0</item>
<item name="keyboardStyle">@style/Keyboard</item>
<item name="latinKeyboardStyle">@style/LatinKeyboard</item>
<item name="keyboardViewStyle">@style/KeyboardView</item>
@@ -28,6 +27,5 @@
<item name="moreSuggestionsViewStyle">@style/MoreSuggestionsViewStyle</item>
<item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item>
<item name="suggestionPreviewBackgroundStyle">@style/SuggestionPreviewBackgroundStyle</item>
- <item name="touchPositionCorrectionData">@array/touch_position_correction_data_empty</item>
</style>
</resources>
diff --git a/java/res/values/themes-gingerbread.xml b/java/res/values/themes-gingerbread.xml
index c4a0f804a..be853eb0f 100644
--- a/java/res/values/themes-gingerbread.xml
+++ b/java/res/values/themes-gingerbread.xml
@@ -16,7 +16,6 @@
<resources>
<style name="KeyboardTheme.Gingerbread" parent="KeyboardIcons">
- <item name="themeId">8</item>
<item name="keyboardStyle">@style/Keyboard.Gingerbread</item>
<item name="latinKeyboardStyle">@style/LatinKeyboard</item>
<item name="keyboardViewStyle">@style/KeyboardView.Gingerbread</item>
@@ -28,6 +27,5 @@
<item name="moreSuggestionsViewStyle">@style/MoreSuggestionsViewStyle</item>
<item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item>
<item name="suggestionPreviewBackgroundStyle">@style/SuggestionPreviewBackgroundStyle</item>
- <item name="touchPositionCorrectionData">@array/touch_position_correction_data_gingerbread</item>
</style>
</resources>
diff --git a/java/res/values/themes-ics.xml b/java/res/values/themes-ics.xml
index dd2b6a334..618aaed79 100644
--- a/java/res/values/themes-ics.xml
+++ b/java/res/values/themes-ics.xml
@@ -16,7 +16,6 @@
<resources>
<style name="KeyboardTheme.IceCreamSandwich" parent="KeyboardIcons.IceCreamSandwich">
- <item name="themeId">5</item>
<item name="keyboardStyle">@style/Keyboard.IceCreamSandwich</item>
<item name="latinKeyboardStyle">@style/LatinKeyboard.IceCreamSandwich</item>
<item name="keyboardViewStyle">@style/KeyboardView.IceCreamSandwich</item>
@@ -28,6 +27,5 @@
<item name="moreSuggestionsViewStyle">@style/MoreSuggestionsViewStyle.IceCreamSandwich</item>
<item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle.IceCreamSandwich</item>
<item name="suggestionPreviewBackgroundStyle">@style/SuggestionPreviewBackgroundStyle.IceCreamSandwich</item>
- <item name="touchPositionCorrectionData">@array/touch_position_correction_data_ice_cream_sandwich</item>
</style>
</resources>
diff --git a/java/res/values/themes-stone-bold.xml b/java/res/values/themes-stone-bold.xml
index 6e864bed0..fdf9c51f5 100644
--- a/java/res/values/themes-stone-bold.xml
+++ b/java/res/values/themes-stone-bold.xml
@@ -16,7 +16,6 @@
<resources>
<style name="KeyboardTheme.Stone.Bold" parent="KeyboardIcons.Black">
- <item name="themeId">7</item>
<item name="keyboardStyle">@style/Keyboard.Stone</item>
<item name="latinKeyboardStyle">@style/LatinKeyboard.Stone</item>
<item name="keyboardViewStyle">@style/KeyboardView.Stone.Bold</item>
@@ -28,6 +27,5 @@
<item name="moreSuggestionsViewStyle">@style/MoreSuggestionsViewStyle</item>
<item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item>
<item name="suggestionPreviewBackgroundStyle">@style/SuggestionPreviewBackgroundStyle</item>
- <item name="touchPositionCorrectionData">@array/touch_position_correction_data_empty</item>
</style>
</resources>
diff --git a/java/res/values/themes-stone.xml b/java/res/values/themes-stone.xml
index 64c557035..cb3edc58f 100644
--- a/java/res/values/themes-stone.xml
+++ b/java/res/values/themes-stone.xml
@@ -16,7 +16,6 @@
<resources>
<style name="KeyboardTheme.Stone" parent="KeyboardIcons.Black">
- <item name="themeId">6</item>
<item name="keyboardStyle">@style/Keyboard.Stone</item>
<item name="latinKeyboardStyle">@style/LatinKeyboard.Stone</item>
<item name="keyboardViewStyle">@style/KeyboardView.Stone</item>
@@ -28,6 +27,5 @@
<item name="moreSuggestionsViewStyle">@style/MoreSuggestionsViewStyle</item>
<item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item>
<item name="suggestionPreviewBackgroundStyle">@style/SuggestionPreviewBackgroundStyle</item>
- <item name="touchPositionCorrectionData">@array/touch_position_correction_data_empty</item>
</style>
</resources>
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
index 46836da67..3cdde09a9 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
@@ -247,54 +247,50 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
mParams = params;
- final TypedArray a = context.obtainStyledAttributes(R.styleable.KeyboardTheme);
- mParams.mThemeId = a.getInt(R.styleable.KeyboardTheme_themeId, 0);
- a.recycle();
-
- if (!setTouchPositionCorrectionData(context)) {
- // In the regression test, setTouchPositionCorrectionData() fails
- mParams.mTouchPositionCorrectionXs = null;
- mParams.mTouchPositionCorrectionYs = null;
- mParams.mTouchPositionCorrectionRadii = null;
- }
+ setTouchPositionCorrectionData(context, params);
- mParams.GRID_WIDTH = res.getInteger(R.integer.config_keyboard_grid_width);
- mParams.GRID_HEIGHT = res.getInteger(R.integer.config_keyboard_grid_height);
+ params.GRID_WIDTH = res.getInteger(R.integer.config_keyboard_grid_width);
+ params.GRID_HEIGHT = res.getInteger(R.integer.config_keyboard_grid_height);
}
- private boolean setTouchPositionCorrectionData(Context context) {
- final TypedArray a = context.obtainStyledAttributes(R.styleable.KeyboardTheme);
- final int resourceId = a.getResourceId(
- R.styleable.KeyboardTheme_touchPositionCorrectionData, 0);
+ private static void setTouchPositionCorrectionData(Context context, KeyboardParams params) {
+ params.mTouchPositionCorrectionXs = null;
+ params.mTouchPositionCorrectionYs = null;
+ params.mTouchPositionCorrectionRadii = null;
+
+ final TypedArray a = context.obtainStyledAttributes(R.styleable.Keyboard);
+ params.mThemeId = a.getInt(R.styleable.Keyboard_themeId, 0);
+ final int resourceId = a.getResourceId(R.styleable.Keyboard_touchPositionCorrectionData, 0);
if (resourceId == 0) {
- // In the regression test, we cannot use theme resources
- // TODO: Fix this
- return false;
+ if (LatinImeLogger.sDBG)
+ throw new RuntimeException("touchPositionCorrectionData is not defined");
+ return;
}
+
final String[] data = context.getResources().getStringArray(resourceId);
a.recycle();
final int dataLength = data.length;
if (dataLength % TOUCH_POSITION_CORRECTION_RECORD_SIZE != 0) {
- if (LatinImeLogger.sDBG) {
+ if (LatinImeLogger.sDBG)
throw new RuntimeException("the size of touch position correction data is invalid");
- }
- return false;
+ return;
}
+
final int length = dataLength / TOUCH_POSITION_CORRECTION_RECORD_SIZE;
- mParams.mTouchPositionCorrectionXs = new float[length];
- mParams.mTouchPositionCorrectionYs = new float[length];
- mParams.mTouchPositionCorrectionRadii = new float[length];
+ params.mTouchPositionCorrectionXs = new float[length];
+ params.mTouchPositionCorrectionYs = new float[length];
+ params.mTouchPositionCorrectionRadii = new float[length];
try {
for (int i = 0; i < dataLength; ++i) {
final int type = i % TOUCH_POSITION_CORRECTION_RECORD_SIZE;
final int index = i / TOUCH_POSITION_CORRECTION_RECORD_SIZE;
final float value = Float.parseFloat(data[i]);
if (type == 0) {
- mParams.mTouchPositionCorrectionXs[index] = value;
+ params.mTouchPositionCorrectionXs[index] = value;
} else if (type == 1) {
- mParams.mTouchPositionCorrectionYs[index] = value;
+ params.mTouchPositionCorrectionYs[index] = value;
} else {
- mParams.mTouchPositionCorrectionRadii[index] = value;
+ params.mTouchPositionCorrectionRadii[index] = value;
}
}
} catch (NumberFormatException e) {
@@ -302,9 +298,10 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
throw new RuntimeException(
"the number format for touch position correction data is invalid");
}
- return false;
+ params.mTouchPositionCorrectionXs = null;
+ params.mTouchPositionCorrectionYs = null;
+ params.mTouchPositionCorrectionRadii = null;
}
- return true;
}
public KeyboardBuilder<KP> load(KeyboardId id) {