am 5f57fe4a: Merge "Revert "Remove unused Key and Keyboard attributes"" into lmp-dev

* commit '5f57fe4ad035f3deb53a58616efea843546266b4':
  Revert "Remove unused Key and Keyboard attributes"
diff --git a/java/res/values-sw600dp/config.xml b/java/res/values-sw600dp/config.xml
index 7af79f0..9d16e2c 100644
--- a/java/res/values-sw600dp/config.xml
+++ b/java/res/values-sw600dp/config.xml
@@ -47,6 +47,7 @@
     <fraction name="config_key_letter_ratio">42%</fraction>
     <fraction name="config_key_large_letter_ratio">45%</fraction>
     <fraction name="config_key_label_ratio">25%</fraction>
+    <fraction name="config_key_large_label_ratio">32%</fraction>
     <fraction name="config_key_hint_letter_ratio">23%</fraction>
     <fraction name="config_key_hint_label_ratio">28%</fraction>
     <fraction name="config_key_shifted_letter_hint_ratio">22%</fraction>
diff --git a/java/res/values-sw768dp/config.xml b/java/res/values-sw768dp/config.xml
index 12dd232..635061d 100644
--- a/java/res/values-sw768dp/config.xml
+++ b/java/res/values-sw768dp/config.xml
@@ -45,6 +45,7 @@
     <fraction name="config_key_letter_ratio">40%</fraction>
     <fraction name="config_key_large_letter_ratio">42%</fraction>
     <fraction name="config_key_label_ratio">28%</fraction>
+    <fraction name="config_key_large_label_ratio">28%</fraction>
     <fraction name="config_key_hint_letter_ratio">23%</fraction>
     <fraction name="config_key_hint_label_ratio">28%</fraction>
     <fraction name="config_key_shifted_letter_hint_ratio">26%</fraction>
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index 8b3687a..91cd017 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -300,6 +300,7 @@
             <flag name="followKeyLargeLetterRatio" value="0x40" />
             <flag name="followKeyLetterRatio" value="0x80" />
             <flag name="followKeyLabelRatio" value="0xC0" />
+            <flag name="followKeyLargeLabelRatio" value="0x100" />
             <flag name="followKeyHintLabelRatio" value="0x140" />
             <flag name="hasPopupHint" value="0x200" />
             <flag name="hasShiftedLetterHint" value="0x400" />
@@ -358,6 +359,8 @@
         <attr name="keyLabelSize" format="dimension|fraction" />
         <!-- Large size of the text for one letter keys, in the proportion of key height. -->
         <attr name="keyLargeLetterRatio" format="fraction" />
+        <!-- Large size of the text for keys with multiple letters, in the proportion of key height. -->
+        <attr name="keyLargeLabelRatio" format="fraction" />
         <!-- Size of the text for hint letter (= one character hint label), in the proportion of
              key height. -->
         <attr name="keyHintLetterRatio" format="fraction" />
diff --git a/java/res/values/config.xml b/java/res/values/config.xml
index ce93c7e..d748c91 100644
--- a/java/res/values/config.xml
+++ b/java/res/values/config.xml
@@ -49,6 +49,7 @@
     <fraction name="config_key_letter_ratio">55%</fraction>
     <fraction name="config_key_large_letter_ratio">65%</fraction>
     <fraction name="config_key_label_ratio">34%</fraction>
+    <fraction name="config_key_large_label_ratio">40%</fraction>
     <fraction name="config_key_hint_letter_ratio">25%</fraction>
     <fraction name="config_key_hint_label_ratio">44%</fraction>
     <fraction name="config_key_shifted_letter_hint_ratio">35%</fraction>
diff --git a/java/res/values/themes-common.xml b/java/res/values/themes-common.xml
index 696a99c..fd1c9f8 100644
--- a/java/res/values/themes-common.xml
+++ b/java/res/values/themes-common.xml
@@ -37,6 +37,7 @@
         <item name="keyLetterSize">@fraction/config_key_letter_ratio</item>
         <item name="keyLargeLetterRatio">@fraction/config_key_large_letter_ratio</item>
         <item name="keyLabelSize">@fraction/config_key_label_ratio</item>
+        <item name="keyLargeLabelRatio">@fraction/config_key_large_label_ratio</item>
         <item name="keyHintLetterRatio">@fraction/config_key_hint_letter_ratio</item>
         <item name="keyHintLabelRatio">@fraction/config_key_hint_label_ratio</item>
         <item name="keyShiftedLetterHintRatio">@fraction/config_key_shifted_letter_hint_ratio</item>
diff --git a/java/src/com/android/inputmethod/keyboard/Key.java b/java/src/com/android/inputmethod/keyboard/Key.java
index f8c0058..18b8116 100644
--- a/java/src/com/android/inputmethod/keyboard/Key.java
+++ b/java/src/com/android/inputmethod/keyboard/Key.java
@@ -70,6 +70,7 @@
     private static final int LABEL_FLAGS_FOLLOW_KEY_LARGE_LETTER_RATIO = 0x40;
     private static final int LABEL_FLAGS_FOLLOW_KEY_LETTER_RATIO = 0x80;
     private static final int LABEL_FLAGS_FOLLOW_KEY_LABEL_RATIO = 0xC0;
+    private static final int LABEL_FLAGS_FOLLOW_KEY_LARGE_LABEL_RATIO = 0x100;
     private static final int LABEL_FLAGS_FOLLOW_KEY_HINT_LABEL_RATIO = 0x140;
     // End of key text ratio mask enum values
     private static final int LABEL_FLAGS_HAS_POPUP_HINT = 0x200;
@@ -579,6 +580,8 @@
             return params.mLargeLetterSize;
         case LABEL_FLAGS_FOLLOW_KEY_LABEL_RATIO:
             return params.mLabelSize;
+        case LABEL_FLAGS_FOLLOW_KEY_LARGE_LABEL_RATIO:
+            return params.mLargeLabelSize;
         case LABEL_FLAGS_FOLLOW_KEY_HINT_LABEL_RATIO:
             return params.mHintLabelSize;
         default: // No follow key ratio flag specified.
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyDrawParams.java b/java/src/com/android/inputmethod/keyboard/internal/KeyDrawParams.java
index df50efd..6dbee55 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyDrawParams.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyDrawParams.java
@@ -26,6 +26,7 @@
     public int mLetterSize;
     public int mLabelSize;
     public int mLargeLetterSize;
+    public int mLargeLabelSize;
     public int mHintLetterSize;
     public int mShiftedLetterHintSize;
     public int mHintLabelSize;
@@ -55,6 +56,7 @@
         mLetterSize = copyFrom.mLetterSize;
         mLabelSize = copyFrom.mLabelSize;
         mLargeLetterSize = copyFrom.mLargeLetterSize;
+        mLargeLabelSize = copyFrom.mLargeLabelSize;
         mHintLetterSize = copyFrom.mHintLetterSize;
         mShiftedLetterHintSize = copyFrom.mShiftedLetterHintSize;
         mHintLabelSize = copyFrom.mHintLabelSize;
@@ -90,6 +92,7 @@
                 attr.mLetterSize, attr.mLetterRatio, mLetterSize);
         mLabelSize = selectTextSizeFromDimensionOrRatio(keyHeight,
                 attr.mLabelSize, attr.mLabelRatio, mLabelSize);
+        mLargeLabelSize = selectTextSize(keyHeight, attr.mLargeLabelRatio, mLargeLabelSize);
         mLargeLetterSize = selectTextSize(keyHeight, attr.mLargeLetterRatio, mLargeLetterSize);
         mHintLetterSize = selectTextSize(keyHeight, attr.mHintLetterRatio, mHintLetterSize);
         mShiftedLetterHintSize = selectTextSize(keyHeight,
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyVisualAttributes.java b/java/src/com/android/inputmethod/keyboard/internal/KeyVisualAttributes.java
index c60d587..69cf2e3 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyVisualAttributes.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyVisualAttributes.java
@@ -31,6 +31,7 @@
     public final float mLabelRatio;
     public final int mLabelSize;
     public final float mLargeLetterRatio;
+    public final float mLargeLabelRatio;
     public final float mHintLetterRatio;
     public final float mShiftedLetterHintRatio;
     public final float mHintLabelRatio;
@@ -55,6 +56,7 @@
         R.styleable.Keyboard_Key_keyLetterSize,
         R.styleable.Keyboard_Key_keyLabelSize,
         R.styleable.Keyboard_Key_keyLargeLetterRatio,
+        R.styleable.Keyboard_Key_keyLargeLabelRatio,
         R.styleable.Keyboard_Key_keyHintLetterRatio,
         R.styleable.Keyboard_Key_keyShiftedLetterHintRatio,
         R.styleable.Keyboard_Key_keyHintLabelRatio,
@@ -111,6 +113,8 @@
                 R.styleable.Keyboard_Key_keyLabelSize);
         mLargeLetterRatio = ResourceUtils.getFraction(keyAttr,
                 R.styleable.Keyboard_Key_keyLargeLetterRatio);
+        mLargeLabelRatio = ResourceUtils.getFraction(keyAttr,
+                R.styleable.Keyboard_Key_keyLargeLabelRatio);
         mHintLetterRatio = ResourceUtils.getFraction(keyAttr,
                 R.styleable.Keyboard_Key_keyHintLetterRatio);
         mShiftedLetterHintRatio = ResourceUtils.getFraction(keyAttr,