From 491bc21fd43d8a6a542fe0822b4b167341fa06f8 Mon Sep 17 00:00:00 2001 From: Mill Chen Date: Thu, 10 Jun 2021 14:01:32 +0800 Subject: [PATCH 01/12] Remove the duplicated skip lock screen setting Fix: 187366696 Test: robotests Change-Id: I063ef7c1a43e16aee6d141389896cadecfd3738f --- res/xml/security_settings_face.xml | 2 +- ...cLockscreenBypassPreferenceController.java | 41 +++++++++++++ ...sLockscreenBypassPreferenceController.java | 4 +- ...kscreenBypassPreferenceControllerTest.java | 59 +++++++++++++++++++ ...kscreenBypassPreferenceControllerTest.java | 15 +++++ .../testutils/shadow/ShadowUtils.java | 11 ++++ 6 files changed, 129 insertions(+), 3 deletions(-) create mode 100644 src/com/android/settings/biometrics/face/BiometricLockscreenBypassPreferenceController.java create mode 100644 tests/robotests/src/com/android/settings/biometrics/face/BiometricLockscreenBypassPreferenceControllerTest.java diff --git a/res/xml/security_settings_face.xml b/res/xml/security_settings_face.xml index 6d7c0ba8d4b..6912674735a 100644 --- a/res/xml/security_settings_face.xml +++ b/res/xml/security_settings_face.xml @@ -67,7 +67,7 @@ android:title="@string/lockscreen_bypass_title" android:summary="@string/lockscreen_bypass_summary" settings:keywords="@string/keywords_lockscreen_bypass" - settings:controller="com.android.settings.biometrics.face.FaceSettingsLockscreenBypassPreferenceController" /> + settings:controller="com.android.settings.biometrics.face.BiometricLockscreenBypassPreferenceController" /> sResultLinks = new ArraySet<>(); private static boolean sIsBatteryPresent; private static boolean sIsPageTransitionEnabled; + private static boolean sIsMultipleBiometricsSupported; @Implementation protected static int enforceSameOwner(Context context, int userId) { @@ -71,6 +72,7 @@ public class ShadowUtils { sResultLinks = new ArraySet<>(); sIsBatteryPresent = true; sIsPageTransitionEnabled = true; + sIsMultipleBiometricsSupported = false; } public static void setIsDemoUser(boolean isDemoUser) { @@ -177,4 +179,13 @@ public class ShadowUtils { public static void setIsPageTransitionEnabled(boolean isPageTransitionEnabled) { sIsPageTransitionEnabled = isPageTransitionEnabled; } + + @Implementation + protected static boolean isMultipleBiometricsSupported(Context context) { + return sIsMultipleBiometricsSupported; + } + + public static void setIsMultipleBiometricsSupported(boolean isMultipleBiometricsSupported) { + sIsMultipleBiometricsSupported = isMultipleBiometricsSupported; + } } From 39e68c5839b5d693db94fc72ace562fb782d0380 Mon Sep 17 00:00:00 2001 From: Edgar Wang Date: Thu, 17 Jun 2021 01:45:01 +0800 Subject: [PATCH 02/12] Move ic_info_outline_24 from SettingsLib to Settings - we share info icon with FooterPreference and some widgets in Settings But we may update FooterPreference icon when UX guideline update, so we should seprate this icon from FooterPreference and Settings. Bug: 191267392 Test: manual Change-Id: I200b0cc4f4a04bd8950d4cac9683930a473ffe3e --- res/drawable/ic_info_outline_24.xml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 res/drawable/ic_info_outline_24.xml diff --git a/res/drawable/ic_info_outline_24.xml b/res/drawable/ic_info_outline_24.xml new file mode 100644 index 00000000000..a46bdc179f3 --- /dev/null +++ b/res/drawable/ic_info_outline_24.xml @@ -0,0 +1,27 @@ + + + + + + From fb515ed608f9d544b9a1ea421c1ed0c3e3838caa Mon Sep 17 00:00:00 2001 From: Joe Bolinger Date: Wed, 16 Jun 2021 14:07:37 -0700 Subject: [PATCH 03/12] Add handoff activity to parental consent flow. Bug: 188847063 Test: manual Change-Id: Ib6f38aae487a536fb8e85d608a22378a17c1bc64 --- AndroidManifest.xml | 4 + res/layout/biometric_handoff.xml | 24 ++++++ res/values/strings.xml | 4 + .../biometrics/BiometricEnrollActivity.java | 26 +++++-- .../biometrics/BiometricHandoffActivity.java | 76 +++++++++++++++++++ .../settings/biometrics/BiometricUtils.java | 13 ++++ .../face/FaceEnrollParentalConsent.java | 2 +- .../FingerprintEnrollParentalConsent.java | 2 +- 8 files changed, 144 insertions(+), 7 deletions(-) create mode 100644 res/layout/biometric_handoff.xml create mode 100644 src/com/android/settings/biometrics/BiometricHandoffActivity.java diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 6f6482daeb5..0c65f012d18 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1823,6 +1823,10 @@ android:exported="false" android:screenOrientation="portrait"/> + + + + + + \ No newline at end of file diff --git a/res/values/strings.xml b/res/values/strings.xml index 1fba96c26e4..7493e744e2e 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -1008,6 +1008,10 @@ Unlocking your phone Authentication in apps + + Hand the phone back to your parent + + OK Skip screen lock? diff --git a/src/com/android/settings/biometrics/BiometricEnrollActivity.java b/src/com/android/settings/biometrics/BiometricEnrollActivity.java index 6ab9ab8828c..db5e003456a 100644 --- a/src/com/android/settings/biometrics/BiometricEnrollActivity.java +++ b/src/com/android/settings/biometrics/BiometricEnrollActivity.java @@ -69,6 +69,8 @@ public class BiometricEnrollActivity extends InstrumentedActivity { private static final int REQUEST_CONFIRM_LOCK = 2; // prompt for parental consent options private static final int REQUEST_CHOOSE_OPTIONS = 3; + // prompt hand phone back to parent after enrollment + private static final int REQUEST_HANDOFF_PARENT = 4; public static final int RESULT_SKIP = BiometricEnrollBase.RESULT_SKIP; @@ -303,11 +305,8 @@ public class BiometricEnrollActivity extends InstrumentedActivity { final boolean isStillPrompting = mParentalConsentHelper.launchNext( this, REQUEST_CHOOSE_OPTIONS, resultCode, data); if (!isStillPrompting) { - Log.d(TAG, "Enrollment options set, starting enrollment now"); - - mParentalOptions = mParentalConsentHelper.getConsentResult(); - mParentalConsentHelper = null; - startEnroll(); + Log.d(TAG, "Enrollment options set, requesting handoff"); + launchHandoffToParent(); } } else { Log.d(TAG, "Unknown or cancelled parental consent"); @@ -315,6 +314,18 @@ public class BiometricEnrollActivity extends InstrumentedActivity { finish(); } break; + case REQUEST_HANDOFF_PARENT: + if (resultCode == RESULT_OK) { + Log.d(TAG, "Enrollment options set, starting enrollment"); + mParentalOptions = mParentalConsentHelper.getConsentResult(); + mParentalConsentHelper = null; + startEnroll(); + } else { + Log.d(TAG, "Unknown or cancelled handoff"); + setResult(RESULT_CANCELED); + finish(); + } + break; default: Log.w(TAG, "Unknown consenting requestCode: " + requestCode + ", finishing"); finish(); @@ -492,6 +503,11 @@ public class BiometricEnrollActivity extends InstrumentedActivity { mMultiBiometricEnrollHelper.startNextStep(); } + private void launchHandoffToParent() { + final Intent intent = BiometricUtils.getHandoffToParentIntent(this, getIntent()); + startActivityForResult(intent, REQUEST_HANDOFF_PARENT); + } + @Override public int getMetricsCategory() { return SettingsEnums.BIOMETRIC_ENROLL_ACTIVITY; diff --git a/src/com/android/settings/biometrics/BiometricHandoffActivity.java b/src/com/android/settings/biometrics/BiometricHandoffActivity.java new file mode 100644 index 00000000000..f8ffe32cc1e --- /dev/null +++ b/src/com/android/settings/biometrics/BiometricHandoffActivity.java @@ -0,0 +1,76 @@ +/* + * 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.biometrics; + +import android.app.settings.SettingsEnums; +import android.os.Bundle; +import android.view.View; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +import com.android.settings.R; + +import com.google.android.setupcompat.template.FooterBarMixin; +import com.google.android.setupcompat.template.FooterButton; +import com.google.android.setupdesign.GlifLayout; + +/** + * Prompts the user to hand the device to their parent or guardian. + */ +public class BiometricHandoffActivity extends BiometricEnrollBase { + + @Nullable + private FooterButton mPrimaryFooterButton; + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.biometric_handoff); + + setHeaderText(R.string.biometric_settings_hand_back_to_guardian); + + final GlifLayout layout = getLayout(); + mFooterBarMixin = layout.getMixin(FooterBarMixin.class); + mFooterBarMixin.setPrimaryButton(getPrimaryFooterButton()); + } + + @NonNull + protected FooterButton getPrimaryFooterButton() { + if (mPrimaryFooterButton == null) { + mPrimaryFooterButton = new FooterButton.Builder(this) + .setText(R.string.biometric_settings_hand_back_to_guardian_ok) + .setButtonType(FooterButton.ButtonType.NEXT) + .setListener(this::onNextButtonClick) + .setTheme(R.style.SudGlifButton_Primary) + .build(); + } + return mPrimaryFooterButton; + } + + @Override + protected void onNextButtonClick(View view) { + setResult(RESULT_OK); + finish(); + } + + @Override + public int getMetricsCategory() { + // TODO (b/188847063): add new category + return SettingsEnums.BIOMETRIC_ENROLL_ACTIVITY; + } +} diff --git a/src/com/android/settings/biometrics/BiometricUtils.java b/src/com/android/settings/biometrics/BiometricUtils.java index 03cdb0d653d..a98c3555f71 100644 --- a/src/com/android/settings/biometrics/BiometricUtils.java +++ b/src/com/android/settings/biometrics/BiometricUtils.java @@ -176,6 +176,19 @@ public class BiometricUtils { return intent; } + /** + * Start an activity that prompts the user to hand the device to their parent or guardian. + * @param context caller's context + * @param activityIntent The intent that started the caller's activity + * @return Intent for starting BiometricHandoffActivity + */ + public static Intent getHandoffToParentIntent(@NonNull Context context, + @NonNull Intent activityIntent) { + final Intent intent = new Intent(context, BiometricHandoffActivity.class); + WizardManagerHelper.copyWizardManagerExtras(activityIntent, intent); + return intent; + } + /** * @param activity Reference to the calling activity, used to startActivity * @param intent Intent pointing to the enrollment activity diff --git a/src/com/android/settings/biometrics/face/FaceEnrollParentalConsent.java b/src/com/android/settings/biometrics/face/FaceEnrollParentalConsent.java index 1f55d82145f..5770a2e337d 100644 --- a/src/com/android/settings/biometrics/face/FaceEnrollParentalConsent.java +++ b/src/com/android/settings/biometrics/face/FaceEnrollParentalConsent.java @@ -30,7 +30,7 @@ import com.android.settings.R; /** * Displays parental consent information for face authentication. * - * TODO(b/188847063): swap strings for consent screen + * TODO (b/188847063): add new metrics category */ public class FaceEnrollParentalConsent extends FaceEnrollIntroduction { diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollParentalConsent.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollParentalConsent.java index 5d8cf9b0423..fbd52b74ab5 100644 --- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollParentalConsent.java +++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollParentalConsent.java @@ -30,7 +30,7 @@ import com.android.settings.R; /** * Displays parental consent information for fingerprint authentication. * - * TODO(b/188847063): swap strings for consent screen + * TODO (b/188847063): add new metrics category */ public class FingerprintEnrollParentalConsent extends FingerprintEnrollIntroduction { From 3bd11c302a2b5d8cf004706872ba7295323036a8 Mon Sep 17 00:00:00 2001 From: Joshua Mccloskey Date: Fri, 18 Jun 2021 11:49:55 -0700 Subject: [PATCH 04/12] Added fp_bad_calibration to fp enrollment. Test: Verified error message shows during enrollment. Bug: 189133688 Change-Id: Ib1b47f5fff16d801b88247cc01a32de88c2ecd66 --- res/values/strings.xml | 2 ++ .../settings/biometrics/fingerprint/FingerprintErrorDialog.java | 2 ++ 2 files changed, 4 insertions(+) diff --git a/res/values/strings.xml b/res/values/strings.xml index 3b4fae4b944..cbc5ba7b9b2 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -1182,6 +1182,8 @@ Learn more Lift finger, then touch sensor again + + Please recalibrate the fingerprint sensor. You can add up to %d fingerprints diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintErrorDialog.java b/src/com/android/settings/biometrics/fingerprint/FingerprintErrorDialog.java index 416e805682a..e4d86a199e7 100644 --- a/src/com/android/settings/biometrics/fingerprint/FingerprintErrorDialog.java +++ b/src/com/android/settings/biometrics/fingerprint/FingerprintErrorDialog.java @@ -45,6 +45,8 @@ public class FingerprintErrorDialog extends BiometricErrorDialog { // This message happens when the underlying crypto layer decides to revoke the // enrollment auth token. return R.string.security_settings_fingerprint_enroll_error_timeout_dialog_message; + case FingerprintManager.FINGERPRINT_ERROR_BAD_CALIBARTION: + return R.string.security_settings_fingerprint_bad_calibration; default: // There's nothing specific to tell the user about. Ask them to try again. return R.string.security_settings_fingerprint_enroll_error_generic_dialog_message; From 2976b9bc14e3f9deba9cb617ffd74150f7396f65 Mon Sep 17 00:00:00 2001 From: Joe Bolinger Date: Fri, 18 Jun 2021 13:29:02 -0700 Subject: [PATCH 05/12] Add new enum for parental consent UI. Bug: 188847063 Test: manual Change-Id: I7b101f0d7cda415695ecdb7963a0e514c875b95c --- .../settings/biometrics/BiometricHandoffActivity.java | 3 +-- .../biometrics/face/FaceEnrollParentalConsent.java | 8 ++++++-- .../fingerprint/FingerprintEnrollParentalConsent.java | 8 ++++++-- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/com/android/settings/biometrics/BiometricHandoffActivity.java b/src/com/android/settings/biometrics/BiometricHandoffActivity.java index f8ffe32cc1e..7f28ced2029 100644 --- a/src/com/android/settings/biometrics/BiometricHandoffActivity.java +++ b/src/com/android/settings/biometrics/BiometricHandoffActivity.java @@ -70,7 +70,6 @@ public class BiometricHandoffActivity extends BiometricEnrollBase { @Override public int getMetricsCategory() { - // TODO (b/188847063): add new category - return SettingsEnums.BIOMETRIC_ENROLL_ACTIVITY; + return SettingsEnums.BIOMETRIC_CONSENT_PARENT_TO_CHILD; } } diff --git a/src/com/android/settings/biometrics/face/FaceEnrollParentalConsent.java b/src/com/android/settings/biometrics/face/FaceEnrollParentalConsent.java index 5770a2e337d..7a60a94ad55 100644 --- a/src/com/android/settings/biometrics/face/FaceEnrollParentalConsent.java +++ b/src/com/android/settings/biometrics/face/FaceEnrollParentalConsent.java @@ -18,6 +18,7 @@ package com.android.settings.biometrics.face; import static android.hardware.biometrics.BiometricAuthenticator.TYPE_FACE; +import android.app.settings.SettingsEnums; import android.content.Intent; import android.os.Bundle; import android.view.View; @@ -29,8 +30,6 @@ import com.android.settings.R; /** * Displays parental consent information for face authentication. - * - * TODO (b/188847063): add new metrics category */ public class FaceEnrollParentalConsent extends FaceEnrollIntroduction { @@ -103,4 +102,9 @@ public class FaceEnrollParentalConsent extends FaceEnrollIntroduction { protected int getHeaderResDefault() { return R.string.security_settings_face_enroll_consent_introduction_title; } + + @Override + public int getMetricsCategory() { + return SettingsEnums.FACE_PARENTAL_CONSENT; + } } diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollParentalConsent.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollParentalConsent.java index fbd52b74ab5..636e703bae8 100644 --- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollParentalConsent.java +++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollParentalConsent.java @@ -18,6 +18,7 @@ package com.android.settings.biometrics.fingerprint; import static android.hardware.biometrics.BiometricAuthenticator.TYPE_FINGERPRINT; +import android.app.settings.SettingsEnums; import android.content.Intent; import android.os.Bundle; import android.view.View; @@ -29,8 +30,6 @@ import com.android.settings.R; /** * Displays parental consent information for fingerprint authentication. - * - * TODO (b/188847063): add new metrics category */ public class FingerprintEnrollParentalConsent extends FingerprintEnrollIntroduction { @@ -97,4 +96,9 @@ public class FingerprintEnrollParentalConsent extends FingerprintEnrollIntroduct protected int getHeaderResDefault() { return R.string.security_settings_fingerprint_enroll_consent_introduction_title; } + + @Override + public int getMetricsCategory() { + return SettingsEnums.FINGERPRINT_PARENTAL_CONSENT; + } } From 87b90dfc504db96780cb5d175bc49ba31c7a456c Mon Sep 17 00:00:00 2001 From: jasonwshsu Date: Sat, 24 Apr 2021 16:00:09 +0800 Subject: [PATCH 06/12] Improve search by adding the settings keywords for supported downloaded services * Use FeatureFactory to improve the search only for google overlay Bug: 184171842 Test: atest AccessibilitySettingsTest Change-Id: I93ed52d2579b7da35dba59f9562b6715d13dd80d --- res/values/strings.xml | 16 ++++---- .../AccessibilitySearchFeatureProvider.java | 37 +++++++++++++++++++ ...ccessibilitySearchFeatureProviderImpl.java | 34 +++++++++++++++++ .../accessibility/AccessibilitySettings.java | 13 ++++++- .../settings/overlay/FeatureFactory.java | 6 +++ .../settings/overlay/FeatureFactoryImpl.java | 11 ++++++ .../AccessibilitySettingsTest.java | 15 ++++++-- .../testutils/FakeFeatureFactory.java | 8 ++++ .../testutils/FakeFeatureFactory.java | 7 ++++ 9 files changed, 134 insertions(+), 13 deletions(-) create mode 100644 src/com/android/settings/accessibility/AccessibilitySearchFeatureProvider.java create mode 100644 src/com/android/settings/accessibility/AccessibilitySearchFeatureProviderImpl.java diff --git a/res/values/strings.xml b/res/values/strings.xml index ef0a0517584..5b0a4e1d291 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -5853,29 +5853,29 @@ Window Magnifier, Zoom, Magnification, Low vision, Enlarge, make bigger - Screen reader, Voice Over, VoiceOver, Voice Assistance, Blind, Low Vision, TTS, text to speech, spoken feedback + Captions, closed captions, CC, Live Transcribe, hard of hearing, hearing loss, CART, speech to text, subtitle - Captions, closed captions, CC, Live Caption, hard of hearing, hearing loss, CART, speech to text, subtitle + - Notifications, hard of hearing, hearing loss, notify + - PSAP, amplify, sound amplification, hard of hearing, hearing loss, amplification + screen size, large screen High contrast, low vision, bold font, bold face - Hear text, read aloud, speak screen, screen reader + adjust color turn screen dark, turn screen light - motor, quick menu, assistive menu, touch, dexterity + - motor, switch, hand, AT, assistive technology, paralysis, ALS, scanning, step scanning + motor, mouse @@ -5883,7 +5883,7 @@ hard of hearing, hearing loss, captions, Teletype, tty - voice, voice control, motor, hand, mic, microphone, dictation, talk, control + diff --git a/src/com/android/settings/accessibility/AccessibilitySearchFeatureProvider.java b/src/com/android/settings/accessibility/AccessibilitySearchFeatureProvider.java new file mode 100644 index 00000000000..6aa8c841ed1 --- /dev/null +++ b/src/com/android/settings/accessibility/AccessibilitySearchFeatureProvider.java @@ -0,0 +1,37 @@ +/* + * 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.accessibility; + +import android.content.Context; + +import com.android.settingslib.search.SearchIndexableRaw; + +import java.util.List; + +/** + * Provider for Accessibility Search related features. + */ +public interface AccessibilitySearchFeatureProvider { + + /** + * Returns a list of raw data for indexing. See {@link SearchIndexableRaw} + * + * @param context a valid context {@link Context} instance + * @return a list of {@link SearchIndexableRaw} references. Can be null. + */ + List getSearchIndexableRawData(Context context); +} diff --git a/src/com/android/settings/accessibility/AccessibilitySearchFeatureProviderImpl.java b/src/com/android/settings/accessibility/AccessibilitySearchFeatureProviderImpl.java new file mode 100644 index 00000000000..c358af11d06 --- /dev/null +++ b/src/com/android/settings/accessibility/AccessibilitySearchFeatureProviderImpl.java @@ -0,0 +1,34 @@ +/* + * 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.accessibility; + +import android.content.Context; + +import com.android.settingslib.search.SearchIndexableRaw; + +import java.util.List; + +/** + * Provider implementation for Accessibility Search related features. + */ +public class AccessibilitySearchFeatureProviderImpl implements AccessibilitySearchFeatureProvider { + + @Override + public List getSearchIndexableRawData(Context context) { + return null; + } +} diff --git a/src/com/android/settings/accessibility/AccessibilitySettings.java b/src/com/android/settings/accessibility/AccessibilitySettings.java index d4db3953f79..78bea0f00a9 100644 --- a/src/com/android/settings/accessibility/AccessibilitySettings.java +++ b/src/com/android/settings/accessibility/AccessibilitySettings.java @@ -50,12 +50,14 @@ import com.android.settings.R; import com.android.settings.Utils; import com.android.settings.accessibility.AccessibilityUtil.AccessibilityServiceFragmentType; import com.android.settings.dashboard.DashboardFragment; +import com.android.settings.overlay.FeatureFactory; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; import com.android.settingslib.RestrictedLockUtilsInternal; import com.android.settingslib.RestrictedPreference; import com.android.settingslib.accessibility.AccessibilityUtils; import com.android.settingslib.search.SearchIndexable; +import com.android.settingslib.search.SearchIndexableRaw; import java.util.ArrayList; import java.util.Collection; @@ -494,7 +496,15 @@ public class AccessibilitySettings extends DashboardFragment { } public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = - new BaseSearchIndexProvider(R.xml.accessibility_settings); + new BaseSearchIndexProvider(R.xml.accessibility_settings) { + @Override + public List getRawDataToIndex(Context context, + boolean enabled) { + return FeatureFactory.getFactory(context) + .getAccessibilitySearchFeatureProvider().getSearchIndexableRawData( + context); + } + }; /** * This class helps setup RestrictedPreference. @@ -559,7 +569,6 @@ public class AccessibilitySettings extends DashboardFragment { setRestrictedPreferenceEnabled(preference, packageName, serviceAllowed, serviceEnabled); - final String prefKey = preference.getKey(); final int imageRes = info.getAnimatedImageRes(); final CharSequence description = getServiceDescription(mContext, info, diff --git a/src/com/android/settings/overlay/FeatureFactory.java b/src/com/android/settings/overlay/FeatureFactory.java index 58f80fce225..cfdc9eb5b62 100644 --- a/src/com/android/settings/overlay/FeatureFactory.java +++ b/src/com/android/settings/overlay/FeatureFactory.java @@ -23,6 +23,7 @@ import android.util.Log; import androidx.annotation.Nullable; import com.android.settings.R; +import com.android.settings.accessibility.AccessibilitySearchFeatureProvider; import com.android.settings.accounts.AccountFeatureProvider; import com.android.settings.applications.ApplicationFeatureProvider; import com.android.settings.applications.GameSettingsFeatureProvider; @@ -174,6 +175,11 @@ public abstract class FeatureFactory { */ public abstract GameSettingsFeatureProvider getGameSettingsFeatureProvider(); + /** + * Retrieve implementation for Accessibility search index feature. + */ + public abstract AccessibilitySearchFeatureProvider getAccessibilitySearchFeatureProvider(); + public static final class FactoryNotFoundException extends RuntimeException { public FactoryNotFoundException(Throwable throwable) { super("Unable to create factory. Did you misconfigure Proguard?", throwable); diff --git a/src/com/android/settings/overlay/FeatureFactoryImpl.java b/src/com/android/settings/overlay/FeatureFactoryImpl.java index 13b7b604de1..9890a109641 100644 --- a/src/com/android/settings/overlay/FeatureFactoryImpl.java +++ b/src/com/android/settings/overlay/FeatureFactoryImpl.java @@ -25,6 +25,8 @@ import android.os.UserManager; import androidx.annotation.Keep; +import com.android.settings.accessibility.AccessibilitySearchFeatureProvider; +import com.android.settings.accessibility.AccessibilitySearchFeatureProviderImpl; import com.android.settings.accounts.AccountFeatureProvider; import com.android.settings.accounts.AccountFeatureProviderImpl; import com.android.settings.applications.ApplicationFeatureProvider; @@ -106,6 +108,7 @@ public class FeatureFactoryImpl extends FeatureFactory { private ExtraAppInfoFeatureProvider mExtraAppInfoFeatureProvider; private SecuritySettingsFeatureProvider mSecuritySettingsFeatureProvider; private GameSettingsFeatureProvider mGameSettingsFeatureProvider; + private AccessibilitySearchFeatureProvider mAccessibilitySearchFeatureProvider; @Override public SupportFeatureProvider getSupportFeatureProvider(Context context) { @@ -335,4 +338,12 @@ public class FeatureFactoryImpl extends FeatureFactory { } return mGameSettingsFeatureProvider; } + + @Override + public AccessibilitySearchFeatureProvider getAccessibilitySearchFeatureProvider() { + if (mAccessibilitySearchFeatureProvider == null) { + mAccessibilitySearchFeatureProvider = new AccessibilitySearchFeatureProviderImpl(); + } + return mAccessibilitySearchFeatureProvider; + } } diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java index 8c9d6b69bd5..0dcecf71da5 100644 --- a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java +++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java @@ -56,6 +56,7 @@ import com.android.settings.testutils.shadow.ShadowDeviceConfig; import com.android.settings.testutils.shadow.ShadowFragment; import com.android.settings.testutils.shadow.ShadowUserManager; import com.android.settingslib.RestrictedPreference; +import com.android.settingslib.search.SearchIndexableRaw; import org.junit.Before; import org.junit.Rule; @@ -77,12 +78,12 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; +/** Test for {@link AccessibilitySettings}. */ @RunWith(RobolectricTestRunner.class) public class AccessibilitySettingsTest { private static final String PACKAGE_NAME = "com.android.test"; private static final String CLASS_NAME = PACKAGE_NAME + ".test_a11y_service"; - private static final ComponentName COMPONENT_NAME = new ComponentName(PACKAGE_NAME, - CLASS_NAME); + private static final ComponentName COMPONENT_NAME = new ComponentName(PACKAGE_NAME, CLASS_NAME); private static final int ON = 1; private static final int OFF = 0; private static final String EMPTY_STRING = ""; @@ -132,6 +133,14 @@ public class AccessibilitySettingsTest { assertThat(keys).containsAtLeastElementsIn(niks); } + @Test + public void getRawDataToIndex_isNull() { + final List indexableRawList = + AccessibilitySettings.SEARCH_INDEX_DATA_PROVIDER.getRawDataToIndex(mContext, true); + + assertThat(indexableRawList).isNull(); + } + @Test @Config(shadows = {ShadowDeviceConfig.class}) public void isRampingRingerEnabled_settingsFlagOn_Enabled() { @@ -362,7 +371,7 @@ public class AccessibilitySettingsTest { try { final AccessibilityServiceInfo info = new AccessibilityServiceInfo(resolveInfo, mContext); - info.setComponentName(new ComponentName(PACKAGE_NAME, CLASS_NAME)); + info.setComponentName(new ComponentName(packageName, className)); return info; } catch (XmlPullParserException | IOException e) { // Do nothing diff --git a/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java b/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java index 4c4b922763d..de1af23c6ff 100644 --- a/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java +++ b/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java @@ -21,6 +21,7 @@ import static org.mockito.Mockito.when; import android.content.Context; +import com.android.settings.accessibility.AccessibilitySearchFeatureProvider; import com.android.settings.accounts.AccountFeatureProvider; import com.android.settings.applications.ApplicationFeatureProvider; import com.android.settings.applications.GameSettingsFeatureProvider; @@ -87,6 +88,7 @@ public class FakeFeatureFactory extends FeatureFactory { public ExtraAppInfoFeatureProvider extraAppInfoFeatureProvider; public SecuritySettingsFeatureProvider securitySettingsFeatureProvider; public GameSettingsFeatureProvider gameSettingsFeatureProvider; + public AccessibilitySearchFeatureProvider mAccessibilitySearchFeatureProvider; /** * Call this in {@code @Before} method of the test class to use fake factory. @@ -136,6 +138,7 @@ public class FakeFeatureFactory extends FeatureFactory { extraAppInfoFeatureProvider = mock(ExtraAppInfoFeatureProvider.class); securitySettingsFeatureProvider = mock(SecuritySettingsFeatureProvider.class); gameSettingsFeatureProvider = mock(GameSettingsFeatureProvider.class); + mAccessibilitySearchFeatureProvider = mock(AccessibilitySearchFeatureProvider.class); } @Override @@ -272,4 +275,9 @@ public class FakeFeatureFactory extends FeatureFactory { public GameSettingsFeatureProvider getGameSettingsFeatureProvider() { return gameSettingsFeatureProvider; } + + @Override + public AccessibilitySearchFeatureProvider getAccessibilitySearchFeatureProvider() { + return mAccessibilitySearchFeatureProvider; + } } diff --git a/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java b/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java index 1e74d927109..ba7e0bd02b4 100644 --- a/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java +++ b/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java @@ -19,6 +19,7 @@ import static org.mockito.Mockito.mock; import android.content.Context; +import com.android.settings.accessibility.AccessibilitySearchFeatureProvider; import com.android.settings.accounts.AccountFeatureProvider; import com.android.settings.applications.ApplicationFeatureProvider; import com.android.settings.applications.GameSettingsFeatureProvider; @@ -82,6 +83,7 @@ public class FakeFeatureFactory extends FeatureFactory { public ExtraAppInfoFeatureProvider extraAppInfoFeatureProvider; public SecuritySettingsFeatureProvider securitySettingsFeatureProvider; public GameSettingsFeatureProvider gameSettingsFeatureProvider; + public AccessibilitySearchFeatureProvider mAccessibilitySearchFeatureProvider; /** * Call this in {@code @Before} method of the test class to use fake factory. @@ -258,4 +260,9 @@ public class FakeFeatureFactory extends FeatureFactory { public GameSettingsFeatureProvider getGameSettingsFeatureProvider() { return gameSettingsFeatureProvider; } + + @Override + public AccessibilitySearchFeatureProvider getAccessibilitySearchFeatureProvider() { + return mAccessibilitySearchFeatureProvider; + } } From e322f02b18508957c0e7cd30e7b54ce8abfb596c Mon Sep 17 00:00:00 2001 From: ykhung Date: Mon, 21 Jun 2021 16:11:08 +0800 Subject: [PATCH 07/12] Remove legacy MIN_POWER_THRESHOLD_MILLI_AMP_HOURS threshold value in the new design, we should store all data into the databae for showing the battery history, we should not filter the items first from the consumed battery value threshold Bug: 191468827 Test: make SettingsRoboTests Change-Id: I19d971fc5cdcc40af1693dc8ba2c78586da22d49 --- .../BatteryAppListPreferenceController.java | 4 +--- .../settings/fuelgauge/BatteryUtils.java | 18 ++---------------- .../settings/fuelgauge/BatteryUtilsTest.java | 12 +----------- 3 files changed, 4 insertions(+), 30 deletions(-) diff --git a/src/com/android/settings/fuelgauge/BatteryAppListPreferenceController.java b/src/com/android/settings/fuelgauge/BatteryAppListPreferenceController.java index a6269bf42ea..29872ac4d40 100644 --- a/src/com/android/settings/fuelgauge/BatteryAppListPreferenceController.java +++ b/src/com/android/settings/fuelgauge/BatteryAppListPreferenceController.java @@ -359,9 +359,7 @@ public class BatteryAppListPreferenceController extends AbstractPreferenceContro componentId < BatteryConsumer.FIRST_CUSTOM_POWER_COMPONENT_ID + deviceConsumer.getCustomPowerComponentCount(); componentId++) { - if (!showAllApps - && mBatteryUtils.shouldHideCustomDevicePowerComponent(deviceConsumer, - componentId)) { + if (!showAllApps) { continue; } diff --git a/src/com/android/settings/fuelgauge/BatteryUtils.java b/src/com/android/settings/fuelgauge/BatteryUtils.java index 52a4629a7ec..d521ed166a1 100644 --- a/src/com/android/settings/fuelgauge/BatteryUtils.java +++ b/src/com/android/settings/fuelgauge/BatteryUtils.java @@ -81,8 +81,6 @@ public class BatteryUtils { private static final String TAG = "BatteryUtils"; - private static final double MIN_POWER_THRESHOLD_MILLI_AMP_HOURS = 0.002; - private static BatteryUtils sInstance; private PackageManager mPackageManager; @@ -180,8 +178,7 @@ public class BatteryUtils { * battery consumption list. */ public boolean shouldHideUidBatteryConsumer(UidBatteryConsumer consumer, String[] packages) { - return consumer.getConsumedPower() < MIN_POWER_THRESHOLD_MILLI_AMP_HOURS - || mPowerUsageFeatureProvider.isTypeSystem(consumer.getUid(), packages) + return mPowerUsageFeatureProvider.isTypeSystem(consumer.getUid(), packages) || shouldHideUidBatteryConsumerUnconditionally(consumer, packages); } @@ -208,21 +205,10 @@ public class BatteryUtils { case BatteryConsumer.POWER_COMPONENT_WIFI: return true; default: - return consumer.getConsumedPower(powerComponentId) - < MIN_POWER_THRESHOLD_MILLI_AMP_HOURS; + return false; } } - /** - * Returns true if the specified device custom power component should be excluded from the - * summary battery consumption list. - */ - public boolean shouldHideCustomDevicePowerComponent(BatteryConsumer consumer, - int customPowerComponentId) { - return consumer.getConsumedPowerForCustomComponent(customPowerComponentId) - < MIN_POWER_THRESHOLD_MILLI_AMP_HOURS; - } - /** * Returns true if one the specified packages belongs to a hidden system module. */ diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java index 1259cdd5713..5a110a54c93 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java @@ -246,17 +246,7 @@ public class BatteryUtilsTest { } @Test - public void testShouldHideSystemConsumer_LowPower_ReturnTrue() { - when(mAggregateBatteryConsumer.getConsumedPower( - BatteryConsumer.POWER_COMPONENT_FLASHLIGHT)).thenReturn(0.0005); - assertThat(mBatteryUtils.shouldHideDevicePowerComponent(mAggregateBatteryConsumer, - BatteryConsumer.POWER_COMPONENT_FLASHLIGHT)).isTrue(); - } - - @Test - public void testShouldHideSystemConsumer_HighPower_ReturnFalse() { - when(mAggregateBatteryConsumer.getConsumedPower( - BatteryConsumer.POWER_COMPONENT_FLASHLIGHT)).thenReturn(0.5); + public void testShouldHideSystemConsumer_OtherType_ReturnFalse() { assertThat(mBatteryUtils.shouldHideDevicePowerComponent(mAggregateBatteryConsumer, BatteryConsumer.POWER_COMPONENT_FLASHLIGHT)).isFalse(); } From 272c7627e10a7a5aea784c1104d0c1684920222f Mon Sep 17 00:00:00 2001 From: Jason Chiu Date: Mon, 21 Jun 2021 17:18:34 +0800 Subject: [PATCH 08/12] Fix A11y broken on Draw your pattern again page Fixes: 190146459 Test: manual Change-Id: I613e1db10334c06358bfa8d84770fb083ea12095 --- src/com/android/settings/password/ChooseLockPattern.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/com/android/settings/password/ChooseLockPattern.java b/src/com/android/settings/password/ChooseLockPattern.java index 53898a6eb9e..b60b4273603 100644 --- a/src/com/android/settings/password/ChooseLockPattern.java +++ b/src/com/android/settings/password/ChooseLockPattern.java @@ -16,6 +16,8 @@ package com.android.settings.password; +import static android.view.View.ACCESSIBILITY_LIVE_REGION_POLITE; + import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_UNIFICATION_PROFILE_CREDENTIAL; import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_UNIFICATION_PROFILE_ID; @@ -496,6 +498,7 @@ public class ChooseLockPattern extends SettingsActivity { R.layout.choose_lock_pattern, container, false); updateActivityTitle(); layout.setHeaderText(getActivity().getTitle()); + layout.getHeaderTextView().setAccessibilityLiveRegion(ACCESSIBILITY_LIVE_REGION_POLITE); if (getResources().getBoolean(R.bool.config_lock_pattern_minimal_ui)) { View iconView = layout.findViewById(R.id.sud_layout_icon); if (iconView != null) { From 6f93ac0eec9bb06199e812963156da1de5fd7692 Mon Sep 17 00:00:00 2001 From: Mill Chen Date: Sat, 19 Jun 2021 00:51:18 +0800 Subject: [PATCH 09/12] Update the image for Fingerprint Finish page Fix: 188733201 Test: visual verified Change-Id: Iebb9eaa201ac5481df0104b9394dbc9959aa0c52 --- color-check-baseline.xml | 255 +++++++++++++++++++++ res/drawable/fingerprint_enroll_finish.xml | 93 ++------ res/values-night/colors.xml | 1 + res/values/colors.xml | 3 + 4 files changed, 279 insertions(+), 73 deletions(-) diff --git a/color-check-baseline.xml b/color-check-baseline.xml index ea8789a3a71..a9cd4c6321c 100644 --- a/color-check-baseline.xml +++ b/color-check-baseline.xml @@ -4493,4 +4493,259 @@ column="5"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/res/drawable/fingerprint_enroll_finish.xml b/res/drawable/fingerprint_enroll_finish.xml index 925e6bc544f..7527dd3a3cb 100644 --- a/res/drawable/fingerprint_enroll_finish.xml +++ b/res/drawable/fingerprint_enroll_finish.xml @@ -16,85 +16,32 @@ --> + android:width="216dp" + android:height="216dp" + android:viewportWidth="216" + android:viewportHeight="216"> + android:pathData="M107.5,214.9C48.8,214.9 1,167.1 1,108.4C1.1,49.7 48.8,2 107.5,2C166.2,2 214,49.7 214,108.4C214,167.1 166.2,214.9 107.5,214.9ZM107.5,12C54.3,12 11,55.3 11,108.5C11,161.7 54.3,205 107.5,205C160.7,205 204,161.7 204,108.5C204,55.3 160.7,12 107.5,12Z" + android:fillColor="@color/fingerprint_enrollment_finish_color_outline"/> + android:pathData="M182.2,201.7C196.007,201.7 207.2,190.507 207.2,176.7C207.2,162.893 196.007,151.7 182.2,151.7C168.393,151.7 157.2,162.893 157.2,176.7C157.2,190.507 168.393,201.7 182.2,201.7Z" + android:fillColor="?android:attr/colorBackground"/> + android:pathData="M182.2,149C166.9,149 154.4,161.4 154.4,176.8C154.4,192.2 166.8,204.6 182.2,204.6C197.6,204.6 210,192.2 210,176.8C210,161.4 197.5,149 182.2,149ZM182.2,198.9C170,198.9 160,188.9 160,176.7C160,164.5 170,154.5 182.2,154.5C194.4,154.5 204.4,164.5 204.4,176.7C204.4,189 194.4,198.9 182.2,198.9ZM176.7,182.8L169.5,175.6L165.6,179.5L176.7,190.6L198.9,168.4L195,164.5L176.7,182.8Z" + android:fillColor="@color/fingerprint_enrollment_finish_color_outline"/> + android:pathData="M81.8,62C80.4,62 79,61.2 78.4,59.9C77.5,58 78.2,55.7 80.1,54.8C88.4,50.6 97.9,48.4 107.6,48.4C117.3,48.4 126.8,50.6 135.1,54.8C137,55.7 137.8,58 136.8,59.9C135.9,61.8 133.6,62.6 131.7,61.6C124.4,58 116.1,56.1 107.7,56.1C99.2,56.1 90.9,58 83.7,61.6C82.9,61.9 82.4,62 81.8,62Z" + android:fillColor="@color/fingerprint_enrollment_finish_color_outline"/> + android:pathData="M147.3,93.501C146,93.501 144.8,92.901 144.1,91.701C137.5,81.401 123.1,74.701 107.5,74.701C91.9,74.701 77.5,81.401 70.9,91.701C69.8,93.501 67.4,94.001 65.6,92.901C63.8,91.801 63.3,89.401 64.4,87.601C72.5,75.001 89,67.101 107.4,67.101C125.8,67.101 142.3,75.001 150.4,87.601C151.5,89.401 151,91.801 149.2,92.901C148.8,93.301 148.1,93.501 147.3,93.501Z" + android:fillColor="@color/fingerprint_enrollment_finish_color_outline"/> + android:pathData="M106.8,149.701C106.5,149.701 106.1,149.701 105.8,149.601C94.6,146.401 87.5,130.001 89.1,118.501C90.3,109.801 96.2,104.601 104.8,104.601C112.3,104.601 118.7,110.001 120,117.401L121.3,125.301C122,129.601 125.7,132.701 130,132.701C134.9,132.701 138.9,128.701 138.9,123.801V122.401C138.9,120.301 140.6,118.601 142.7,118.601C144.8,118.601 146.5,120.301 146.5,122.401V123.801C146.5,132.901 139.1,140.301 130,140.301C121.9,140.301 115.1,134.501 113.7,126.501L112.4,118.601C111.8,114.901 108.6,112.201 104.8,112.201C100,112.201 97.4,114.601 96.7,119.501C95.5,128.301 101.4,140.301 107.9,142.101C109.9,142.701 111.1,144.801 110.5,146.801C110,148.601 108.5,149.701 106.8,149.701Z" + android:fillColor="@color/fingerprint_enrollment_finish_color_outline"/> + android:pathData="M75,140.4C73.5,140.4 72,139.5 71.4,137.9C68.6,130.5 68.5,122.8 68.5,122.5C68.5,102 85.6,85.9 107.5,85.9C129.4,85.9 146.5,102 146.5,122.5C146.5,124.6 144.8,126.3 142.7,126.3C140.6,126.3 138.9,124.6 138.9,122.5C138.9,106.3 125.2,93.5 107.6,93.5C90.1,93.5 76.3,106.2 76.3,122.5C76.3,122.6 76.3,129.1 78.7,135.2C79.5,137.2 78.5,139.4 76.5,140.2C76,140.3 75.5,140.4 75,140.4Z" + android:fillColor="@color/fingerprint_enrollment_finish_color_outline"/> - - - - - - - - - - - + android:pathData="M107.5,168.5C98.3,168.5 89.9,165.8 83,160.6C81.3,159.3 81,156.9 82.3,155.2C83.6,153.5 86,153.2 87.7,154.5C93.2,158.7 100.1,160.9 107.6,160.9C115.7,160.9 123.3,158.2 129.1,153.2C130.7,151.8 133.1,152 134.5,153.6C135.9,155.2 135.7,157.6 134.1,159C126.9,165.1 117.5,168.5 107.5,168.5Z" + android:fillColor="@color/fingerprint_enrollment_finish_color_outline"/> diff --git a/res/values-night/colors.xml b/res/values-night/colors.xml index f262104eb8e..c63b7c1191b 100644 --- a/res/values-night/colors.xml +++ b/res/values-night/colors.xml @@ -48,5 +48,6 @@ #5bb974 #669df6 #5e5e5e + #669df6 diff --git a/res/values/colors.xml b/res/values/colors.xml index 9bd8c6971bd..a3a7d03d762 100644 --- a/res/values/colors.xml +++ b/res/values/colors.xml @@ -204,4 +204,7 @@ #fce8e6 #d93025 + + + #1A73E8 From c55b2cef2a85673e93d564c72f3fd83e1b1e06cc Mon Sep 17 00:00:00 2001 From: Yi-Ling Chuang Date: Mon, 21 Jun 2021 08:16:23 +0000 Subject: [PATCH 10/12] Revert "Suppress Shared Axis transition on the SIM dialog" This reverts commit 5e8a3947d2c9b638f438ef94cc0feb430eb92514. Reason for revert: Bug: 191335572 Change-Id: I0d4756797914ac5bcb37dde31e80dc4cd45fcd6b --- .../network/telephony/ToggleSubscriptionDialogActivity.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java b/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java index 146b575442b..0064e6ccfd2 100644 --- a/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java +++ b/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java @@ -30,14 +30,12 @@ import android.util.Log; import com.android.internal.annotations.VisibleForTesting; import com.android.settings.R; import com.android.settings.SidecarFragment; -import com.android.settings.core.SettingsBaseActivity; import com.android.settings.network.EnableMultiSimSidecar; import com.android.settings.network.SubscriptionUtil; import com.android.settings.network.SwitchToEuiccSubscriptionSidecar; import com.android.settings.network.SwitchToRemovableSlotSidecar; import com.android.settings.network.UiccSlotUtil; import com.android.settings.sim.SimActivationNotifier; -import com.android.settingslib.transition.SettingsTransitionHelper; import com.google.common.collect.ImmutableList; @@ -70,9 +68,6 @@ public class ToggleSubscriptionDialogActivity extends SubscriptionActionDialogAc Intent intent = new Intent(context, ToggleSubscriptionDialogActivity.class); intent.putExtra(ARG_SUB_ID, subId); intent.putExtra(ARG_enable, enable); - // suppress page transition as this is a dialog - intent.putExtra(SettingsBaseActivity.EXTRA_PAGE_TRANSITION_TYPE, - SettingsTransitionHelper.TransitionType.TRANSITION_NONE); return intent; } From 53f94d328917b1e8bd15649535f8fb823e036319 Mon Sep 17 00:00:00 2001 From: Tsung-Mao Fang Date: Mon, 21 Jun 2021 18:17:27 +0800 Subject: [PATCH 11/12] Clean up unused code Test: Rebuilt apk Fix: 190142194 Change-Id: I16d18c538b612c6049f561bb524ee1e056255714 --- res/values-night/themes.xml | 3 +-- res/values/themes.xml | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/res/values-night/themes.xml b/res/values-night/themes.xml index b95a5a0f87f..fb7a3b94ad7 100644 --- a/res/values-night/themes.xml +++ b/res/values-night/themes.xml @@ -15,8 +15,7 @@ limitations under the License. --> - +