Commit Graph

57451 Commits

Author SHA1 Message Date
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
minaripenguin
c58e620ddf RunningServices: Remove DeveloperOptionAwareMixin interface
* allows accessing running services activity without enabling developer options

Signed-off-by: minaripenguin <minaripenguin@users.noreply.github.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-10 00:41:32 +09:00
Joey Huab
51a13a02e3 Revert "Settings: Pass empty lottie resource for quickly open camera animation"
This reverts commit 212730dd7599f49f306214a1fe4923c4c45ebe9f.
2025-12-10 00:41:32 +09:00
rmp22
2cfd52ca24 display: add hdr display switch preference
Change-Id: Ibbafce724ae0386c054394cdd8089ec58593cb30
Signed-off-by: rmp22 <195054967+rmp22@users.noreply.github.com>
2025-12-10 00:41:32 +09:00
rmp22
18716b4805 EnableBlursPreferenceController: fix default blur value
Change-Id: I368f8e0540ff82f6ee4c36b8c7246e8974b0ec98
2025-12-10 00:41:32 +09:00
Tommy Webb
ec595b5b38 fixup! Fix background data clobbering other policies
* Rename variables/arguments to clarify that we are working with policy
  flags, meaning that there can be multiple policies described by a
  uid policy, not just one.
* When checking policies for a policy flag, do a proper flag check,
  rather than a direct comparison that assumes one single policy.
* Only alter the displayed setting for the "Background network access"
  and "Unrestricted mobile data usage" toggles in response to underlying
  policy changes, to ensure their state represents the current reality.
* Add a couple explanatory comments.

Test: Manual: Install an app that does not have INTERNET permission.
Open the "Unrestricted mobile data" page of Settings. Try to activate
the toggle for such an app. The toggle should activate successfully
without needing to be tapped twice.

Issue: calyxos#2547
Change-Id: I9f2f028be4a21158a68c60982253d85586f60cdb
2025-12-10 00:41:32 +09:00
ShevT
506fc9a0a5 Settings: Add Comss DNS provider 2025-12-10 00:41:32 +09:00
rmp22
0371350cc3 AppLockPackageListFragment: fix app filter
Change-Id: I2e1441f6b394f5f3a40b627e039aa9a47fe26c1a
2025-12-10 00:41:32 +09:00
rmp22
9bd6860aa1 ManageStoragePreferenceController: Explicitly disable storage management preference
broken and shows empty space

Change-Id: I2e9ab26c5a1c92a812f86253809664ae67a2973a
2025-12-10 00:41:32 +09:00
AnierinB
abfcb44826 Settings: Support hiding gesture hint in NexusLauncher
Signed-off-by: AnierinB <anierin@evolution-x.org>
2025-12-10 00:41:32 +09:00
shivatejapeddi
b7413bbcc7 Settings: Move Notch Cutout to Display
Signed-off-by: minaripenguin <minaripenguin@users.noreply.github.com>
2025-12-10 00:41:32 +09:00
Pranav Vashi
74d367e108 Settings: Prevent IllegalArgumentException in storage settings
Log:

12:52:01.470  3086  5008 E AndroidRuntime: FATAL EXCEPTION: AsyncTask #2
03-31 12:52:01.470  3086  5008 E AndroidRuntime: Process: com.android.settings, PID: 3086
03-31 12:52:01.470  3086  5008 E AndroidRuntime: java.lang.RuntimeException: An error occurred while executing doInBackground()
03-31 12:52:01.470  3086  5008 E AndroidRuntime: 	at androidx.loader.content.ModernAsyncTask$2.done(ModernAsyncTask.java:119)
03-31 12:52:01.470  3086  5008 E AndroidRuntime: 	at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:434)
03-31 12:52:01.470  3086  5008 E AndroidRuntime: 	at java.util.concurrent.FutureTask.setException(FutureTask.java:303)
03-31 12:52:01.470  3086  5008 E AndroidRuntime: 	at java.util.concurrent.FutureTask.run(FutureTask.java:322)
03-31 12:52:01.470  3086  5008 E AndroidRuntime: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1156)
03-31 12:52:01.470  3086  5008 E AndroidRuntime: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:651)
03-31 12:52:01.470  3086  5008 E AndroidRuntime: 	at java.lang.Thread.run(Thread.java:1119)
03-31 12:52:01.470  3086  5008 E AndroidRuntime: Caused by: java.lang.IllegalArgumentException: Volume external_primary not found
03-31 12:52:01.470  3086  5008 E AndroidRuntime: 	at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:183)
03-31 12:52:01.470  3086  5008 E AndroidRuntime: 	at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:153)
03-31 12:52:01.470  3086  5008 E AndroidRuntime: 	at android.content.ContentProviderProxy.query(ContentProviderNative.java:495)
03-31 12:52:01.470  3086  5008 E AndroidRuntime: 	at android.content.ContentResolver.query(ContentResolver.java:1229)
03-31 12:52:01.470  3086  5008 E AndroidRuntime: 	at com.android.settings.deviceinfo.storage.StorageAsyncLoader.getFilesSize(StorageAsyncLoader.java:143)
03-31 12:52:01.470  3086  5008 E AndroidRuntime: 	at com.android.settings.deviceinfo.storage.StorageAsyncLoader.getStorageResultsForUsers(StorageAsyncLoader.java:93)
03-31 12:52:01.470  3086  5008 E AndroidRuntime: 	at com.android.settings.deviceinfo.storage.StorageAsyncLoader.loadInBackground(StorageAsyncLoader.java:76)
03-31 12:52:01.470  3086  5008 E AndroidRuntime: 	at com.android.settings.deviceinfo.storage.StorageAsyncLoader.loadInBackground(StorageAsyncLoader.java:55)
03-31 12:52:01.470  3086  5008 E AndroidRuntime: 	at androidx.loader.content.AsyncTaskLoader.onLoadInBackground(AsyncTaskLoader.java:289)
03-31 12:52:01.470  3086  5008 E AndroidRuntime: 	at androidx.loader.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:57)
03-31 12:52:01.470  3086  5008 E AndroidRuntime: 	at androidx.loader.content.ModernAsyncTask$1.call(ModernAsyncTask.java:96)
03-31 12:52:01.470  3086  5008 E AndroidRuntime: 	at java.util.concurrent.FutureTask.run(FutureTask.java:317)
03-31 12:52:01.470  3086  5008 E AndroidRuntime: 	... 3 more

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-10 00:41:32 +09:00
Pranav Vashi
7506ee034f Settings: Do not hide navigation modes
* We have customization for 3 buttons included here.
* Instead hide "Gesture Navigation" if config_swipe_up_gesture_setting_available is disabled.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-10 00:41:32 +09:00
Dmitry Muhomor
d4e7b3a39c add app battery optimization settings link to Battery screen 2025-12-10 00:41:32 +09:00
Dmitry Muhomor
f2f7948895 make "App info > App battery usage" item directly open the inner screen 2025-12-10 00:41:32 +09:00
Dmitry Muhomor
195cbe8810 [temporary] don't show battery usage info in App info item summary
It takes more than 5 seconds to load in many cases due to an upstream regression.
2025-12-10 00:41:32 +09:00
Dmitry Muhomor
60a5d2906a don't disable App info > Battery usage item while its summary is loading 2025-12-10 00:41:32 +09:00
Dmitry Muhomor
04e3fba5e2 show current app battery usage mode in summary of App battery usage item 2025-12-10 00:41:32 +09:00
Pranav Vashi
8e2fa0fe26 Settings: Check GSA package too for CTS availability
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-10 00:41:32 +09:00
flakeforever
3edcf6f6c6 Settings: bluetooth: Fix generateSummary out-of-bounds 2025-12-10 00:41:32 +09:00
andy
96d8d44bcd Settings: Improve RAM summary for devices >12GB of RAM
* settings: Improve RAM summary formatting to show one decimal place

* settings: Update RAM formatting to use gigabytes with no decimal places + base 10 units for closer accuracy to advertised RAM sizes
2025-12-10 00:41:32 +09:00
Pranav Vashi
b52dea13a3 Settings: Prevent Wifi Tethering NPE
Log:

time: 1740837422345
msg: java.lang.NullPointerException: Attempt to read from field 'java.lang.String[] android.net.TetheringConfigurationParcel.tetherableWifiRegexs' on a null object reference in method 'java.lang.String[] android.net.TetheringManager.getTetherableWifiRegexs()'
stacktrace: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.settings/com.android.settings.Settings$WifiTetherSettingsActivity}: java.lang.NullPointerException: Attempt to read from field 'java.lang.String[] android.net.TetheringConfigurationParcel.tetherableWifiRegexs' on a null object reference in method 'java.lang.String[] android.net.TetheringManager.getTetherableWifiRegexs()'
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4129)
	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4316)
	at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:222)
	at android.app.servertransaction.TransactionExecutor.executeNonLifecycleItem(TransactionExecutor.java:133)
	at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:103)
	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:80)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2719)
	at android.os.Handler.dispatchMessage(Handler.java:109)
	at android.os.Looper.loopOnce(Looper.java:232)
	at android.os.Looper.loop(Looper.java:317)
	at android.app.ActivityThread.main(ActivityThread.java:8787)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:594)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:871)
Caused by: java.lang.NullPointerException: Attempt to read from field 'java.lang.String[] android.net.TetheringConfigurationParcel.tetherableWifiRegexs' on a null object reference in method 'java.lang.String[] android.net.TetheringManager.getTetherableWifiRegexs()'
	at android.net.TetheringManager.getTetherableWifiRegexs(TetheringManager.java:1637)
	at com.android.settings.wifi.tether.WifiTetherBasePreferenceController.<init>(WifiTetherBasePreferenceController.java:50)
	at com.android.settings.wifi.tether.WifiTetherSSIDPreferenceController.<init>(WifiTetherSSIDPreferenceController.java:59)
	at com.android.settings.wifi.tether.WifiTetherSettings.buildPreferenceControllers(WifiTetherSettings.java:295)
	at com.android.settings.wifi.tether.WifiTetherSettings.createPreferenceControllers(WifiTetherSettings.java:289)
	at com.android.settings.dashboard.DashboardFragment.onAttach(DashboardFragment.java:127)
	at com.android.settings.wifi.tether.WifiTetherSettings.onAttach(WifiTetherSettings.java:206)
	at androidx.fragment.app.Fragment.performAttach(Fragment.java:3075)
	at androidx.fragment.app.FragmentStateManager.attach(FragmentStateManager.java:510)
	at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:279)
	at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2211)
	at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2106)
	at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2049)
	at androidx.fragment.app.FragmentManager.executePendingTransactions(FragmentManager.java:779)
	at com.android.settings.SettingsActivity.switchToFragment(SettingsActivity.java:723)
	at com.android.settings.SettingsActivity.launchSettingFragment(SettingsActivity.java:515)
	at com.android.settings.SettingsActivity.createUiFromIntent(SettingsActivity.java:324)
	at com.android.settings.SettingsActivity.onCreate(SettingsActivity.java:283)
	at android.app.Activity.performCreate(Activity.java:9019)
	at android.app.Activity.performCreate(Activity.java:8997)
	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1532)
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4111)
	... 13 more

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-10 00:41:32 +09:00
minaripenguin
5e2c84d01b colors: Introduce Reality display engine [2/2]
Change-Id: Ib565b3ffaa8a5f5832d5a620961abffd754e2dfc
Signed-off-by: minaripenguin <minaripenguin@users.noreply.github.com>
2025-12-10 00:41:32 +09:00
ezio84
ec7587d465 Settings: Allow to quickly open Running Services from meminfo view
@/neobuddy89: Updated for A14.

Change-Id: I252ce85bda3daab5c5e4db097a6fd743365bc309
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-10 00:41:32 +09:00
Ido Ben-Hur
043f9a0bf6 Settings: Better check for GSA package
This fixes lens & CTS for vanilla users with full GSA installed.
While not enabling it for users who only have the stub.
Check if the activity exists to achieve that.

Same as we do in L3, see: cd4c6afd5b

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-10 00:41:32 +09:00
Ido Ben-Hur
d1797ce890 Settings: Add Circle To Search [2/2]
Requires framework overlays:

<string name="config_defaultContextualSearchPackageName" translatable="false">com.google.android.googlequicksearchbox</string>

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-10 00:41:32 +09:00
Ido Ben-Hur
bacd39318a Settings: Add a toggle for long press on navbar to search [3/3]
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-10 00:41:32 +09:00
Joey Huab
63f5ca31b5 Settings: Modernize dev option insults 2025-12-10 00:41:32 +09:00
Pranav Vashi
30f2ddfaca Fix long click intent for Smart Pixels tile [2/2]
Change-Id: Id6b5fffd814f035be1bb75d1434456e0c02aa97f
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-10 00:41:32 +09:00
Ido Ben-Hur
d071bfebf5 Settings: Move custom vib pattern to its own preference
Also improve the code while at it

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-10 00:41:31 +09:00
Ido Ben-Hur
3ee81b2fcb Settings: Follow new ringtone vibration patterns
For preview

See: 7b3ab13002
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-10 00:41:31 +09:00
Ido Ben-Hur
1ee5267d6d Settings: Preview ringtone vibration pattern
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-10 00:41:31 +09:00
Ido Ben-Hur
5c1cea77b5 Settings: Allow choosing a custom vibration pattern [3/3]
Change-Id: I574da771ae90321f65d8ffddecd59db430105bb2
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-10 00:41:31 +09:00
Ido Ben-Hur
9b3c789826 Settings: Add vibration patterns from OOS [3/3]
a rewrite of: c4560cafae

Change-Id: If5e776b622d603ed9c4022e23e6904b5c996e195
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-10 00:41:31 +09:00
Gao Honghua
b893ae175e Fix memory leak on wifi
Google: 3425623
Change-Id: I5cd3c427280ebb2e8ed1b18d39d1b29c962b7658
Signed-off-by: Jia Jia <jia.jia@zte.com.cn>
2025-12-10 00:41:31 +09:00
minaripenguin
c51ca8b50f WifiTetherClientLimitPreference: Fix compilation 2025-12-10 00:41:31 +09:00
someone5678
5cfd1276c1 [TMP] Settings: Bluetooth: Don't check persistable uri permission for BtHelper
Change-Id: I392c70e04bdc64dba7f897cae2b124b195049af5
(cherry picked from commit f1074d6226820ec095abce89b7a387409e69d513)
2025-12-10 00:41:31 +09:00
maxwen
c86240f23b Settings: disable all bugreport settings
we dont need those

Change-Id: I7dd62da21e7a48b6a8182df60ac1a06461a1fa8e
Signed-off-by: rohan <purohit.rohan@gmail.com>
Signed-off-by: Joey Huab <joey@evolution-x.org>
Signed-off-by: Kunmun <kunmun.devroms@gmail.com>
2025-12-10 00:41:31 +09:00
someone5678
0876b26204 Settings: Use List Preference for Zen mode settings
Change-Id: Id737ab6469012fcc1fbfb5c5bd5112f6c55c0eeb
2025-12-10 00:41:31 +09:00
someone5678
6f6aa340cf Settings: Use List Preference for Dock speaker plays and Emergency tone
Change-Id: Ia899f2ba6d4663c2315ee35c093ca14cb26ae450
2025-12-10 00:41:31 +09:00