Commit Graph

148188 Commits

Author SHA1 Message Date
rmp22
2d3231bb29 Settings: enrollment fix for low-positioned udfps
Change-Id: I2dfc84de962152d94e50ba67c552ae8dd681bfac
Signed-off-by: rmp22 <195054967+rmp22@users.noreply.github.com>
2025-12-10 00:41:34 +09:00
rmp22
d05a888a44 Settings: power off verify
Change-Id: I5e99bd38a1ff50ce3e92d662ab5c07f3a8b22d37
2025-12-10 00:41:34 +09:00
Cao Peng
2033cb7931 Remove stray closing tag in mode_interstitial_layout.xml
Remove orphaned "/>" tag that was causing incorrect XML layout structure
in the landscape layout file for mode interstitial.

Test: Settings layout renders correctly in landscape mode
Change-Id: I758b892da3591a058b05161665002aa4852ccf7c
2025-12-10 00:41:34 +09:00
rmp22
c743926e72 Settings: biometrics features enhance
Change-Id: I7dccbe13abcf5eb1034eb9aea6cf42eb54712632
Signed-off-by: rmp22 <195054967+rmp22@users.noreply.github.com>
2025-12-10 00:41:34 +09:00
rmp22
a029301c3a Settings: add three finger swipe actions/screenshot combo intercept
Change-Id: I605bdf2e5f975edef7a4865ded35345a085799a7
2025-12-10 00:41:34 +09:00
rmp22
4faa014582 Settings: add abstract fragment class to reduce fragments boilerplate
Change-Id: I7abc1f6a59419eecb5c6616a66e12e524d2af1a1
Signed-off-by: rmp22 <195054967+rmp22@users.noreply.github.com>
2025-12-10 00:41:34 +09:00
rmp22
6283b95cb7 Settings: add SearchIndexProviderHolder interface
Change-Id: If707962f087511fc08d9c177da8cfaf98000bbe1
2025-12-10 00:41:34 +09:00
cjh1249131356
6e94d6b041 Settings: deviceinfo: Try read designed capacity from PowerProfile if unavailable
Signed-off-by: cjh1249131356 <cjh1249131356@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-10 00:41:34 +09:00
Pranav Vashi
6cb2fd35e5 Settings: Fixup compose preference layout
* This fixes misaligned Developer Options, Data Usage, Roaming toggle, etc.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-10 00:41:34 +09:00
Pranav Vashi
452dd2c86b Settings: Allow using icon for ComposePreference
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-10 00:41:33 +09:00
Ido Ben-Hur
c5a5cc1924 Settings: Allow configuring haptics for wake gestures [2/2]
Change-Id: Iaa771adfb1ebe588ebda65cd9e0ce0fcb359eb30
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
2025-12-10 00:41:33 +09:00
Pranav Vashi
e47862be1b Settings: Enable expressive theme layout for various activities
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-10 00:41:33 +09:00
Pranav Vashi
b50a6f3a6b Settings: Make ticks visible for Vibration intensity prefs
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-10 00:41:33 +09:00
Pranav Vashi
8fe65090ff Settings: Fix illegal state exception on StorageSelectionPreferenceController
Log:
time: 1756667643368
msg: java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to android.widget.TextView
stacktrace: java.lang.IllegalStateException: Default drop down view should be a TextView,
	at com.android.settings.deviceinfo.storage.StorageSelectionPreferenceController$StorageAdapter.getDropDownView(StorageSelectionPreferenceController.java:150)
	at android.widget.Spinner$DropDownAdapter.getDropDownView(Spinner.java:1032)
	at android.widget.Spinner$DropDownAdapter.getView(Spinner.java:1028)
	at android.widget.Spinner.measureContentWidth(Spinner.java:889)
	at android.widget.Spinner$DropdownPopup.computeContentWidth(Spinner.java:1265)
	at android.widget.Spinner$DropdownPopup.show(Spinner.java:1291)
	at android.widget.Spinner.performClick(Spinner.java:797)
	at android.view.View.performClickInternal(View.java:8060)
	at android.view.View.-$$Nest$mperformClickInternal(Unknown Source:0)
	at android.view.View$PerformClick.run(View.java:31554)
	at android.os.Handler.handleCallback(Handler.java:995)
	at android.os.Handler.dispatchMessage(Handler.java:103)
	at android.os.Looper.loopOnce(Looper.java:248)
	at android.os.Looper.loop(Looper.java:338)
	at android.app.ActivityThread.main(ActivityThread.java:9068)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:596)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:932)
Caused by: java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to android.widget.TextView
	at com.android.settings.deviceinfo.storage.StorageSelectionPreferenceController$StorageAdapter.getDropDownView(StorageSelectionPreferenceController.java:148)
	... 17 more

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-10 00:41:33 +09:00
Pranav Vashi
dfc76ce8f2 Settings: Re-add stop tracking listener in gesture navigation
Requires framework change:
c8d5f0f684

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-10 00:41:33 +09:00
Pranav Vashi
f16254a14c Settings: Update power button sensitivity slider to SliderPreference
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-10 00:41:33 +09:00
AnierinB
302437d1e5 Settings: Update gesture LabeledSeekBarPreference to SliderPreference component
Co-authored-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: AnierinB <anierin@evolution-x.org>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-10 00:41:33 +09:00
AnierinB
d86c6e60ed Settings: Update ExtraDim slider to SliderPreference component
For expressive design.

Co-authored-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: AnierinB <anierin@evolution-x.org>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-10 00:41:33 +09:00
Ido Ben-Hur
0103dce92f Settings: Add support for daily and weekly data usage cycles [2/2]
Change-Id: Ib43ca55f0f7fec5202982f5786176184809ab9f8
2025-12-10 00:41:33 +09:00
Henrique Silva
dcaec74227 DevelopmentSettings: Disable automatic updates
Change-Id: Ife413320e73aedffb30e6b056f3f71b0db38bb46
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-10 00:41:33 +09:00
Pranav Vashi
faa325e100 Settings: Update strings for override dark mode
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-10 00:41:33 +09:00
Pranav Vashi
f3b6cea771 Settings: Move force dark mode to dark mode settings
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-10 00:41:33 +09:00
Dhina17
2d2fc07f94 Settings: Hide the nav bar during udfps fp enrolling
On some devices, udfps is kinda near to nav bar
so the enroll circle ends up behind the nav bar
and that looks not good.

Change-Id: I5184f8e8c34693d145199c2081e543656d8d702c
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-10 00:41:33 +09:00
LibXZR
344fcbbe73 Settings: Add preference for resetting auto brightness adjustment
Change-Id: Iec214a30b1cfe3885b94cfd7c69fe60bc93372a1
Signed-off-by: LibXZR <i@xzr.moe>
2025-12-10 00:41:33 +09:00
Adithya R
740006bf7c Settings: Enable redirect vibration toggle unconditionally
It doesn't make sense to show it only when there is a vibration-
supported input device, because that makes the setting not
discoverable.

Change-Id: Ib4a5021007edb08bc3ecfda1967588f7f9825db8
2025-12-10 00:41:33 +09:00
Chris Crump
bc315d1771 Settings: Introduce Adaptive Playback [2/2]
* Animation by Sahul Krishan
* Adapt to Android 11 by @mickaelmendes50

[Hernán Castañón] Adaptive Playback: allow choosing no timeout.

Co-authored-by: Hernán Castañón Álvarez <herna@paranoidandroid.co>
Change-Id: I82c20b89d06b722d8f9da1bdb14eb096a7d088c9

AdaptivePlayback: Add a intro text to the fragment

 * Let's help users to understand what the feature does
   by adding a little introduction text.

Change-Id: Ie9ef15d7f60ab2197c30c79434c9fb876c498cd5
Co-authored-by: AshutoshSundresh <ashutoshsundresh@gmail.com>
Signed-off-by: Mesquita <mesquita@aospa.co>

Settings: Move "Adaptive Playback" option to Sound Settings.

 * Our gestures category looks bloated with features.
   Move this to Sound Settings where it feels better and more homely.

Change-Id: I28fd022a4998141435a1e89a027b7a1fe6f75537
Signed-off-by: Mesquita <mesquita@aospa.co>

AdaptivePlayback: Rename it to 'Smart Pause' to keep a better fluency

 * As we already have an 'Adaptive Sound' in sound settings

Change-Id: Iaca4b7d65fe490ee6462ba49907316930deaeaa5
Signed-off-by: Mesquita <mesquita@aospa.co>

Change-Id: I82c20b89d06b722d8f9da1bdb14eb096a7d088c9
2025-12-10 00:41:33 +09:00
Pranav Vashi
4c7287290b Settings: Fix slice data illegal state in credentials
Log:

08-07 06:50:38.941 W/SliceDataConverter(9136): Get slice data from XML failed
08-07 06:50:38.941 W/SliceDataConverter(9136): java.lang.IllegalStateException: Invalid preference controller: com.android.settings.applications.credentials.CredentialManagerPreferenceController
08-07 06:50:38.941 W/SliceDataConverter(9136): 	at com.android.settings.core.BasePreferenceController.createInstance(BasePreferenceController.java:149)
08-07 06:50:38.941 W/SliceDataConverter(9136): 	at com.android.settings.slices.SliceBuilderUtils.getPreferenceController(SliceBuilderUtils.java:369)
08-07 06:50:38.941 W/SliceDataConverter(9136): 	at com.android.settings.slices.SliceDataConverter.getSliceDataFromXML(SliceDataConverter.java:192)
08-07 06:50:38.941 W/SliceDataConverter(9136): 	at com.android.settings.slices.SliceDataConverter.getSliceDataFromProvider(SliceDataConverter.java:147)
08-07 06:50:38.941 W/SliceDataConverter(9136): 	at com.android.settings.slices.SliceDataConverter.getSliceData(SliceDataConverter.java:117)
08-07 06:50:38.941 W/SliceDataConverter(9136): 	at com.android.settings.slices.SlicesIndexer.getSliceData(SlicesIndexer.java:94)
08-07 06:50:38.941 W/SliceDataConverter(9136): 	at com.android.settings.slices.SlicesIndexer.indexSliceData(SlicesIndexer.java:75)
08-07 06:50:38.941 W/SliceDataConverter(9136): 	at com.android.settings.slices.SlicesFeatureProviderImpl.indexSliceData(SlicesFeatureProviderImpl.java:63)
08-07 06:50:38.941 W/SliceDataConverter(9136): 	at com.android.settings.slices.SlicesDatabaseAccessor.verifyIndexing(SlicesDatabaseAccessor.java:197)
08-07 06:50:38.941 W/SliceDataConverter(9136): 	at com.android.settings.slices.SlicesDatabaseAccessor.getSliceUris(SlicesDatabaseAccessor.java:97)
08-07 06:50:38.941 W/SliceDataConverter(9136): 	at com.android.settings.slices.SettingsSliceProvider.onGetSliceDescendants(SettingsSliceProvider.java:359)
08-07 06:50:38.941 W/SliceDataConverter(9136): 	at androidx.slice.compat.SliceProviderWrapperContainer$SliceProviderWrapper.onGetSliceDescendants(SliceProviderWrapperContainer.java:166)
08-07 06:50:38.941 W/SliceDataConverter(9136): 	at android.app.slice.SliceProvider.handleGetDescendants(SliceProvider.java:421)
08-07 06:50:38.941 W/SliceDataConverter(9136): 	at android.app.slice.SliceProvider.call(SliceProvider.java:402)
08-07 06:50:38.941 W/SliceDataConverter(9136): 	at androidx.slice.compat.SliceProviderWrapperContainer$SliceProviderWrapper.call(SliceProviderWrapperContainer.java:123)
08-07 06:50:38.941 W/SliceDataConverter(9136): 	at android.content.ContentProvider.call(ContentProvider.java:2709)
08-07 06:50:38.941 W/SliceDataConverter(9136): 	at android.content.ContentProvider$Transport.call(ContentProvider.java:638)
08-07 06:50:38.941 W/SliceDataConverter(9136): 	at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:307)
08-07 06:50:38.941 W/SliceDataConverter(9136): 	at android.os.Binder.execTransactInternal(Binder.java:1421)
08-07 06:50:38.941 W/SliceDataConverter(9136): 	at android.os.Binder.execTransact(Binder.java:1365)
08-07 06:50:38.941 W/SliceDataConverter(9136): Caused by: java.lang.reflect.InvocationTargetException
08-07 06:50:38.941 W/SliceDataConverter(9136): 	at java.lang.reflect.Constructor.newInstance0(Native Method)
08-07 06:50:38.941 W/SliceDataConverter(9136): 	at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
08-07 06:50:38.941 W/SliceDataConverter(9136): 	at com.android.settings.core.BasePreferenceController.createInstance(BasePreferenceController.java:146)
08-07 06:50:38.941 W/SliceDataConverter(9136): 	... 19 more
08-07 06:50:38.941 W/SliceDataConverter(9136): Caused by: java.lang.RuntimeException: Can't create handler inside thread Thread[binder:9136_1,5,main] that has not called Looper.prepare()
08-07 06:50:38.941 W/SliceDataConverter(9136): 	at android.os.Handler.<init>(Handler.java:231)
08-07 06:50:38.941 W/SliceDataConverter(9136): 	at android.os.Handler.<init>(Handler.java:133)
08-07 06:50:38.941 W/SliceDataConverter(9136): 	at com.android.settings.applications.credentials.CredentialManagerPreferenceController.<init>(CredentialManagerPreferenceController.java:110)
08-07 06:50:38.941 W/SliceDataConverter(9136): 	... 22 more

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-10 00:41:33 +09:00
rmp22
6459858d1d Themes: use legacy material background color
Change-Id: Ibef07b33633ed7d6db40865bfbeb9a547ef2c11e
2025-12-10 00:41:33 +09:00
rmp22
d6e7a53890 Settings: fix screen off udfps preference visibility
remove redundant resource check

Change-Id: Iea2f126907b4d03989e7e668467b9711ea432102
Signed-off-by: rmp22 <195054967+rmp22@users.noreply.github.com>
2025-12-10 00:41:33 +09:00
Dmitry Muhomor
71476359e9 fix upstream NPE crash in UserAspectRatioDetails.launchApplication() 2025-12-10 00:41:33 +09:00
Ritesh
a65bdfbe44 Settings: Improve strings for hide screen capture status from apps feature
Signed-off-by: Ritesh <SahanyRitesh@proton.me>
2025-12-10 00:41:33 +09:00
Joey Huab
741fea4ee9 Settings: Update HDR strings to match Android Canary release
* Ref: https://www.androidauthority.com/android-canary-hdr-settings-3576420
2025-12-10 00:41:33 +09:00
jhenrique09
9d62214276 AmbientDisplay: Add custom pref for devices with custom doze packages
Change-Id: Ie065f3892360f56d930ad1a373547454fb80892b
Signed-off-by: jhenrique09 <jhenrique09.mcz@hotmail.com>
Signed-off-by: HeroBuxx <me@herobuxx.me>
2025-12-10 00:41:33 +09:00
Adithya R
f840809b4c Settings: Improve udfps enroll introduction layout
Avoid scrolling by making the illustration fit available space.

Change-Id: I5300875b7790ee3664eff22d3517289ed04ef696
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Dmitrii <bankersenator@gmail.com>
2025-12-10 00:41:33 +09:00
Adithya R
a903b82237 Settings: Use internal display brightness in overlay displays
If settings is running on an overlay display (such as floating window)
the context's default display points to the overlay display, which
always has its brightness set to 0. Use the internal (default) display's
brightness in this case.

Change-Id: I973edf8e2b65214df7b716eebb270abf3ad30c09
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Dmitrii <bankersenator@gmail.com>
2025-12-10 00:41:33 +09:00
Adithya R
5551f258f3 Settings: Fixup fingerprint enroll finish layout
Using a fixed layout size meant that the view was becoming scrollable
in landscape mode. Instead use the parent size with a max height and
width. Center the layout and cleanup unused elements while at it.

Change-Id: If39d67d679a3e77bc9210e98885b4addfd1660d7
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Dmitrii <bankersenator@gmail.com>
2025-12-10 00:41:33 +09:00
Adithya R
b726c64318 Settings: Retain udfps overlay shown state on restoring activity
Prevent udfps view from disappearing if the activity is recreated due
to theme or configuration change while enrolling fingerprint.

Change-Id: I0bb0a3cf90c8119bab566fdb0f35db0ee858b75e
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Dmitrii <bankersenator@gmail.com>
2025-12-10 00:41:33 +09:00
Joey Huab
f0ca40ccab Settings: Migrate Touchpad visualizer to SwitchPreferenceCompat 2025-12-10 00:41:33 +09:00
Oscar
ddf47ebe6c (fingerprint): guard against out-of-bounds access in getVendorString()
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)
2025-12-10 00:41:33 +09:00
Dmitry Muhomor
58b0657a69 fix fingerprint enrollment on Google devices with side FP scanner 2025-12-10 00:41:33 +09:00
John Vincent
ef2ee257a9 Settings: Fix setting device name based on market name
The current code for setting device name based on market name is incorrect; this means that if the required property exists on a device, it will always use the market name regardless if the user has customized their device name.

Fix this by checking if the market name prop exists if and only if there is no customized device name, then falling back to the device model if said prop doesn't exist.

Signed-off-by: John Vincent <git@tenseventyseven.cf>
Signed-off-by: Dmitrii <bankersenator@gmail.com>
2025-12-10 00:41:33 +09:00
Pranav Vashi
f393af61f2 Settings: Set device name from marketname if available
Change-Id: If974ac38638fca9b100008d1b5404d876faf42e2
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Joey Huab <joey@evolution-x.org>
Signed-off-by: Dmitrii <bankersenator@gmail.com>
2025-12-10 00:41:33 +09:00
minaripenguin
15e36f3a04 settings: Prevent crash when a category service is empty or null
4 22:13:24.995  7022  7022 E AndroidRuntime: FATAL EXCEPTION: main
10-24 22:13:24.995  7022  7022 E AndroidRuntime: Process: com.android.settings, PID: 7022
10-24 22:13:24.995  7022  7022 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.settings/com.android.settings.SubSettings}: java.lang.NullPointerException: Attempt to invoke virtual method 'int androidx.preference.PreferenceGroup.getPreferenceCount()' on a null object reference
10-24 22:13:24.995  7022  7022 E AndroidRuntime: 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3782)
10-24 22:13:24.995  7022  7022 E AndroidRuntime: 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3922)
10-24 22:13:24.995  7022  7022 E AndroidRuntime: 	at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
10-24 22:13:24.995  7022  7022 E AndroidRuntime: 	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:139)
10-24 22:13:24.995  7022  7022 E AndroidRuntime: 	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:96)
10-24 22:13:24.995  7022  7022 E AndroidRuntime: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2443)
10-24 22:13:24.995  7022  7022 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:106)
10-24 22:13:24.995  7022  7022 E AndroidRuntime: 	at android.os.Looper.loopOnce(Looper.java:205)
10-24 22:13:24.995  7022  7022 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:294)
10-24 22:13:24.995  7022  7022 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:8177)
10-24 22:13:24.995  7022  7022 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
10-24 22:13:24.995  7022  7022 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
10-24 22:13:24.995  7022  7022 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)
10-24 22:13:24.995  7022  7022 E AndroidRuntime: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int androidx.preference.PreferenceGroup.getPreferenceCount()' on a null object reference
10-24 22:13:24.995  7022  7022 E AndroidRuntime: 	at com.android.settings.accessibility.AccessibilitySettings.updateCategoryOrderFromArray(AccessibilitySettings.java:479)
10-24 22:13:24.995  7022  7022 E AndroidRuntime: 	at com.android.settings.accessibility.AccessibilitySettings.updateServicePreferences(AccessibilitySettings.java:398)
10-24 22:13:24.995  7022  7022 E AndroidRuntime: 	at com.android.settings.accessibility.AccessibilitySettings.updateAllPreferences(AccessibilitySettings.java:320)
10-24 22:13:24.995  7022  7022 E AndroidRuntime: 	at com.android.settings.accessibility.AccessibilitySettings.onCreate(AccessibilitySettings.java:201)

Signed-off-by: minaripenguin <minaripenguin@users.noreply.github.com>
Signed-off-by: Dmitrii <bankersenator@gmail.com>
2025-12-10 00:41:33 +09:00
Adithya R
3e40de9cb7 Settings: Fix duplicated baseband string on all devices.
* CAF has fixed this year-old glitch but it seems like
   only a certain "CT PA" requires it and hence the code
   is guarded (check 4bb2825836dd5099447508d3cb321952e1f7a5fa and a7162edd8e811a1918f66769111f8cbda3a993fe)

 * Let's make the fix available for all dual SIM devices!

Change-Id: Icfc1e54047a0ecc4b52999c798d2e6a580309e46
(cherry picked from commit d7876e1cc4c2284a2b6c167169b0279367fc76f6)
Signed-off-by: Dmitrii <bankersenator@gmail.com>
2025-12-10 00:41:33 +09:00
Daniel Micay
e6262ead9b use 2021-01-01 as minimum battery date
Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com>
2025-12-10 00:41:33 +09:00
Dmitry Muhomor
0637cdfea4 add isLoggable check to overly verbose PrefCtrlListHelper log statement
Signed-off-by: Dmitrii <bankersenator@gmail.com>
2025-12-10 00:41:32 +09:00
Chris Lahaye
03c1db305c Settings: Add pocket lock toggle
AICP Pie: Modified defaults to false.
	Brought up to 10 with androidx

@jhenrique09 edits: Adapt strings, and also use config_pocketModeSupported on isAvailable

Change-Id: I398c8f0be23c27cbcf1fb57eed44a801b31bc6c9

Settings: Remove pocket lock toggle icons

 * Also move it to lockscreen settings

Change-Id: Iae8a6b4739c317e723c0cfad46db5ceb494f74f8
Signed-off-by: Dmitrii <bankersenator@gmail.com>
2025-12-10 00:41:32 +09:00
Ido Ben-Hur
6f43cd72cd Settings: Allow showing Ambient instead of fully waking [2/2]
* [joeyhuab] Adapt to A16; Remove MainSwitchPreference.updateStatus like 041bc113eb

Separate configs for st2w and lift to wake
Follow our convention in the rest of the switches in that page

Change-Id: Ibd82d808aca2caf3f9c4518eb0c2e5f60669759e
Signed-off-by: Cyber Knight <cyberknight755@gmail.com>
Signed-off-by: Edwiin Kusuma Jaya <kutemeikito0905@gmail.com>
2025-12-10 00:41:32 +09:00
Dmitrii
97644bc45b NfcAndPaymentFragmentController: fix crash
06-29 23:09:26.799  5606  5606 E AndroidRuntime: Caused by: java.lang.IllegalArgumentException: Receiver not registered: com.android.settings.connecteddevice.NfcAndPaymentFragmentController$1@95014d9
06-29 23:09:26.799  5606  5606 E AndroidRuntime: 	at android.app.LoadedApk.forgetReceiverDispatcher(LoadedApk.java:1695)
06-29 23:09:26.799  5606  5606 E AndroidRuntime: 	at android.app.ContextImpl.unregisterReceiver(ContextImpl.java:2025)
06-29 23:09:26.799  5606  5606 E AndroidRuntime: 	at android.content.ContextWrapper.unregisterReceiver(ContextWrapper.java:843)
06-29 23:09:26.799  5606  5606 E AndroidRuntime: 	at com.android.settings.connecteddevice.NfcAndPaymentFragmentController.onStop(NfcAndPaymentFragmentController.java:106)
06-29 23:09:26.799  5606  5606 E AndroidRuntime: 	at com.android.settingslib.core.lifecycle.Lifecycle.onStop(Lifecycle.java:169)
06-29 23:09:26.799  5606  5606 E AndroidRuntime: 	at com.android.settingslib.core.lifecycle.Lifecycle.-$$Nest$monStop(Lifecycle.java:0)
06-29 23:09:26.799  5606  5606 E AndroidRuntime: 	at com.android.settingslib.core.lifecycle.Lifecycle$LifecycleProxy.onLifecycleEvent(Lifecycle.java:231)

Signed-off-by: Dmitrii <bankersenator@gmail.com>
2025-12-10 00:41:32 +09:00
AnierinB
fd81964ba3 Settings: Apply expressive design to evolver icon
Signed-off-by: AnierinB <anierin@evolution-x.org>
2025-12-10 00:41:32 +09:00