Add shadow to gesture preview trail

Bug: 7167303
Change-Id: I8f76fe0aec6cb32388e7c85d04516d1dd7d28c29
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index 3a7b39e..a71e7cc 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -85,6 +85,8 @@
         <attr name="slidingKeyInputEnable" format="boolean" />
         <attr name="slidingKeyInputPreviewColor" format="color" />
         <attr name="slidingKeyInputPreviewWidth" format="dimension" />
+        <attr name="slidingKeyInputPreviewBodyRatio" format="integer" />
+        <attr name="slidingKeyInputPreviewShadowRatio" format="integer" />
         <!-- Key repeat start timeout -->
         <attr name="keyRepeatStartTimeout" format="integer" />
         <!-- Key repeat interval in millisecond. -->
@@ -115,6 +117,8 @@
         <attr name="gesturePreviewTrailColor" format="color" />
         <attr name="gesturePreviewTrailStartWidth" format="dimension" />
         <attr name="gesturePreviewTrailEndWidth" format="dimension" />
+        <attr name="gesturePreviewTrailBodyRatio" format="integer" />
+        <attr name="gesturePreviewTrailShadowRatio" format="integer" />
         <!-- Delay after gesture input and gesture floating preview text dismissing in millisecond -->
         <attr name="gestureFloatingPreviewTextLingerTimeout" format="integer" />
         <!-- Attributes for GestureFloatingPreviewText -->
diff --git a/java/res/values/config.xml b/java/res/values/config.xml
index a90ba80..d4fff62 100644
--- a/java/res/values/config.xml
+++ b/java/res/values/config.xml
@@ -58,6 +58,9 @@
     <bool name="config_sliding_key_input_enabled">true</bool>
     <!-- Sliding key input preview parameters -->
     <dimen name="config_sliding_key_input_preview_width">8.0dp</dimen>
+    <!-- Percentages of sliding key input preview body and shadow, in proportion to the width. -->
+    <integer name="config_sliding_key_input_preview_body_ratio">80</integer>
+    <integer name="config_sliding_key_input_preview_shadow_ratio">50</integer>
     <integer name="config_key_repeat_start_timeout">400</integer>
     <integer name="config_key_repeat_interval">50</integer>
     <integer name="config_default_longpress_key_timeout">300</integer>  <!-- milliseconds -->
diff --git a/java/res/values/dimens.xml b/java/res/values/dimens.xml
index dd42acf..db33ad8 100644
--- a/java/res/values/dimens.xml
+++ b/java/res/values/dimens.xml
@@ -103,6 +103,9 @@
     <!-- Gesture preview trail parameters -->
     <dimen name="gesture_preview_trail_start_width">10.0dp</dimen>
     <dimen name="gesture_preview_trail_end_width">2.5dp</dimen>
+    <!-- Percentages of gesture preview taril body and shadow, in proportion to the trail width. -->
+    <integer name="gesture_preview_trail_body_ratio">80</integer>
+    <integer name="gesture_preview_trail_shadow_ratio">50</integer>
     <!-- Gesture floating preview text parameters -->
     <dimen name="gesture_floating_preview_text_size">24dp</dimen>
     <dimen name="gesture_floating_preview_text_offset">73dp</dimen>
diff --git a/java/res/values/styles.xml b/java/res/values/styles.xml
index fb59c74..436e080 100644
--- a/java/res/values/styles.xml
+++ b/java/res/values/styles.xml
@@ -70,6 +70,8 @@
         <item name="gesturePreviewTrailColor">@color/highlight_color_default</item>
         <item name="gesturePreviewTrailStartWidth">@dimen/gesture_preview_trail_start_width</item>
         <item name="gesturePreviewTrailEndWidth">@dimen/gesture_preview_trail_end_width</item>
+        <item name="gesturePreviewTrailBodyRatio">@integer/gesture_preview_trail_body_ratio</item>
+        <item name="gesturePreviewTrailShadowRatio">@integer/gesture_preview_trail_shadow_ratio</item>
         <!-- Common attributes of MainKeyboardView -->
         <item name="keyHysteresisDistance">@dimen/config_key_hysteresis_distance</item>
         <item name="keyHysteresisDistanceForSlidingModifier">@dimen/config_key_hysteresis_distance_for_sliding_modifier</item>
@@ -78,6 +80,8 @@
         <item name="slidingKeyInputEnable">@bool/config_sliding_key_input_enabled</item>
         <item name="slidingKeyInputPreviewColor">@color/highlight_translucent_color_default</item>
         <item name="slidingKeyInputPreviewWidth">@dimen/config_sliding_key_input_preview_width</item>
+        <item name="slidingKeyInputPreviewBodyRatio">@integer/config_sliding_key_input_preview_body_ratio</item>
+        <item name="slidingKeyInputPreviewShadowRatio">@integer/config_sliding_key_input_preview_shadow_ratio</item>
         <item name="keyRepeatStartTimeout">@integer/config_key_repeat_start_timeout</item>
         <item name="keyRepeatInterval">@integer/config_key_repeat_interval</item>
         <item name="longPressShiftLockTimeout">@integer/config_longpress_shift_lock_timeout</item>