Added new setting for gestures.

Added a new entry to the top level Settings' Device section to
enable/disable gestures.

Bug: 28565958

Change-Id: Icf642b6a3058c692fb2be9914579996598f03b7d
This commit is contained in:
Doris Ling
2016-05-23 17:06:26 -07:00
parent 7648de1ec6
commit 9136523a43
17 changed files with 444 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
<!--
Copyright (C) 2016 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.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0"
android:tint="?android:attr/colorAccent">
<path
android:fillColor="#FF000000"
android:pathData="M9,11.24L9,7.5C9,6.12 10.12,5 11.5,5S14,6.12 14,7.5v3.74c1.21,-0.81 2,-2.18 2,-3.74C16,5.01 13.99,3 11.5,3S7,5.01 7,7.5c0,1.56 0.79,2.93 2,3.74zM18.84,15.87l-4.54,-2.26c-0.17,-0.07 -0.35,-0.11 -0.54,-0.11L13,13.5v-6c0,-0.83 -0.67,-1.5 -1.5,-1.5S10,6.67 10,7.5v10.74l-3.43,-0.72c-0.08,-0.01 -0.15,-0.03 -0.24,-0.03 -0.31,0 -0.59,0.13 -0.79,0.33l-0.79,0.8 4.94,4.94c0.27,0.27 0.65,0.44 1.06,0.44h6.79c0.75,0 1.33,-0.55 1.44,-1.28l0.75,-5.27c0.01,-0.07 0.02,-0.14 0.02,-0.2 0,-0.62 -0.38,-1.16 -0.91,-1.38z"/>
</vector>

View File

@@ -0,0 +1,93 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2016 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.
-->
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?android:attr/listPreferredItemHeightSmall"
android:gravity="center_vertical"
android:background="?android:attr/activatedBackgroundIndicator"
android:clipToPadding="false"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal"
android:paddingTop="16dp"
android:paddingBottom="16dp"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
<TextView
android:id="@android:id/title"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:singleLine="true"
android:textAppearance="?android:attr/textAppearanceListItem"
android:ellipsize="marquee"/>
<Switch
android:id="@android:id/switch_widget"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="end|center_vertical"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/gestures_setting_backgroud_color"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:orientation="horizontal">
<FrameLayout
android:layout_width="@dimen/gestures_settings_video_width"
android:layout_height="@dimen/gestures_settings_video_height">
<TextureView
android:id="@+id/gesture_video"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"/>
<ImageView
android:id="@+id/gesture_image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone"/>
</FrameLayout>
<TextView
android:id="@android:id/summary"
android:layout_width="@dimen/gestures_settings_summary_width"
android:layout_height="@dimen/gestures_settings_summary_height"
android:layout_weight="1"
android:paddingTop="@dimen/gestures_settings_padding_top_bottom"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:textAppearance="?android:attr/textAppearanceListItemSecondary"
android:textColor="?android:attr/textColorSecondary"
android:maxLines="10"
android:ellipsize="end"/>
</LinearLayout>
</LinearLayout>

View File

View File

View File

View File

View File

View File

@@ -137,4 +137,10 @@
<attr name="allowDividerAbove" format="boolean" />
<attr name="allowDividerBelow" format="boolean" />
</declare-styleable>
<!-- For GesturePreference -->
<declare-styleable name="GesturePreference">
<attr name="animation" format="reference" />
</declare-styleable>
</resources>

View File

@@ -131,4 +131,7 @@
<color name="accent_color">@color/accent_material_light</color>
<color name="accent_color_lighter">#ff7fcac3</color>
<!-- Gestures settings -->
<color name="gestures_setting_backgroud_color">#f5f5f5</color>
</resources>

View File

@@ -296,4 +296,11 @@
<!-- Padding between the radio buttons/checkbox and text on the redaction interstitial -->
<dimen name="redaction_padding_start">16dp</dimen>
<!-- Padding for Gestures settings screen -->
<dimen name="gestures_settings_title_height">56dp</dimen>
<dimen name="gestures_settings_video_height">206dp</dimen>
<dimen name="gestures_settings_video_width">206dp</dimen>
<dimen name="gestures_settings_summary_height">206dp</dimen>
<dimen name="gestures_settings_summary_width">206dp</dimen>
<dimen name="gestures_settings_padding_top_bottom">20dp</dimen>
</resources>

View File

@@ -7660,4 +7660,35 @@
<!-- Automatic storage management service label. [CHAR LIMIT=40]-->
<string name="automatic_storage_manager_service_label">Automatic Storage Management Service</string>
<!-- Preference title for gesture settings [CHAR LIMIT=25]-->
<string name="gesture_preference_title">Gestures</string>
<!-- Title text for double tap power for camera [CHAR LIMIT=60]-->
<string name="double_tap_power_for_camera_title">Jump to Camera</string>
<!-- Summary text for double tap power for camera [CHAR LIMIT=160]-->
<string name="double_tap_power_for_camera_summary">To quickly open camera, just double-tap the power button. Works from any screen.</string>
<!-- Title text for double twist for camera mode [CHAR LIMIT=60]-->
<string name="double_twist_for_camera_mode_title">Flip camera</string>
<!-- Summary text for double twist for camera mode [CHAR LIMIT=160]-->
<string name="double_twist_for_camera_mode_summary">To switch between front and back cameras, double-twist.</string>
<!-- Title text for ambient display [CHAR LIMIT=60]-->
<string name="ambient_display_title">Quick screen check</string>
<!-- Summary text for ambient display [CHAR LIMIT=160]-->
<string name="ambient_display_summary">To check your phone without waking it up fully, nudge or pick it up.</string>
<!-- Title text for fingerprint swipe for notifications [CHAR LIMIT=60]-->
<string name="fingerprint_swipe_for_notifications_title">Swipe for notifications</string>
<!-- Summary text for fingerprint swipe for notifications [CHAR LIMIT=160]-->
<string name="fingerprint_swipe_for_notifications_summary">To check your notifications from any screen, swipe down on the fingerprint sensor.</string>
<!-- Switch text for each gesture setting state -->
<string name="gesture_setting_on">On</string>
<string name="gesture_setting_off">Off</string>
</resources>

View File

@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2016 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:settings="http://schemas.android.com/apk/res-auto"
android:title="@string/gesture_preference_title">
<com.android.settings.gestures.GesturePreference
android:key="gesture_double_tap_power"
android:title="@string/double_tap_power_for_camera_title"
android:summary="@string/double_tap_power_for_camera_summary"
settings:animation="@raw/gesture_double_tap"/>
<com.android.settings.gestures.GesturePreference
android:key="gesture_double_twist"
android:title="@string/double_twist_for_camera_mode_title"
android:summary="@string/double_twist_for_camera_mode_summary"
settings:animation="@raw/gesture_twist"/>
<com.android.settings.gestures.GesturePreference
android:key="gesture_swipe_down_fingerprint"
android:title="@string/fingerprint_swipe_for_notifications_title"
android:summary="@string/fingerprint_swipe_for_notifications_summary"
settings:animation="@raw/gesture_fingerprint_swipe"/>
<com.android.settings.gestures.GesturePreference
android:key="gesture_pick_up_and_nudge"
android:title="@string/ambient_display_title"
android:summary="@string/ambient_display_summary"
settings:animation="@raw/gesture_ambient_move_lift"/>
</PreferenceScreen>