Support dedicated number/date keyboard layout

Bug: 3009716
Change-Id: Idc12cc9d8ee4f5febfae4e11712e2aaca327a6ea
diff --git a/java/res/xml-xlarge/kbd_number.xml b/java/res/xml-xlarge/kbd_number.xml
new file mode 100644
index 0000000..dd251ea
--- /dev/null
+++ b/java/res/xml-xlarge/kbd_number.xml
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2010, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<Keyboard
+    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+    latin:keyWidth="11.949%p"
+    latin:horizontalGap="@dimen/key_horizontal_gap"
+    latin:verticalGap="@dimen/key_bottom_gap"
+    latin:keyHeight="@dimen/key_height"
+>
+    <!-- This row is intentionally not marked as a top row -->
+    <Row>
+        <Key
+            latin:codes="@integer/key_tab"
+            latin:keyLabel="@string/label_tab_key"
+            latin:keyLabelOption="fontNormal|alignLeft|alignBottom"
+            latin:isModifier="true"
+            latin:keyEdgeFlags="left" />
+        <Spacer
+            latin:horizontalGap="4.458%p" />
+        <Key
+            latin:keyLabel="-"
+            latin:keyWidth="8.042%p" />
+        <Key
+            latin:keyLabel="+"
+            latin:keyWidth="8.042%p" />
+        <Key
+            latin:keyLabel="."
+            latin:keyWidth="8.042%p" />
+        <Spacer
+            latin:horizontalGap="4.458%p" />
+        <Key
+            latin:keyLabel="1" />
+        <Key
+            latin:keyLabel="2" />
+        <Key
+            latin:keyLabel="3" />
+        <Spacer
+            latin:horizontalGap="9.360%p" />
+        <Key
+            latin:codes="@integer/key_delete"
+            latin:keyLabel="@string/label_backspace_key"
+            latin:keyLabelOption="fontNormal|alignRight|alignBottom"
+            latin:keyWidth="9.804%p"
+            latin:isModifier="true"
+            latin:isRepeatable="true"
+            latin:keyEdgeFlags="right" />
+    </Row>
+    <Row>
+        <Spacer
+            latin:horizontalGap="16.406%p" />
+        <Key
+            latin:keyLabel="*"
+            latin:keyWidth="8.042%p" />
+        <Key
+            latin:keyLabel="/"
+            latin:keyWidth="8.042%p" />
+        <Key
+            latin:keyLabel=","
+            latin:keyWidth="8.042%p" />
+        <Spacer
+            latin:horizontalGap="4.458%p" />
+        <Key
+            latin:keyLabel="4" />
+        <Key
+            latin:keyLabel="5" />
+        <Key
+            latin:keyLabel="6" />
+        <Spacer
+            latin:horizontalGap="4.458%p" />
+        <Key
+            latin:codes="@integer/key_return"
+            latin:keyLabel="@string/label_return_key"
+            latin:keyLabelOption="fontNormal|alignRight|alignBottom"
+            latin:keyWidth="14.706%p"
+            latin:isModifier="true"
+            latin:keyEdgeFlags="right" />
+    </Row>
+    <Row>
+        <!-- There is an empty area bellow the "More" key and left of the "(" key.  To ignore
+             the touch event on the area, "(" is intentionally not marked as a left edge key. -->
+        <Spacer
+            latin:horizontalGap="16.406%p" />
+        <Key
+            latin:keyLabel="("
+            latin:keyWidth="8.042%p" />
+        <Key
+            latin:keyLabel=")"
+            latin:keyWidth="8.042%p" />
+        <Key
+            latin:keyLabel="="
+            latin:keyWidth="8.042%p" />
+        <Spacer
+            latin:horizontalGap="4.458%p" />
+        <Key
+            latin:keyLabel="7" />
+        <Key
+            latin:keyLabel="8" />
+        <Key
+            latin:keyLabel="9" />
+        <!-- There is an empty area bellow the "Enter" key and right of the "9" key.  To ignore
+             the touch event on the area, "9" is intentionally not marked as a right edge key. -->
+    </Row>
+    <!-- This row is intentionally not marked as a bottom row -->
+    <Row>
+        <!-- There is an empty area bellow the "More" key and left of the "space" key.  To ignore
+             the touch event on the area, "space" is intentionally not marked as a left edge key. -->
+        <Spacer
+            latin:horizontalGap="16.406%p" />
+        <Key
+            latin:codes="@integer/key_space"
+            latin:keyIcon="@drawable/sym_keyboard_space"
+            latin:iconPreview="@drawable/sym_keyboard_feedback_space"
+            latin:keyWidth="24.127%p" />
+        <Spacer
+            latin:horizontalGap="4.458%p" />
+        <Key
+            latin:keyLabel="*" />
+        <Key
+            latin:keyLabel="0" />
+        <Key
+            latin:keyLabel="#" />
+        <!-- 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>
+</Keyboard>