Tap gesture settings

Tap setting is similar to double tap, it will wake-up the phone
when invoked. This setting page allows for configuration since both
gestures aren't mutually exclusive.

Change-Id: Ia62a1fafcc108e3c0b14613cb30224eae7b35f6a
Fixes: 121198822
Test: make RunSettingsRoboTests
diff --git a/res/drawable-nodpi/gesture_ambient_tap_screen b/res/drawable-nodpi/gesture_ambient_tap_screen
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/res/drawable-nodpi/gesture_ambient_tap_screen
diff --git a/res/raw/gesture_ambient_tap_screen.mp4 b/res/raw/gesture_ambient_tap_screen.mp4
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/res/raw/gesture_ambient_tap_screen.mp4
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 313521a..1a4f6bf 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -9730,6 +9730,16 @@
     <!-- Summary text for ambient display [CHAR LIMIT=NONE]-->
     <string name="ambient_display_wake_lock_screen_summary" product="default"></string>
 
+    <!-- Preference and settings suggestion title text for ambient display tap (phone) [CHAR LIMIT=60]-->
+    <string name="ambient_display_tap_screen_title" product="default">Tap to check phone</string>
+    <!-- Preference and settings suggestion title text for ambient display tap (tablet) [CHAR LIMIT=60]-->
+    <string name="ambient_display_tap_screen_title" product="tablet">Tap to check tablet</string>
+    <!-- Preference and settings suggestion title text for ambient display tap (device) [CHAR LIMIT=60]-->
+    <string name="ambient_display_tap_screen_title" product="device">Tap to check device</string>
+
+    <!-- Summary text for ambient display tap [CHAR LIMIT=NONE]-->
+    <string name="ambient_display_tap_screen_summary">To check time, notifications, and other info, tap your screen.</string>
+
     <!-- Title text for swiping downwards on fingerprint sensor for notifications [CHAR LIMIT=80]-->
     <string name="fingerprint_swipe_for_notifications_title">Swipe fingerprint for notifications</string>
     <!-- Title text for fingerprint gesture preference screen [CHAR LIMIT=25] -->
diff --git a/res/xml/gestures.xml b/res/xml/gestures.xml
index df86251..4b17bd9 100644
--- a/res/xml/gestures.xml
+++ b/res/xml/gestures.xml
@@ -64,6 +64,12 @@
         settings:controller="com.android.settings.gestures.SwipeUpPreferenceController" />
 
     <Preference
+        android:key="gesture_tap_screen_input_summary"
+        android:title="@string/ambient_display_tap_screen_title"
+        android:fragment="com.android.settings.gestures.TapScreenGestureSettings"
+        settings:controller="com.android.settings.gestures.TapScreenGesturePreferenceController" />
+
+    <Preference
         android:key="gesture_double_tap_screen_input_summary"
         android:title="@string/ambient_display_title"
         android:fragment="com.android.settings.gestures.DoubleTapScreenSettings"
diff --git a/res/xml/security_lockscreen_settings.xml b/res/xml/security_lockscreen_settings.xml
index f829c8a..c5765d3 100644
--- a/res/xml/security_lockscreen_settings.xml
+++ b/res/xml/security_lockscreen_settings.xml
@@ -60,6 +60,12 @@
             settings:controller="com.android.settings.display.AmbientDisplayAlwaysOnPreferenceController" />
 
         <Preference
+            android:key="ambient_display_tap"
+            android:title="@string/ambient_display_tap_screen_title"
+            android:fragment="com.android.settings.gestures.TapScreenGestureSettings"
+            settings:controller="com.android.settings.gestures.TapScreenGesturePreferenceController" />
+
+        <Preference
             android:key="ambient_display_double_tap"
             android:title="@string/ambient_display_title"
             android:fragment="com.android.settings.gestures.DoubleTapScreenSettings"
diff --git a/res/xml/tap_screen_gesture_settings.xml b/res/xml/tap_screen_gesture_settings.xml
new file mode 100644
index 0000000..9c0610a
--- /dev/null
+++ b/res/xml/tap_screen_gesture_settings.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2019 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
+  -->
+
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:key="gesture_tap_screen"
+    android:title="@string/ambient_display_tap_screen_title">
+
+    <com.android.settings.widget.VideoPreference
+        android:key="gesture_tap_screen_video"
+        app:animation="@raw/gesture_ambient_tap_screen"
+        app:preview="@drawable/gesture_ambient_tap_screen" />
+
+    <SwitchPreference
+        android:key="gesture_tap"
+        android:title="@string/ambient_display_tap_screen_title"
+        android:summary="@string/ambient_display_tap_screen_summary"
+        app:keywords="@string/keywords_gesture"
+        app:controller="com.android.settings.gestures.TapScreenGesturePreferenceController"
+        app:allowDividerAbove="true" />
+
+</PreferenceScreen>
\ No newline at end of file