Add null and bounds checks to prevent crashes when accessing the
fingerprint_acquired_vendor string array. This ensures safe fallback
behavior and logs appropriate error messages when the index is invalid.
Also improves stability during enrollment help handling on Google devices.
05-23 22:59:15.144 11647 11647 E AndroidRuntime: FATAL EXCEPTION: main
05-23 22:59:15.144 11647 11647 E AndroidRuntime: Process: com.android.settings, PID: 11647
05-23 22:59:15.144 11647 11647 E AndroidRuntime: java.lang.IllegalArgumentException: vendor string index is out of range of [0, -1] (too high)
05-23 22:59:15.144 11647 11647 E AndroidRuntime: at com.android.settings.biometrics.fingerprint.feature.SfpsEnrollmentFeatureImpl.getVendorString(go/retraceme bb4a03fdc34cff7f722829db90aff515e0ae20b72b33e5004f74889672317151:33)
05-23 22:59:15.144 11647 11647 E AndroidRuntime: at com.android.settings.biometrics.fingerprint.feature.SfpsEnrollmentFeatureImpl.getFeaturedVendorString(go/retraceme bb4a03fdc34cff7f722829db90aff515e0ae20b72b33e5004f74889672317151:48)
05-23 22:59:15.144 11647 11647 E AndroidRuntime: at com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling.onEnrollmentHelp(go/retraceme bb4a03fdc34cff7f722829db90aff515e0ae20b72b33e5004f74889672317151:7)
05-23 22:59:15.144 11647 11647 E AndroidRuntime: at com.android.settings.biometrics.BiometricEnrollSidecar.onEnrollmentHelp(go/retraceme bb4a03fdc34cff7f722829db90aff515e0ae20b72b33e5004f74889672317151:5)
05-23 22:59:15.144 11647 11647 E AndroidRuntime: at com.android.settings.biometrics.fingerprint.FingerprintEnrollSidecar.access$201(go/retraceme bb4a03fdc34cff7f722829db90aff515e0ae20b72b33e5004f74889672317151:1)
05-23 22:59:15.144 11647 11647 E AndroidRuntime: at com.android.settings.biometrics.fingerprint.FingerprintEnrollSidecar$1.onEnrollmentHelp(go/retraceme bb4a03fdc34cff7f722829db90aff515e0ae20b72b33e5004f74889672317151:3)
05-23 22:59:15.144 11647 11647 E AndroidRuntime: at com.android.settings.biometrics.fingerprint.FingerprintUpdater$NotifyingEnrollmentCallback.onEnrollmentHelp(go/retraceme bb4a03fdc34cff7f722829db90aff515e0ae20b72b33e5004f74889672317151:3)
05-23 22:59:15.144 11647 11647 E AndroidRuntime: at android.hardware.fingerprint.FingerprintCallback.sendAcquiredResult(FingerprintCallback.java:199)
05-23 22:59:15.144 11647 11647 E AndroidRuntime: at android.hardware.fingerprint.FingerprintManager$FingerprintServiceReceiver.lambda$onAcquired$1(FingerprintManager.java:1572)
05-23 22:59:15.144 11647 11647 E AndroidRuntime: at android.hardware.fingerprint.FingerprintManager$FingerprintServiceReceiver.$r8$lambda$wcZms5DTCBGW5VTEeJRCWEIwTW4(Unknown Source:0)
05-23 22:59:15.144 11647 11647 E AndroidRuntime: at android.hardware.fingerprint.FingerprintManager$FingerprintServiceReceiver$$ExternalSyntheticLambda10.run(D8$$SyntheticClass:0)
05-23 22:59:15.144 11647 11647 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:991)
05-23 22:59:15.144 11647 11647 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
05-23 22:59:15.144 11647 11647 E AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:232)
05-23 22:59:15.144 11647 11647 E AndroidRuntime: at android.os.Looper.loop(Looper.java:317)
05-23 22:59:15.144 11647 11647 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:8930)
05-23 22:59:15.144 11647 11647 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
05-23 22:59:15.144 11647 11647 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:595)
05-23 22:59:15.144 11647 11647 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:911)
And add a "when to show" setting.
Bug: 401001786
Test: manually
Flag: com.android.systemui.glanceable_hub_v2
Change-Id: I5f660a1be4bdbb5ab5bb14aa070bfa81b31da6b4
- Update card preference: Update icon hint color by banner attention level
- Remove redundant color token: Use the existing Material yellow as a warning color
Bug: 349652542
Test: atest BatteryTipsControllerTest
Flag: com.android.settingslib.widget.theme.flags.is_expressive_design_enabled
Change-Id: I35730eb4716e9dbd712c22db63490e8bc06fc482
This reverts commit 1da7265d68.
Reason for revert: keep using these languages for dogfood after 24Q4 cutoff
Change-Id: Ic0a3c8f382f073e8200b20631aee134ea7c76d87
Remove language in 24Q4 ROM to prevent leak
Flag: EXEMPT resource only update
Test: atest GtsSettingsTestCases:com.google.android.settings.gts.TermsOfAddressTest
atest TermsOfAddressCategoryControllerTest
Change-Id: Ie019cf1a8462b72f6adf6ae9a35e0ecb420c2af1
E.g. "briefcase" instead of "work"
Bug: 333901673
Test: manual, with Talkback
Flag: android.app.modes_ui
Change-Id: I4364820a82a7ba4b1345c2e0fea571ee7b6c4e6f
This reverts commit 773afdfaf7.
Reason for revert: b/357055415 has been fixed. Revert is unnecessary
Flag: TEST_ONLY
Bug: 328697623
Test: atest TermsOfAddressCategoryControllerTest
Change-Id: Ic1477e3dfdade68b81bbdcdb0c98109064278eb4
This reverts commit a60a38dd39.
Reason for revert: Droidmonitor created revert due to b/357174479.
Change-Id: I2db3afbb148bf7a9d66d395c56e490d837cb8b93
* Move default mode icons from Settings res to core res.
* Add array resources for the icon options and their descriptions.
* As the initial version of the list, use the default mode icons.
Bug: 333901673
Test: atest IconOptionsProviderImplTest
Flag: android.app.modes_ui
Change-Id: I66669e67a9d607268c05d5ed3df6c9555e57864c
The goal is to be able to enable different log levels for Bluetooth
stack logging from Developer Options in Settings. This is done by
creating a Bluetooth property which houses the current state of the log
level, adding the required UI elements and linking the two together.
Tag: #feature
Bug: 307330446
Test: atest BluetoothStackLogPreferenceControllerTest
Change-Id: I8665b17622218743aa00250118b718d5cabdb9fc
Change the previous toggle design to list option for broadcast feature.
The new toggle change is only applied as broadcast feature enabled whcih
is behind a feature flag.
Bug: 273153850
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothLeAudioPreferenceControllerTest
Change-Id: Ic2ea10d9d9529a2d413525c1b660f8fbac371502
Remove the legacy vpn types from R.array.vpn_types.
Since the array of vpn types are now all allowed, the case of
using mAllowedTypes is no longer needed and removed.
Since R.array.vpn_types no longer match the constants in
VpnProfile, a conversion is needed from the VpnProfile constants
to the selected type position and vice versa.
Bug: 161776767
Test: m
Test: Flash and manual test setup VPNs
Change-Id: I76a5c940acf08c6d6adfe6ff270f39808abf88ab
- add enum PowerAnomalyType/PowerAnomalyKey
- update the func to get anomaly index
Test: manual
Bug: 291689623
Change-Id: If4e6684c8169dfa3edd4e18a11d518737a3b2840
Merged-In: If4e6684c8169dfa3edd4e18a11d518737a3b2840