Add minKeyboardHeight attribute to Keyboard layout

Bug: 4411676
Change-Id: I1f56ba58bacb90790f82326718bf9de95dba5d28
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index e88b007..7f2a400 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -80,6 +80,9 @@
         <attr name="keyboardHeight" format="dimension" />
         <!-- Maximum keyboard height, in pixels or percentage of display height -->
         <attr name="maxKeyboardHeight" format="dimension|fraction" />
+        <!-- Minimum keyboard height represented in pixels, percentage of display height if fraction
+             is positive, or percentage of display width if fraction is negative. -->
+        <attr name="minKeyboardHeight" format="dimension|fraction" />
         <!-- Default width of a key, in pixels or percentage of display width. -->
         <attr name="keyWidth" format="dimension|fraction" />
         <!-- Default height of a row (key height + vertical gap), in pixels or percentage of
diff --git a/java/res/values/dimens.xml b/java/res/values/dimens.xml
index 69f962f..82abf3b 100644
--- a/java/res/values/dimens.xml
+++ b/java/res/values/dimens.xml
@@ -21,6 +21,8 @@
 <resources>
     <!-- keyboardHeight = key_height*4 + key_bottom_gap*3, key_height=0.295in -->
     <dimen name="keyboardHeight">1.285in</dimen>
+    <fraction name="maxKeyboardHeight">50%p</fraction>
+    <fraction name="minKeyboardHeight">-61.8%p</fraction>
     <!-- key_height + key_bottom_gap = popup_key_height -->
     <!-- <dimen name="key_height">0.295in</dimen> -->
     <dimen name="key_bottom_gap">0.035in</dimen>
@@ -41,10 +43,11 @@
          to user's finger. -->
     <dimen name="keyboard_vertical_correction">-0.05in</dimen>
 
-    <dimen name="key_letter_size">0.13in</dimen>
-    <dimen name="key_label_text_size">0.083in</dimen>
+    <!-- TODO: use fraction for key letter size and etc. -->
+    <dimen name="key_letter_size">21dip</dimen>
+    <dimen name="key_label_text_size">13dip</dimen>
     <!-- left or right padding of label alignment -->
-    <dimen name="key_label_horizontal_alignment_padding">0.13in</dimen>
+    <dimen name="key_label_horizontal_alignment_padding">21dip</dimen>
     <dimen name="key_preview_height">80sp</dimen>
     <dimen name="key_preview_offset">0.000in</dimen>
     <dimen name="key_preview_text_size_large">36sp</dimen>