From e00b6cfa4cb262bf4b861c68440d8c76ae7b28a1 Mon Sep 17 00:00:00 2001 From: Yomna Nasser Date: Sun, 8 Aug 2021 03:24:06 +0000 Subject: [PATCH 1/6] Move "Allow 2G" controller under DisabledSubscriptionController. Bug: 195576795 Test: manual Change-Id: Ib42df245394bfbebc832f421ebd6c49bc2dc88d4 --- res/xml/mobile_network_settings.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/res/xml/mobile_network_settings.xml b/res/xml/mobile_network_settings.xml index eef22131c4d..79f84d3f6f6 100644 --- a/res/xml/mobile_network_settings.xml +++ b/res/xml/mobile_network_settings.xml @@ -241,6 +241,12 @@ settings:controller="com.android.settings.network.telephony.CarrierPreferenceController"> + + - - From 96e968568762d29d589e9dc0fadee36da11195ad Mon Sep 17 00:00:00 2001 From: ykhung Date: Fri, 13 Aug 2021 15:36:53 +0800 Subject: [PATCH 2/6] Add a skeleton to support battery configucation backup/restore Bug: 192523697 Test: make SettingsRoboTests Change-Id: I559eed40b05b73e7af5e091115afb11c4ba51068 --- .../settings/backup/SettingsBackupHelper.java | 2 + .../fuelgauge/BatteryBackupHelper.java | 51 +++++++++++++++++++ .../settings/fuelgauge/BatteryDiffEntry.java | 6 ++- 3 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 src/com/android/settings/fuelgauge/BatteryBackupHelper.java diff --git a/src/com/android/settings/backup/SettingsBackupHelper.java b/src/com/android/settings/backup/SettingsBackupHelper.java index 6437b780e72..a682df8b88b 100644 --- a/src/com/android/settings/backup/SettingsBackupHelper.java +++ b/src/com/android/settings/backup/SettingsBackupHelper.java @@ -22,6 +22,7 @@ import android.app.backup.BackupDataOutput; import android.app.backup.BackupHelper; import android.os.ParcelFileDescriptor; +import com.android.settings.fuelgauge.BatteryBackupHelper; import com.android.settings.shortcut.CreateShortcutPreferenceController; import java.io.FileInputStream; @@ -37,6 +38,7 @@ public class SettingsBackupHelper extends BackupAgentHelper { public void onCreate() { super.onCreate(); addHelper("no-op", new NoOpHelper()); + addHelper(BatteryBackupHelper.TAG, new BatteryBackupHelper(this)); } @Override diff --git a/src/com/android/settings/fuelgauge/BatteryBackupHelper.java b/src/com/android/settings/fuelgauge/BatteryBackupHelper.java new file mode 100644 index 00000000000..2b5576d6743 --- /dev/null +++ b/src/com/android/settings/fuelgauge/BatteryBackupHelper.java @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2021 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. + * + */ + +package com.android.settings.fuelgauge; + +import android.app.backup.BackupDataInputStream; +import android.app.backup.BackupDataOutput; +import android.app.backup.BackupHelper; +import android.content.Context; +import android.os.ParcelFileDescriptor; +import android.util.Log; + +/** An implementation to backup and restore battery configurations. */ +public final class BatteryBackupHelper implements BackupHelper { + /** An inditifier for {@link BackupHelper}. */ + public static final String TAG = "BatteryBackupHelper"; + + private final Context mContext; + + public BatteryBackupHelper(Context context) { + mContext = context; + } + + @Override + public void performBackup(ParcelFileDescriptor oldState, BackupDataOutput data, + ParcelFileDescriptor newState) { + Log.d(TAG, "performBackup()"); + } + + @Override + public void restoreEntity(BackupDataInputStream data) { + Log.d(TAG, "restoreEntity()"); + } + + @Override + public void writeNewStateDescription(ParcelFileDescriptor newState) { + } +} diff --git a/src/com/android/settings/fuelgauge/BatteryDiffEntry.java b/src/com/android/settings/fuelgauge/BatteryDiffEntry.java index 3ad768a9030..0074f9351e2 100644 --- a/src/com/android/settings/fuelgauge/BatteryDiffEntry.java +++ b/src/com/android/settings/fuelgauge/BatteryDiffEntry.java @@ -40,7 +40,8 @@ public class BatteryDiffEntry { // Caches app label and icon to improve loading performance. static final Map sResourceCache = new HashMap<>(); // Whether a specific item is valid to launch restriction page? - static final Map sValidForRestriction = new HashMap<>(); + @VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE) + public static final Map sValidForRestriction = new HashMap<>(); /** A comparator for {@link BatteryDiffEntry} based on consumed percentage. */ public static final Comparator COMPARATOR = @@ -339,7 +340,8 @@ public class BatteryDiffEntry { return builder.toString(); } - static void clearCache() { + /** Clears app icon and label cache data. */ + public static void clearCache() { sResourceCache.clear(); sValidForRestriction.clear(); } From b7ad22750343112b4c5c14a78deb56bdba336846 Mon Sep 17 00:00:00 2001 From: jasonwshsu Date: Fri, 13 Aug 2021 16:33:21 +0800 Subject: [PATCH 3/6] Update the button navigation preview image in 'Accessibility button & gesture' page. * Put images in drawable/ and drawable-night/ Fix: 193081959 Test: manual test Change-Id: I4d09f06d9613012e6344e3bcb6953bbab4635b94 --- .../accessibility_button_navigation.xml | 43 +++++++++++ .../accessibility_button_navigation.xml | 74 +++++++------------ 2 files changed, 68 insertions(+), 49 deletions(-) create mode 100644 res/drawable-night/accessibility_button_navigation.xml diff --git a/res/drawable-night/accessibility_button_navigation.xml b/res/drawable-night/accessibility_button_navigation.xml new file mode 100644 index 00000000000..d6fd4854bf8 --- /dev/null +++ b/res/drawable-night/accessibility_button_navigation.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + diff --git a/res/drawable/accessibility_button_navigation.xml b/res/drawable/accessibility_button_navigation.xml index 82e3c70174f..8fdb6272c2e 100644 --- a/res/drawable/accessibility_button_navigation.xml +++ b/res/drawable/accessibility_button_navigation.xml @@ -15,53 +15,29 @@ --> - - - - - - - - - - - - - - - - + android:width="412dp" + android:height="300dp" + android:viewportWidth="412" + android:viewportHeight="300"> + + + + + + + From c2a04e3820ee8f88bec687f56d97a3e0673cdead Mon Sep 17 00:00:00 2001 From: Peter_Liang Date: Fri, 30 Jul 2021 18:10:21 +0800 Subject: [PATCH 4/6] Update the instruction images in Accessibility edit shortcut dialog. 1. Update the material next style. 2. Support for Lottie image. Bug: 195094388 Test: manual test Change-Id: I1fba7ee1d18b53f4c917319d2c0a4a304de0ae43 --- .../accessibility_shortcut_type_hardware.xml | 46 + .../accessibility_shortcut_type_software.xml | 48 + ...bility_shortcut_type_software_floating.xml | 39 + ...ibility_shortcut_type_software_gesture.xml | 40 + ...hortcut_type_software_gesture_talkback.xml | 43 + .../accessibility_shortcut_type_hardware.png | Bin 6506 -> 0 bytes .../accessibility_shortcut_type_hardware.xml | 34 + .../accessibility_shortcut_type_software.png | Bin 8299 -> 0 bytes .../accessibility_shortcut_type_software.xml | 48 + ...bility_shortcut_type_software_floating.xml | 67 +- ...ibility_shortcut_type_software_gesture.png | Bin 6670 -> 0 bytes ...ibility_shortcut_type_software_gesture.xml | 58 + ...hortcut_type_software_gesture_talkback.png | Bin 6854 -> 0 bytes ...hortcut_type_software_gesture_talkback.xml | 43 + ...accessibility_shortcut_type_triple_tap.png | Bin 8320 -> 0 bytes .../accessibility_edit_shortcut_component.xml | 10 +- .../accessibility_lottie_animation_view.xml | 39 + ...ccessibility_shortcut_type_triple_tap.json | 1959 +++++++++++++++++ .../AccessibilityDialogUtils.java | 47 +- ...ccessibilityGestureNavigationTutorial.java | 2 +- 20 files changed, 2461 insertions(+), 62 deletions(-) create mode 100644 res/drawable-night/accessibility_shortcut_type_hardware.xml create mode 100644 res/drawable-night/accessibility_shortcut_type_software.xml create mode 100644 res/drawable-night/accessibility_shortcut_type_software_floating.xml create mode 100644 res/drawable-night/accessibility_shortcut_type_software_gesture.xml create mode 100644 res/drawable-night/accessibility_shortcut_type_software_gesture_talkback.xml delete mode 100644 res/drawable/accessibility_shortcut_type_hardware.png create mode 100644 res/drawable/accessibility_shortcut_type_hardware.xml delete mode 100644 res/drawable/accessibility_shortcut_type_software.png create mode 100644 res/drawable/accessibility_shortcut_type_software.xml delete mode 100644 res/drawable/accessibility_shortcut_type_software_gesture.png create mode 100644 res/drawable/accessibility_shortcut_type_software_gesture.xml delete mode 100644 res/drawable/accessibility_shortcut_type_software_gesture_talkback.png create mode 100644 res/drawable/accessibility_shortcut_type_software_gesture_talkback.xml delete mode 100644 res/drawable/accessibility_shortcut_type_triple_tap.png create mode 100644 res/layout/accessibility_lottie_animation_view.xml create mode 100644 res/raw/accessibility_shortcut_type_triple_tap.json diff --git a/res/drawable-night/accessibility_shortcut_type_hardware.xml b/res/drawable-night/accessibility_shortcut_type_hardware.xml new file mode 100644 index 00000000000..9ef3664e745 --- /dev/null +++ b/res/drawable-night/accessibility_shortcut_type_hardware.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + diff --git a/res/drawable-night/accessibility_shortcut_type_software.xml b/res/drawable-night/accessibility_shortcut_type_software.xml new file mode 100644 index 00000000000..8d55ae91dc7 --- /dev/null +++ b/res/drawable-night/accessibility_shortcut_type_software.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + diff --git a/res/drawable-night/accessibility_shortcut_type_software_floating.xml b/res/drawable-night/accessibility_shortcut_type_software_floating.xml new file mode 100644 index 00000000000..25d53cac89e --- /dev/null +++ b/res/drawable-night/accessibility_shortcut_type_software_floating.xml @@ -0,0 +1,39 @@ + + + + + + + + + + diff --git a/res/drawable-night/accessibility_shortcut_type_software_gesture.xml b/res/drawable-night/accessibility_shortcut_type_software_gesture.xml new file mode 100644 index 00000000000..905586599fe --- /dev/null +++ b/res/drawable-night/accessibility_shortcut_type_software_gesture.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + diff --git a/res/drawable-night/accessibility_shortcut_type_software_gesture_talkback.xml b/res/drawable-night/accessibility_shortcut_type_software_gesture_talkback.xml new file mode 100644 index 00000000000..0b6f1e6142e --- /dev/null +++ b/res/drawable-night/accessibility_shortcut_type_software_gesture_talkback.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + diff --git a/res/drawable/accessibility_shortcut_type_hardware.png b/res/drawable/accessibility_shortcut_type_hardware.png deleted file mode 100644 index 664ceb368b7cacfc6b5f22e6e16d220456a244ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6506 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 diff --git a/res/drawable/accessibility_shortcut_type_hardware.xml b/res/drawable/accessibility_shortcut_type_hardware.xml new file mode 100644 index 00000000000..b6b227bd3ad --- /dev/null +++ b/res/drawable/accessibility_shortcut_type_hardware.xml @@ -0,0 +1,34 @@ + + + + + + + + + diff --git a/res/drawable/accessibility_shortcut_type_software.png b/res/drawable/accessibility_shortcut_type_software.png deleted file mode 100644 index 0212548c8e97778c30e57c0151f59759b8130a96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8299 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 diff --git a/res/drawable/accessibility_shortcut_type_software.xml b/res/drawable/accessibility_shortcut_type_software.xml new file mode 100644 index 00000000000..d0573aa4bbe --- /dev/null +++ b/res/drawable/accessibility_shortcut_type_software.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + diff --git a/res/drawable/accessibility_shortcut_type_software_floating.xml b/res/drawable/accessibility_shortcut_type_software_floating.xml index 958201515f1..88ce42d43bb 100644 --- a/res/drawable/accessibility_shortcut_type_software_floating.xml +++ b/res/drawable/accessibility_shortcut_type_software_floating.xml @@ -15,54 +15,25 @@ --> + android:width="412dp" + android:height="300dp" + android:viewportWidth="412" + android:viewportHeight="300"> + + - - - - - - - - - - - - - - - - - - + android:strokeColor="#dadce0"/> + + diff --git a/res/drawable/accessibility_shortcut_type_software_gesture.png b/res/drawable/accessibility_shortcut_type_software_gesture.png deleted file mode 100644 index 0a2921a29c4888ba80bba7cb0ff00ebe6f35da0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6670 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 GjQ=0TOr~T2 diff --git a/res/drawable/accessibility_shortcut_type_software_gesture.xml b/res/drawable/accessibility_shortcut_type_software_gesture.xml new file mode 100644 index 00000000000..514dd517898 --- /dev/null +++ b/res/drawable/accessibility_shortcut_type_software_gesture.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + diff --git a/res/drawable/accessibility_shortcut_type_software_gesture_talkback.png b/res/drawable/accessibility_shortcut_type_software_gesture_talkback.png deleted file mode 100644 index 85fec85cc944e0c51c4aa144d460dbee5e14d096..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6854 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 diff --git a/res/drawable/accessibility_shortcut_type_software_gesture_talkback.xml b/res/drawable/accessibility_shortcut_type_software_gesture_talkback.xml new file mode 100644 index 00000000000..9388e66e8d5 --- /dev/null +++ b/res/drawable/accessibility_shortcut_type_software_gesture_talkback.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + diff --git a/res/drawable/accessibility_shortcut_type_triple_tap.png b/res/drawable/accessibility_shortcut_type_triple_tap.png deleted file mode 100644 index 6a08d29b2eeb5d4e46859c303fe0466a53c42840..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8320 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 - + diff --git a/res/layout/accessibility_lottie_animation_view.xml b/res/layout/accessibility_lottie_animation_view.xml new file mode 100644 index 00000000000..f4638bec729 --- /dev/null +++ b/res/layout/accessibility_lottie_animation_view.xml @@ -0,0 +1,39 @@ + + + + + + + + + + diff --git a/res/raw/accessibility_shortcut_type_triple_tap.json b/res/raw/accessibility_shortcut_type_triple_tap.json new file mode 100644 index 00000000000..870e671a51f --- /dev/null +++ b/res/raw/accessibility_shortcut_type_triple_tap.json @@ -0,0 +1,1959 @@ +{ + "v": "5.6.5", + "fr": 60, + "ip": 0, + "op": 180, + "w": 412, + "h": 300, + "nm": "Triple_Tap_Screen", + "ddd": 0, + "assets": [ + { + "id": "comp_0", + "layers": [ + { + "ddd": 0, + "ind": 1, + "ty": 4, + "nm": ".white", + "cl": "white", + "hd": true, + "sr": 1, + "ks": { + "o": { + "a": 0, + "k": 100, + "ix": 11 + }, + "r": { + "a": 0, + "k": 0, + "ix": 10 + }, + "p": { + "a": 0, + "k": [ + 206, + 150, + 0 + ], + "ix": 2 + }, + "a": { + "a": 0, + "k": [ + 0, + 0, + 0 + ], + "ix": 1 + }, + "s": { + "a": 0, + "k": [ + 100, + 100, + 100 + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [ + 15.4, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 15.4 + ], + [ + 0, + 0 + ], + [ + -15.4, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + -15.4 + ], + [ + 0, + 0 + ] + ], + "o": [ + [ + 0, + 0 + ], + [ + -15.4, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + -15.4 + ], + [ + 0, + 0 + ], + [ + 15.4, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 15.4 + ] + ], + "v": [ + [ + 178, + 150 + ], + [ + -178, + 150 + ], + [ + -206, + 122 + ], + [ + -206, + -122 + ], + [ + -178, + -150 + ], + [ + 178, + -150 + ], + [ + 206, + -122 + ], + [ + 206, + 122 + ] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [ + 1, + 1, + 1, + 1 + ], + "ix": 4 + }, + "o": { + "a": 0, + "k": 100, + "ix": 5 + }, + "r": 1, + "bm": 0, + "nm": "Fill 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { + "a": 0, + "k": [ + 0, + 0 + ], + "ix": 2 + }, + "a": { + "a": 0, + "k": [ + 0, + 0 + ], + "ix": 1 + }, + "s": { + "a": 0, + "k": [ + 100, + 100 + ], + "ix": 3 + }, + "r": { + "a": 0, + "k": 0, + "ix": 6 + }, + "o": { + "a": 0, + "k": 100, + "ix": 7 + }, + "sk": { + "a": 0, + "k": 0, + "ix": 4 + }, + "sa": { + "a": 0, + "k": 0, + "ix": 5 + }, + "nm": "Transform" + } + ], + "nm": "Group 1", + "np": 2, + "cix": 2, + "bm": 0, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 0, + "op": 1800, + "st": 0, + "bm": 0 + } + ] + } + ], + "layers": [ + { + "ddd": 0, + "ind": 1, + "ty": 4, + "nm": ".grey200", + "cl": "grey200", + "sr": 1, + "ks": { + "o": { + "a": 0, + "k": 100, + "ix": 11 + }, + "r": { + "a": 0, + "k": 0, + "ix": 10 + }, + "p": { + "a": 0, + "k": [ + 206, + 150, + 0 + ], + "ix": 2 + }, + "a": { + "a": 0, + "k": [ + 1.35, + 0, + 0 + ], + "ix": 1 + }, + "s": { + "a": 0, + "k": [ + 100, + 100, + 100 + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [ + 0, + 0 + ], + [ + 0, + -73.4 + ], + [ + -73.4, + 0 + ], + [ + 0, + 73.4 + ], + [ + 73.4, + 0 + ] + ], + "o": [ + [ + -73.4, + 0 + ], + [ + 0, + 73.4 + ], + [ + 73.4, + 0 + ], + [ + 0, + -73.4 + ], + [ + 0, + 0 + ] + ], + "v": [ + [ + 1.4, + -132.9 + ], + [ + -131.6, + 0 + ], + [ + 1.3, + 132.9 + ], + [ + 134.3, + 0 + ], + [ + 1.4, + -132.9 + ] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ind": 1, + "ty": "sh", + "ix": 2, + "ks": { + "a": 0, + "k": { + "i": [ + [ + 0, + 0 + ], + [ + -24.7, + -24.8 + ], + [ + 0, + -35 + ], + [ + 24.8, + -24.7 + ], + [ + 35, + 0 + ], + [ + 24.7, + 24.8 + ], + [ + 0, + 35 + ], + [ + -24.8, + 24.7 + ], + [ + -35, + 0 + ] + ], + "o": [ + [ + 35, + 0 + ], + [ + 24.7, + 24.7 + ], + [ + 0, + 35 + ], + [ + -24.7, + 24.7 + ], + [ + -35, + 0 + ], + [ + -24.7, + -24.8 + ], + [ + 0, + -35 + ], + [ + 24.7, + -24.7 + ], + [ + 0, + 0 + ] + ], + "v": [ + [ + 1.4, + -130.9 + ], + [ + 94, + -92.5 + ], + [ + 132.4, + 0.1 + ], + [ + 94, + 92.7 + ], + [ + 1.4, + 131.1 + ], + [ + -91.2, + 92.7 + ], + [ + -129.6, + 0 + ], + [ + -91.2, + -92.6 + ], + [ + 1.4, + -130.9 + ] + ], + "c": false + }, + "ix": 2 + }, + "nm": "Path 2", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [ + 0.909803926945, + 0.917647063732, + 0.929411768913, + 1 + ], + "ix": 4 + }, + "o": { + "a": 0, + "k": 100, + "ix": 5 + }, + "r": 1, + "bm": 0, + "nm": "Fill 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { + "a": 0, + "k": [ + 0, + 0 + ], + "ix": 2 + }, + "a": { + "a": 0, + "k": [ + 0, + 0 + ], + "ix": 1 + }, + "s": { + "a": 0, + "k": [ + 100, + 100 + ], + "ix": 3 + }, + "r": { + "a": 0, + "k": 0, + "ix": 6 + }, + "o": { + "a": 0, + "k": 100, + "ix": 7 + }, + "sk": { + "a": 0, + "k": 0, + "ix": 4 + }, + "sa": { + "a": 0, + "k": 0, + "ix": 5 + }, + "nm": "Transform" + } + ], + "nm": "Group 1", + "np": 3, + "cix": 2, + "bm": 0, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 0, + "op": 300, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 2, + "ty": 4, + "nm": ".grey300", + "cl": "grey300", + "sr": 1, + "ks": { + "o": { + "a": 0, + "k": 100, + "ix": 11 + }, + "r": { + "a": 0, + "k": 0, + "ix": 10 + }, + "p": { + "a": 0, + "k": [ + 205, + 150, + 0 + ], + "ix": 2 + }, + "a": { + "a": 0, + "k": [ + 0, + 0, + 0 + ], + "ix": 1 + }, + "s": { + "a": 0, + "k": [ + 100, + 100, + 100 + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "ty": "gr", + "it": [ + { + "ind": 0, + "ty": "sh", + "ix": 1, + "ks": { + "a": 0, + "k": { + "i": [ + [ + -7.9, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 8 + ], + [ + 0, + 0 + ], + [ + 0, + 1.6 + ], + [ + 0, + 0 + ], + [ + 2, + 1.5 + ], + [ + 0, + 0 + ], + [ + 6.4, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 6.4 + ], + [ + 0, + 0 + ], + [ + 1, + -0.7 + ], + [ + 0, + 0 + ] + ], + "o": [ + [ + 0, + 0 + ], + [ + 8, + 0 + ], + [ + 0, + 0 + ], + [ + 1.6, + 0 + ], + [ + 0, + 0 + ], + [ + -1.9, + -1.6 + ], + [ + 0, + 0 + ], + [ + 0, + 6.4 + ], + [ + 0, + 0 + ], + [ + -6.4, + 0 + ], + [ + 0, + 0 + ], + [ + -1, + 0.7 + ], + [ + 0, + 0 + ], + [ + 0.1, + 7.9 + ] + ], + "v": [ + [ + -64, + 75.3 + ], + [ + 69.1, + 75.3 + ], + [ + 83.6, + 60.8 + ], + [ + 83.6, + -81 + ], + [ + 86.5, + -83.9 + ], + [ + 86.5, + -100.9 + ], + [ + 80.7, + -105.6 + ], + [ + 80.7, + 60.8 + ], + [ + 69.1, + 72.4 + ], + [ + -64, + 72.4 + ], + [ + -75.6, + 60.8 + ], + [ + -75.6, + -107.3 + ], + [ + -78.5, + -105.2 + ], + [ + -78.5, + 60.9 + ] + ], + "c": true + }, + "ix": 2 + }, + "nm": "Path 1", + "mn": "ADBE Vector Shape - Group", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [ + 0.854901969433, + 0.86274510622, + 0.878431379795, + 1 + ], + "ix": 4 + }, + "o": { + "a": 0, + "k": 100, + "ix": 5 + }, + "r": 1, + "bm": 0, + "nm": "Fill 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { + "a": 0, + "k": [ + 0, + 0 + ], + "ix": 2 + }, + "a": { + "a": 0, + "k": [ + 0, + 0 + ], + "ix": 1 + }, + "s": { + "a": 0, + "k": [ + 100, + 100 + ], + "ix": 3 + }, + "r": { + "a": 0, + "k": 0, + "ix": 6 + }, + "o": { + "a": 0, + "k": 100, + "ix": 7 + }, + "sk": { + "a": 0, + "k": 0, + "ix": 4 + }, + "sa": { + "a": 0, + "k": 0, + "ix": 5 + }, + "nm": "Transform" + } + ], + "nm": "Group 1", + "np": 2, + "cix": 2, + "bm": 0, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + }, + { + "ty": "tr", + "p": { + "a": 0, + "k": [ + 0, + 0 + ], + "ix": 2 + }, + "a": { + "a": 0, + "k": [ + 0, + 0 + ], + "ix": 1 + }, + "s": { + "a": 0, + "k": [ + 100, + 100 + ], + "ix": 3 + }, + "r": { + "a": 0, + "k": 0, + "ix": 6 + }, + "o": { + "a": 0, + "k": 100, + "ix": 7 + }, + "sk": { + "a": 0, + "k": 0, + "ix": 4 + }, + "sa": { + "a": 0, + "k": 0, + "ix": 5 + }, + "nm": "Transform" + } + ], + "nm": "Group 1", + "np": 1, + "cix": 2, + "bm": 0, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 0, + "op": 300, + "st": 0, + "bm": 0 + }, + { + "ddd": 0, + "ind": 3, + "ty": 4, + "nm": "cursor 5", + "sr": 1, + "ks": { + "o": { + "a": 1, + "k": [ + { + "i": { + "x": [ + 0.833 + ], + "y": [ + 0.833 + ] + }, + "o": { + "x": [ + 0.167 + ], + "y": [ + 0.167 + ] + }, + "t": 36, + "s": [ + 0 + ] + }, + { + "i": { + "x": [ + 0.833 + ], + "y": [ + 0.833 + ] + }, + "o": { + "x": [ + 0.167 + ], + "y": [ + 0.167 + ] + }, + "t": 39.582, + "s": [ + 100 + ] + }, + { + "i": { + "x": [ + 0.833 + ], + "y": [ + 0.833 + ] + }, + "o": { + "x": [ + 0.167 + ], + "y": [ + 0.167 + ] + }, + "t": 44.953, + "s": [ + 100 + ] + }, + { + "t": 55.697265625, + "s": [ + 0 + ] + } + ], + "ix": 11 + }, + "r": { + "a": 0, + "k": 0, + "ix": 10 + }, + "p": { + "a": 0, + "k": [ + 207.641, + 154.48, + 0 + ], + "ix": 2 + }, + "a": { + "a": 0, + "k": [ + -180.5, + -165.5, + 0 + ], + "ix": 1 + }, + "s": { + "a": 1, + "k": [ + { + "i": { + "x": [ + 0, + 0, + 0 + ], + "y": [ + 1, + 1, + 1 + ] + }, + "o": { + "x": [ + 0.45, + 0.45, + 0.45 + ], + "y": [ + 0, + 0, + 0 + ] + }, + "t": 37.791, + "s": [ + 27.252, + 27.252, + 100 + ] + }, + { + "t": 59, + "s": [ + 56.661, + 56.661, + 100 + ] + } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "d": 1, + "ty": "el", + "s": { + "a": 0, + "k": [ + 63.109, + 63.109 + ], + "ix": 2 + }, + "p": { + "a": 0, + "k": [ + 0, + 0 + ], + "ix": 3 + }, + "nm": "Ellipse Path 1", + "mn": "ADBE Vector Shape - Ellipse", + "hd": false + }, + { + "ty": "st", + "c": { + "a": 0, + "k": [ + 1, + 0.182245725744, + 0.894323072246, + 1 + ], + "ix": 3 + }, + "o": { + "a": 0, + "k": 100, + "ix": 4 + }, + "w": { + "a": 0, + "k": 3, + "ix": 5 + }, + "lc": 1, + "lj": 1, + "ml": 4, + "bm": 0, + "nm": "Stroke 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [ + 1, + 0.522196631338, + 0.9762855081, + 1 + ], + "ix": 4 + }, + "o": { + "a": 0, + "k": 50, + "ix": 5 + }, + "r": 1, + "bm": 0, + "nm": "Fill 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { + "a": 0, + "k": [ + -180.5, + -165.5 + ], + "ix": 2 + }, + "a": { + "a": 0, + "k": [ + 0, + 0 + ], + "ix": 1 + }, + "s": { + "a": 0, + "k": [ + 100, + 100 + ], + "ix": 3 + }, + "r": { + "a": 0, + "k": 0, + "ix": 6 + }, + "o": { + "a": 0, + "k": 100, + "ix": 7 + }, + "sk": { + "a": 0, + "k": 0, + "ix": 4 + }, + "sa": { + "a": 0, + "k": 0, + "ix": 5 + }, + "nm": "Transform" + } + ], + "nm": "Ellipse 1", + "np": 3, + "cix": 2, + "bm": 0, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 36, + "op": 59, + "st": -1, + "bm": 0 + }, + { + "ddd": 0, + "ind": 4, + "ty": 4, + "nm": "cursor 4", + "sr": 1, + "ks": { + "o": { + "a": 1, + "k": [ + { + "i": { + "x": [ + 0.833 + ], + "y": [ + 0.833 + ] + }, + "o": { + "x": [ + 0.167 + ], + "y": [ + 0.167 + ] + }, + "t": 22, + "s": [ + 0 + ] + }, + { + "i": { + "x": [ + 0.833 + ], + "y": [ + 0.833 + ] + }, + "o": { + "x": [ + 0.167 + ], + "y": [ + 0.167 + ] + }, + "t": 25.58, + "s": [ + 100 + ] + }, + { + "i": { + "x": [ + 0.833 + ], + "y": [ + 0.833 + ] + }, + "o": { + "x": [ + 0.167 + ], + "y": [ + 0.167 + ] + }, + "t": 30.953, + "s": [ + 100 + ] + }, + { + "t": 41.697265625, + "s": [ + 0 + ] + } + ], + "ix": 11 + }, + "r": { + "a": 0, + "k": 0, + "ix": 10 + }, + "p": { + "a": 0, + "k": [ + 207.641, + 154.48, + 0 + ], + "ix": 2 + }, + "a": { + "a": 0, + "k": [ + -180.5, + -165.5, + 0 + ], + "ix": 1 + }, + "s": { + "a": 1, + "k": [ + { + "i": { + "x": [ + 0, + 0, + 0 + ], + "y": [ + 1, + 1, + 1 + ] + }, + "o": { + "x": [ + 0.45, + 0.45, + 0.45 + ], + "y": [ + 0, + 0, + 0 + ] + }, + "t": 23.789, + "s": [ + 27.252, + 27.252, + 100 + ] + }, + { + "t": 45, + "s": [ + 56.661, + 56.661, + 100 + ] + } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "d": 1, + "ty": "el", + "s": { + "a": 0, + "k": [ + 63.109, + 63.109 + ], + "ix": 2 + }, + "p": { + "a": 0, + "k": [ + 0, + 0 + ], + "ix": 3 + }, + "nm": "Ellipse Path 1", + "mn": "ADBE Vector Shape - Ellipse", + "hd": false + }, + { + "ty": "st", + "c": { + "a": 0, + "k": [ + 1, + 0.182245725744, + 0.894323072246, + 1 + ], + "ix": 3 + }, + "o": { + "a": 0, + "k": 100, + "ix": 4 + }, + "w": { + "a": 0, + "k": 3, + "ix": 5 + }, + "lc": 1, + "lj": 1, + "ml": 4, + "bm": 0, + "nm": "Stroke 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [ + 1, + 0.522196631338, + 0.9762855081, + 1 + ], + "ix": 4 + }, + "o": { + "a": 0, + "k": 50, + "ix": 5 + }, + "r": 1, + "bm": 0, + "nm": "Fill 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { + "a": 0, + "k": [ + -180.5, + -165.5 + ], + "ix": 2 + }, + "a": { + "a": 0, + "k": [ + 0, + 0 + ], + "ix": 1 + }, + "s": { + "a": 0, + "k": [ + 100, + 100 + ], + "ix": 3 + }, + "r": { + "a": 0, + "k": 0, + "ix": 6 + }, + "o": { + "a": 0, + "k": 100, + "ix": 7 + }, + "sk": { + "a": 0, + "k": 0, + "ix": 4 + }, + "sa": { + "a": 0, + "k": 0, + "ix": 5 + }, + "nm": "Transform" + } + ], + "nm": "Ellipse 1", + "np": 3, + "cix": 2, + "bm": 0, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 22, + "op": 45, + "st": -3, + "bm": 0 + }, + { + "ddd": 0, + "ind": 5, + "ty": 4, + "nm": "cursor", + "sr": 1, + "ks": { + "o": { + "a": 1, + "k": [ + { + "i": { + "x": [ + 0.833 + ], + "y": [ + 0.833 + ] + }, + "o": { + "x": [ + 0.167 + ], + "y": [ + 0.167 + ] + }, + "t": 8, + "s": [ + 0 + ] + }, + { + "i": { + "x": [ + 0.833 + ], + "y": [ + 0.833 + ] + }, + "o": { + "x": [ + 0.167 + ], + "y": [ + 0.167 + ] + }, + "t": 11.582, + "s": [ + 100 + ] + }, + { + "i": { + "x": [ + 0.833 + ], + "y": [ + 0.833 + ] + }, + "o": { + "x": [ + 0.167 + ], + "y": [ + 0.167 + ] + }, + "t": 16.953, + "s": [ + 100 + ] + }, + { + "t": 27.697265625, + "s": [ + 0 + ] + } + ], + "ix": 11 + }, + "r": { + "a": 0, + "k": 0, + "ix": 10 + }, + "p": { + "a": 0, + "k": [ + 207.641, + 154.48, + 0 + ], + "ix": 2 + }, + "a": { + "a": 0, + "k": [ + -180.5, + -165.5, + 0 + ], + "ix": 1 + }, + "s": { + "a": 1, + "k": [ + { + "i": { + "x": [ + 0, + 0, + 0 + ], + "y": [ + 1, + 1, + 1 + ] + }, + "o": { + "x": [ + 0.45, + 0.45, + 0.45 + ], + "y": [ + 0, + 0, + 0 + ] + }, + "t": 9.791, + "s": [ + 27.252, + 27.252, + 100 + ] + }, + { + "t": 31, + "s": [ + 56.661, + 56.661, + 100 + ] + } + ], + "ix": 6 + } + }, + "ao": 0, + "shapes": [ + { + "ty": "gr", + "it": [ + { + "d": 1, + "ty": "el", + "s": { + "a": 0, + "k": [ + 63.109, + 63.109 + ], + "ix": 2 + }, + "p": { + "a": 0, + "k": [ + 0, + 0 + ], + "ix": 3 + }, + "nm": "Ellipse Path 1", + "mn": "ADBE Vector Shape - Ellipse", + "hd": false + }, + { + "ty": "st", + "c": { + "a": 0, + "k": [ + 1, + 0.182245725744, + 0.894323072246, + 1 + ], + "ix": 3 + }, + "o": { + "a": 0, + "k": 100, + "ix": 4 + }, + "w": { + "a": 0, + "k": 3, + "ix": 5 + }, + "lc": 1, + "lj": 1, + "ml": 4, + "bm": 0, + "nm": "Stroke 1", + "mn": "ADBE Vector Graphic - Stroke", + "hd": false + }, + { + "ty": "fl", + "c": { + "a": 0, + "k": [ + 1, + 0.522196631338, + 0.9762855081, + 1 + ], + "ix": 4 + }, + "o": { + "a": 0, + "k": 50, + "ix": 5 + }, + "r": 1, + "bm": 0, + "nm": "Fill 1", + "mn": "ADBE Vector Graphic - Fill", + "hd": false + }, + { + "ty": "tr", + "p": { + "a": 0, + "k": [ + -180.5, + -165.5 + ], + "ix": 2 + }, + "a": { + "a": 0, + "k": [ + 0, + 0 + ], + "ix": 1 + }, + "s": { + "a": 0, + "k": [ + 100, + 100 + ], + "ix": 3 + }, + "r": { + "a": 0, + "k": 0, + "ix": 6 + }, + "o": { + "a": 0, + "k": 100, + "ix": 7 + }, + "sk": { + "a": 0, + "k": 0, + "ix": 4 + }, + "sa": { + "a": 0, + "k": 0, + "ix": 5 + }, + "nm": "Transform" + } + ], + "nm": "Ellipse 1", + "np": 3, + "cix": 2, + "bm": 0, + "ix": 1, + "mn": "ADBE Vector Group", + "hd": false + } + ], + "ip": 8, + "op": 31, + "st": -5, + "bm": 0 + }, + { + "ddd": 0, + "ind": 6, + "ty": 0, + "nm": "BG_White", + "refId": "comp_0", + "sr": 1, + "ks": { + "o": { + "a": 0, + "k": 100, + "ix": 11 + }, + "r": { + "a": 0, + "k": 0, + "ix": 10 + }, + "p": { + "a": 0, + "k": [ + 206, + 150, + 0 + ], + "ix": 2 + }, + "a": { + "a": 0, + "k": [ + 206, + 150, + 0 + ], + "ix": 1 + }, + "s": { + "a": 0, + "k": [ + 100, + 100, + 100 + ], + "ix": 6 + } + }, + "ao": 0, + "w": 412, + "h": 300, + "ip": 0, + "op": 1800, + "st": 0, + "bm": 0 + } + ], + "markers": [] +} \ No newline at end of file diff --git a/src/com/android/settings/accessibility/AccessibilityDialogUtils.java b/src/com/android/settings/accessibility/AccessibilityDialogUtils.java index a9ba14a7646..b353805bdba 100644 --- a/src/com/android/settings/accessibility/AccessibilityDialogUtils.java +++ b/src/com/android/settings/accessibility/AccessibilityDialogUtils.java @@ -31,6 +31,7 @@ import android.text.SpannableStringBuilder; import android.text.TextUtils; import android.text.method.LinkMovementMethod; import android.text.style.ImageSpan; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.widget.AbsListView; @@ -44,9 +45,11 @@ import android.widget.ScrollView; import android.widget.TextView; import androidx.annotation.ColorInt; +import androidx.annotation.DrawableRes; import androidx.annotation.IntDef; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.annotation.RawRes; import androidx.appcompat.app.AlertDialog; import androidx.core.content.ContextCompat; @@ -54,6 +57,9 @@ import com.android.settings.R; import com.android.settings.core.SubSettingLauncher; import com.android.settings.utils.AnnotationSpan; +import com.airbnb.lottie.LottieAnimationView; +import com.airbnb.lottie.LottieDrawable; + import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.List; @@ -63,6 +69,7 @@ import java.util.List; * Utility class for creating the edit dialog. */ public class AccessibilityDialogUtils { + private static final String TAG = "AccessibilityDialogUtils"; /** Denotes the dialog emuns for show dialog. */ @Retention(RetentionPolicy.SOURCE) @@ -315,9 +322,22 @@ public class AccessibilityDialogUtils { } private static void setupShortcutWidget(View view, CharSequence titleText, - CharSequence summaryText, int imageResId) { + CharSequence summaryText, @DrawableRes int imageResId) { + setupShortcutWidgetWithTitleAndSummary(view, titleText, summaryText); + setupShortcutWidgetWithImageResource(view, imageResId); + } + + private static void setupShortcutWidgetWithImageRawResource(View view, CharSequence titleText, + CharSequence summaryText, @RawRes int imageRawResId) { + setupShortcutWidgetWithTitleAndSummary(view, titleText, summaryText); + setupShortcutWidgetWithImageRawResource(view, imageRawResId); + } + + private static void setupShortcutWidgetWithTitleAndSummary(View view, CharSequence titleText, + CharSequence summaryText) { final CheckBox checkBox = view.findViewById(R.id.checkbox); checkBox.setText(titleText); + final TextView summary = view.findViewById(R.id.summary); if (TextUtils.isEmpty(summaryText)) { summary.setVisibility(View.GONE); @@ -326,8 +346,23 @@ public class AccessibilityDialogUtils { summary.setMovementMethod(LinkMovementMethod.getInstance()); summary.setFocusable(false); } - final ImageView image = view.findViewById(R.id.image); - image.setImageResource(imageResId); + } + + private static void setupShortcutWidgetWithImageResource(View view, + @DrawableRes int imageResId) { + final ImageView imageView = view.findViewById(R.id.image); + imageView.setImageResource(imageResId); + } + + private static void setupShortcutWidgetWithImageRawResource(View view, + @RawRes int imageRawResId) { + final LottieAnimationView lottieView = view.findViewById(R.id.image); + lottieView.setFailureListener( + result -> Log.w(TAG, "Invalid image raw resource id: " + imageRawResId, + result)); + lottieView.setAnimation(imageRawResId); + lottieView.setRepeatCount(LottieDrawable.INFINITE); + lottieView.playAnimation(); } private static void initSoftwareShortcutForSUW(Context context, View view) { @@ -361,7 +396,6 @@ public class AccessibilityDialogUtils { R.string.accessibility_shortcut_edit_dialog_summary_hardware); setupShortcutWidget(dialogView, title, summary, R.drawable.accessibility_shortcut_type_hardware); - // TODO(b/142531156): Use vector drawable instead of temporal png file to avoid distorted. } private static void initMagnifyShortcut(Context context, View view) { @@ -374,9 +408,8 @@ public class AccessibilityDialogUtils { final Object[] arguments = {3}; summary = MessageFormat.format(summary, arguments); - setupShortcutWidget(dialogView, title, summary, - R.drawable.accessibility_shortcut_type_triple_tap); - // TODO(b/142531156): Use vector drawable instead of temporal png file to avoid distorted. + setupShortcutWidgetWithImageRawResource(dialogView, title, summary, + R.raw.accessibility_shortcut_type_triple_tap); } private static void initAdvancedWidget(View view) { diff --git a/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java b/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java index bc2e05d3258..de368352c3a 100644 --- a/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java +++ b/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java @@ -352,7 +352,7 @@ public final class AccessibilityGestureNavigationTutorial { final CharSequence title = context.getText(R.string.accessibility_tutorial_dialog_title_triple); final ImageView image = - createImageView(context, R.drawable.accessibility_shortcut_type_triple_tap); + createImageView(context, R.raw.accessibility_shortcut_type_triple_tap); final CharSequence instruction = context.getText(R.string.accessibility_tutorial_dialog_message_triple); final ImageView indicatorIcon = From 192dfdec7f34af310d5f35e2a1269666108379ea Mon Sep 17 00:00:00 2001 From: Peter_Liang Date: Fri, 6 Aug 2021 11:15:27 +0800 Subject: [PATCH 5/6] Update the instruction images in Accessibility tutorial dialog. 1. Update the material next style. 2. Support for Lottie image. Bug: 195094388 Test: manual test Change-Id: I57306532b10e91c927bdc1ef5e115f41bc7a939b --- ...ccessibilityGestureNavigationTutorial.java | 85 ++++++++++++++++--- 1 file changed, 71 insertions(+), 14 deletions(-) diff --git a/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java b/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java index de368352c3a..09f28d72c9b 100644 --- a/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java +++ b/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java @@ -29,12 +29,14 @@ import android.text.Spannable; import android.text.SpannableString; import android.text.SpannableStringBuilder; import android.text.style.ImageSpan; +import android.util.Log; import android.view.Gravity; import android.view.LayoutInflater; import android.view.TextureView; import android.view.View; import android.view.ViewGroup; import android.view.Window; +import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextSwitcher; @@ -42,8 +44,10 @@ import android.widget.TextView; import androidx.annotation.AnimRes; import androidx.annotation.ColorInt; +import androidx.annotation.DrawableRes; import androidx.annotation.IntDef; import androidx.annotation.NonNull; +import androidx.annotation.RawRes; import androidx.annotation.VisibleForTesting; import androidx.appcompat.app.AlertDialog; import androidx.core.content.ContextCompat; @@ -54,6 +58,9 @@ import androidx.viewpager.widget.ViewPager; import com.android.settings.R; +import com.airbnb.lottie.LottieAnimationView; +import com.airbnb.lottie.LottieDrawable; + import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; @@ -64,6 +71,8 @@ import java.util.List; * accessibility services. */ public final class AccessibilityGestureNavigationTutorial { + private static final String TAG = "AccessibilityGestureNavigationTutorial"; + /** IntDef enum for dialog type. */ @Retention(RetentionPolicy.SOURCE) @IntDef({ @@ -239,7 +248,7 @@ public final class AccessibilityGestureNavigationTutorial { @NonNull @Override public Object instantiateItem(@NonNull ViewGroup container, int position) { - final View itemView = mTutorialPages.get(position).getImageView(); + final View itemView = mTutorialPages.get(position).getIllustrationView(); container.addView(itemView); return itemView; } @@ -257,7 +266,7 @@ public final class AccessibilityGestureNavigationTutorial { @Override public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) { - final View itemView = mTutorialPages.get(position).getImageView(); + final View itemView = mTutorialPages.get(position).getIllustrationView(); container.removeView(itemView); } } @@ -270,6 +279,34 @@ public final class AccessibilityGestureNavigationTutorial { return imageView; } + private static View createIllustrationView(Context context, @DrawableRes int imageRes) { + final View illustrationFrame = inflateAndInitIllustrationFrame(context); + final LottieAnimationView lottieView = illustrationFrame.findViewById(R.id.image); + lottieView.setImageResource(imageRes); + + return illustrationFrame; + } + + private static View createIllustrationViewWithImageRawResource(Context context, + @RawRes int imageRawRes) { + final View illustrationFrame = inflateAndInitIllustrationFrame(context); + final LottieAnimationView lottieView = illustrationFrame.findViewById(R.id.image); + lottieView.setFailureListener( + result -> Log.w(TAG, "Invalid image raw resource id: " + imageRawRes, + result)); + lottieView.setAnimation(imageRawRes); + lottieView.setRepeatCount(LottieDrawable.INFINITE); + lottieView.playAnimation(); + + return illustrationFrame; + } + + private static View inflateAndInitIllustrationFrame(Context context) { + final LayoutInflater inflater = context.getSystemService(LayoutInflater.class); + + return inflater.inflate(R.layout.accessibility_lottie_animation_view, /* root= */ null); + } + private static View createShortcutNavigationContentView(Context context, int shortcutTypes) { final LayoutInflater inflater = context.getSystemService(LayoutInflater.class); final View contentView = inflater.inflate( @@ -325,7 +362,7 @@ public final class AccessibilityGestureNavigationTutorial { private static TutorialPage createSoftwareTutorialPage(@NonNull Context context) { final CharSequence title = getSoftwareTitle(context); - final ImageView image = createSoftwareImage(context); + final View image = createSoftwareImage(context); final CharSequence instruction = getSoftwareInstruction(context); final ImageView indicatorIcon = createImageView(context, R.drawable.ic_accessibility_page_indicator); @@ -337,8 +374,8 @@ public final class AccessibilityGestureNavigationTutorial { private static TutorialPage createHardwareTutorialPage(@NonNull Context context) { final CharSequence title = context.getText(R.string.accessibility_tutorial_dialog_title_volume); - final ImageView image = - createImageView(context, R.drawable.accessibility_shortcut_type_hardware); + final View image = + createIllustrationView(context, R.drawable.accessibility_shortcut_type_hardware); final ImageView indicatorIcon = createImageView(context, R.drawable.ic_accessibility_page_indicator); final CharSequence instruction = @@ -351,8 +388,9 @@ public final class AccessibilityGestureNavigationTutorial { private static TutorialPage createTripleTapTutorialPage(@NonNull Context context) { final CharSequence title = context.getText(R.string.accessibility_tutorial_dialog_title_triple); - final ImageView image = - createImageView(context, R.raw.accessibility_shortcut_type_triple_tap); + final View image = + createIllustrationViewWithImageRawResource(context, + R.raw.accessibility_shortcut_type_triple_tap); final CharSequence instruction = context.getText(R.string.accessibility_tutorial_dialog_message_triple); final ImageView indicatorIcon = @@ -381,7 +419,7 @@ public final class AccessibilityGestureNavigationTutorial { return tutorialPages; } - private static ImageView createSoftwareImage(Context context) { + private static View createSoftwareImage(Context context) { int resId; if (AccessibilityUtil.isFloatingMenuEnabled(context)) { resId = R.drawable.accessibility_shortcut_type_software_floating; @@ -392,7 +430,7 @@ public final class AccessibilityGestureNavigationTutorial { } else { resId = R.drawable.accessibility_shortcut_type_software; } - return createImageView(context, resId); + return createIllustrationView(context, resId); } private static CharSequence getSoftwareTitle(Context context) { @@ -444,24 +482,26 @@ public final class AccessibilityGestureNavigationTutorial { private static class TutorialPage { private final CharSequence mTitle; - private final ImageView mImageView; + private final View mIllustrationView; private final ImageView mIndicatorIcon; private final CharSequence mInstruction; - TutorialPage(CharSequence title, ImageView imageView, ImageView indicatorIcon, + TutorialPage(CharSequence title, View illustrationView, ImageView indicatorIcon, CharSequence instruction) { this.mTitle = title; - this.mImageView = imageView; + this.mIllustrationView = illustrationView; this.mIndicatorIcon = indicatorIcon; this.mInstruction = instruction; + + setupIllustrationChildViewsGravity(); } public CharSequence getTitle() { return mTitle; } - public ImageView getImageView() { - return mImageView; + public View getIllustrationView() { + return mIllustrationView; } public ImageView getIndicatorIcon() { @@ -471,6 +511,23 @@ public final class AccessibilityGestureNavigationTutorial { public CharSequence getInstruction() { return mInstruction; } + + private void setupIllustrationChildViewsGravity() { + final View backgroundView = mIllustrationView.findViewById(R.id.image_background); + initViewGravity(backgroundView); + + final View lottieView = mIllustrationView.findViewById(R.id.image); + initViewGravity(lottieView); + } + + private void initViewGravity(@NonNull View view) { + final FrameLayout.LayoutParams layoutParams = + new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_CONTENT, + FrameLayout.LayoutParams.WRAP_CONTENT); + layoutParams.gravity = Gravity.CENTER; + + view.setLayoutParams(layoutParams); + } } private static class TutorialPageChangeListener implements ViewPager.OnPageChangeListener { From dc9b53c44608baa2aa52ad46e9137e3be4691fa0 Mon Sep 17 00:00:00 2001 From: Curtis Belmonte Date: Mon, 16 Aug 2021 14:00:10 -0700 Subject: [PATCH 6/6] Remove/replace old fingerprint icon in SUW/Settings Replaces instances of the old fingerprint icon shown during Setup Wizard or in Settings with either an updated version or an entirely different icon. Test: Manual Fixes: 196600265 Change-Id: If78e8f0dbdb033f557614a019d4c9dde4493b6c6 --- res/drawable/ic_fingerprint_24dp.xml | 9 +++++---- .../settings/password/ChooseLockPassword.java | 8 +------- .../settings/password/ChooseLockPattern.java | 8 +------- .../settings/password/ChooseLockPasswordTest.java | 12 ------------ .../settings/password/ChooseLockPatternTest.java | 13 ------------- 5 files changed, 7 insertions(+), 43 deletions(-) diff --git a/res/drawable/ic_fingerprint_24dp.xml b/res/drawable/ic_fingerprint_24dp.xml index e52f0f5e6bb..12df32de73b 100644 --- a/res/drawable/ic_fingerprint_24dp.xml +++ b/res/drawable/ic_fingerprint_24dp.xml @@ -16,10 +16,11 @@ + android:pathData="M7.3122,4.6691C8.6549,3.9318 10.2631,3.5 11.9979,3.5C13.7326,3.5 15.3409,3.9318 16.6835,4.6691C17.0466,4.8684 17.5026,4.7357 17.7019,4.3727C17.9013,4.0096 17.7686,3.5536 17.4055,3.3543C15.838,2.4935 13.9808,2 11.9979,2C10.0149,2 8.1578,2.4935 6.5902,3.3543C6.2271,3.5536 6.0944,4.0096 6.2938,4.3727C6.4932,4.7357 6.9491,4.8684 7.3122,4.6691ZM6.8614,14.8781C6.862,12.3662 9.0049,10.2292 11.9992,10.2292C14.9939,10.2292 17.137,12.3668 17.137,14.8791V15.0389C17.137,15.735 16.5727,16.2992 15.8767,16.2992C15.3591,16.2992 14.9045,15.9899 14.7153,15.5116L14.7142,15.509L14.0424,13.8294L14.0418,13.828C13.6244,12.7746 12.6064,12.0936 11.4861,12.0936C9.9616,12.0936 8.7258,13.3294 8.7258,14.8539C8.7258,16.4681 9.4592,18.005 10.7237,19.0147L10.7237,19.0147L10.7295,19.0192L11.1164,19.322C11.4426,19.5773 11.914,19.5198 12.1692,19.1936C12.4245,18.8674 12.367,18.396 12.0409,18.1408L11.657,17.8403C10.7531,17.1173 10.2258,16.0141 10.2258,14.8539C10.2258,14.1578 10.79,13.5936 11.4861,13.5936C11.9971,13.5936 12.459,13.9045 12.6475,14.3812L12.6486,14.3838L13.3204,16.0634L13.321,16.0649C13.7377,17.1165 14.7462,17.7992 15.8767,17.7992C17.4012,17.7992 18.637,16.5634 18.637,15.0389V14.8791C18.637,11.4364 15.7165,8.7292 11.9992,8.7292C8.2818,8.7292 5.3614,11.4364 5.3614,14.8791H6.1114C5.3614,14.8791 5.3614,14.8792 5.3614,14.8794L5.3614,14.8797L5.3614,14.8803L5.3614,14.882L5.3614,14.8865L5.3615,14.9002C5.3617,14.9114 5.3619,14.9268 5.3624,14.9459C5.3633,14.9842 5.365,15.0379 5.3684,15.1047C5.3752,15.2382 5.3885,15.4256 5.415,15.6487C5.4674,16.0908 5.5735,16.6934 5.7925,17.3028C5.9326,17.6926 6.3622,17.8951 6.752,17.755C7.1418,17.6149 7.3442,17.1853 7.2041,16.7955C7.0362,16.3283 6.9489,15.8459 6.9046,15.4721C6.8826,15.2873 6.8718,15.134 6.8665,15.0288C6.8638,14.9764 6.8625,14.9362 6.8619,14.9105L6.8615,14.8831L6.8614,14.8791H6.1114C6.8614,14.8791 6.8614,14.879 6.8614,14.8789V14.8781ZM11.9985,6.8631C9.2417,6.8631 6.9467,8.145 5.9123,9.8642C5.6987,10.2192 5.2379,10.3338 4.883,10.1202C4.528,9.9067 4.4134,9.4458 4.627,9.0909C5.9813,6.8401 8.8171,5.3631 11.9985,5.3631C15.18,5.3631 18.0157,6.8401 19.3701,9.0909C19.5836,9.4458 19.469,9.9067 19.1141,10.1202C18.7592,10.3338 18.2983,10.2192 18.0848,9.8642C17.0503,8.145 14.7553,6.8631 11.9985,6.8631ZM8.3064,19.0229C8.0034,18.7404 7.5288,18.7571 7.2463,19.06C6.9639,19.363 6.9805,19.8376 7.2835,20.12C8.5306,21.2828 10.182,22.0037 12.0005,22.0037C13.8189,22.0037 15.4703,21.2828 16.7175,20.12C17.0204,19.8376 17.037,19.363 16.7546,19.06C16.4721,18.7571 15.9975,18.7404 15.6946,19.0229C14.7044,19.9461 13.4119,20.5037 12.0005,20.5037C10.5891,20.5037 9.2965,19.9461 8.3064,19.0229Z" + android:fillColor="#000000" + android:fillType="evenOdd"/> diff --git a/src/com/android/settings/password/ChooseLockPassword.java b/src/com/android/settings/password/ChooseLockPassword.java index ae178c88883..c03362510d0 100644 --- a/src/com/android/settings/password/ChooseLockPassword.java +++ b/src/com/android/settings/password/ChooseLockPassword.java @@ -499,13 +499,7 @@ public class ChooseLockPassword extends SettingsActivity { mNextButton = mixin.getPrimaryButton(); mMessage = view.findViewById(R.id.sud_layout_description); - if (mForFingerprint) { - mLayout.setIcon(getActivity().getDrawable(R.drawable.ic_fingerprint_header)); - } else if (mForFace) { - mLayout.setIcon(getActivity().getDrawable(R.drawable.ic_face_header)); - } else if (mForBiometrics) { - mLayout.setIcon(getActivity().getDrawable(R.drawable.ic_lock)); - } + mLayout.setIcon(getActivity().getDrawable(R.drawable.ic_lock)); mIsAlphaMode = DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC == mPasswordType || DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC == mPasswordType diff --git a/src/com/android/settings/password/ChooseLockPattern.java b/src/com/android/settings/password/ChooseLockPattern.java index 3c43fc34d25..d8024513324 100644 --- a/src/com/android/settings/password/ChooseLockPattern.java +++ b/src/com/android/settings/password/ChooseLockPattern.java @@ -505,13 +505,7 @@ public class ChooseLockPattern extends SettingsActivity { layout.getMixin(IconMixin.class).setVisibility(View.GONE); } } else { - if (mForFingerprint) { - layout.setIcon(getActivity().getDrawable(R.drawable.ic_fingerprint_header)); - } else if (mForFace) { - layout.setIcon(getActivity().getDrawable(R.drawable.ic_face_header)); - } else if (mForBiometrics) { - layout.setIcon(getActivity().getDrawable(R.drawable.ic_lock)); - } + layout.setIcon(getActivity().getDrawable(R.drawable.ic_lock)); } final FooterBarMixin mixin = layout.getMixin(FooterBarMixin.class); diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java index 7da9c505b8e..e789b61f188 100644 --- a/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java +++ b/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java @@ -404,18 +404,6 @@ public class ChooseLockPasswordTest { "Must be fewer than 17 characters"); } - @Test - public void assertThat_chooseLockIconChanged_WhenFingerprintExtraSet() { - ShadowDrawable drawable = setActivityAndGetIconDrawable(true); - assertThat(drawable.getCreatedFromResId()).isEqualTo(R.drawable.ic_fingerprint_header); - } - - @Test - public void assertThat_chooseLockIconNotChanged_WhenFingerprintExtraSet() { - ShadowDrawable drawable = setActivityAndGetIconDrawable(false); - assertThat(drawable.getCreatedFromResId()).isNotEqualTo(R.drawable.ic_fingerprint_header); - } - @Test public void validateComplexityMergedFromDpmOnCreate() { ShadowLockPatternUtils.setRequiredPasswordComplexity(PASSWORD_COMPLEXITY_LOW); diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java index 1cb946b786f..f5cc39435ad 100644 --- a/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java +++ b/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java @@ -31,9 +31,6 @@ import com.android.settings.R; import com.android.settings.password.ChooseLockPattern.ChooseLockPatternFragment; import com.android.settings.password.ChooseLockPattern.IntentBuilder; import com.android.settings.testutils.shadow.ShadowUtils; -import com.android.settingslib.testutils.DrawableTestHelper; - -import com.google.android.setupdesign.GlifLayout; import org.junit.Test; import org.junit.runner.RunWith; @@ -99,16 +96,6 @@ public class ChooseLockPatternTest { .isNotNull(); } - @Config(qualifiers = "sw400dp") - @Test - public void fingerprintExtraSet_shouldDisplayFingerprintIcon() { - ChooseLockPattern activity = createActivity(true); - ChooseLockPatternFragment fragment = (ChooseLockPatternFragment) - activity.getSupportFragmentManager().findFragmentById(R.id.main_content); - DrawableTestHelper.assertDrawableResId(((GlifLayout) fragment.getView()).getIcon(), - R.drawable.ic_fingerprint_header); - } - @Config(qualifiers = "sw300dp") @Test public void smallScreens_shouldHideIcon() {