'Start SettingsDumpService after the MobileNetworkRepository is
created' sends the intent every single time the
NetworkDashboardFragment is instantiated (basically every time user
opens the network dashboard in Settings).
SettingsDumpService's lifecycle never finishes, since it's context is
passed to the MobileNetworkRepository for singleton instance creation
which then proceeds to holding a reference to that context thus keeping
the entire service alive along with the application process, which
prevents the static singleton from being garbage collected creating an
indirect retention cycle. All that over time grows into a solid memory
leak.
SettingsDumpService (as well as MobileNetworkRepository instance,
obviously) proceed to dangling until the app process gets eventually
killed by the lmkd (which is unlikely to happen but still was observed
on several devices running stock ROM) or manually terminated by user,
but based on the observation, maximum time of dangling could be
perfectly equal to global system uptime.
This issue still remains all the way up to latest AOSP tags and betas,
although some vendors stock ROMs seem to have sorted it out.
Since we don't really care about dumping mobile network info
(especially in production builds), do the minimum changes required to
remove the dumping feature and avoid future AOSP merge conflicts.
This partially reverts commit d6f3ad9178.
Change-Id: Ifd7ded6cebd5f247cbdeb88035fdeb21cf060412
This is a sed gone wrong.
It was unintentionally changed in 15ca95a31b
which broke functionality.
Change it to a SwitchPreferenceCompat instead of changing it back
to a SwitchPreference, as all the other preferences in the
development section are one as well.
Change-Id: Id276d3b67c103b83ba01a69ff2991246c69efc69
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
mIsInSetupWizard was moved to top of NetworkProviderSetting's onCreate
so it is available for addPreferences().
Change-Id: I9299c3033e96bcd30450ec239f14fb5daa800d63
When help_url_battery_defender is empty, tapping on Learn more button
causes a NPE.
Issue: calyxos#2809
Change-Id: Ib1c52dcff430cae7c4bc0793120ace837f5bf4c7
Stop removing preexisting UID policies when toggling
Background network access / unrestricted data usage.
Fetching the state of policies was not working due to an incorrect use
of Arrays.asList() - if you give it an int array, you just get a list
with that int[] as a single element, so using the contains method with
an int will always return false. This has now all been refactored.
Test: Manual: Open Settings > Network & Internet > Data Saver >
Unrestricted data. Turn it on for something. Go back, and then
return to the page. It should still show as on.
Issue: calyxos#2547
Issue: calyxos#2118
Change-Id2: I671544f6fdf9897484c6265c31c8b3cd29ad4a92
Change-Id: If54d0a0925c5da0f3d519d0a85491ff3b7b62351
... in the same category as Security & privacy
... with an approach that can be reused for other keys in the future
Co-authored-by: AnierinB <anierin@evolution-x.org>
Change-Id: I666ebd7f90c11f1836bac10f7fca38baa5aedf93
On new revamped Settings UX dashboard is missing styling for GMS top
level activities. This is fixed by assigning them respective categories.
Change-Id: I5f18fab2419c8346760c4f6bed6f77e1eac8e059
Signed-off-by: shoya0x00 <shoya0x00@users.noreply.github.com>
Remove DynamicDenylistManager to avoid its conflicting behavior
with our firewall. This stops the resetting of firewall policies
on boot and for other reasons. The user is in control of these
policies and doesn't need them to be unexpectedly reset.
Issue: calyxos#2211
Test: Manual: Turn off Background network access for any app. Then,
in Firewall, turn off another toggle like Wi-Fi. Reboot, and check
the toggles. Background network access and Wi-Fi should still be off.
Change-Id: Ie62ddfa3a893c9adf5d4fd0c8670235a5a51e03f
Fingerprint authentication when screen is off doesn't nativelly
support checking the proximity sensor status to prevent accidental
unlocks. However, some devices implement this feature, so account
for that. The only thing really needed is just to adapt the
descriptions shown to the users.
Change-Id: I635f7b1a2970c0364b6cd22dfe20e69d009a3f91
* Class comment states: "Headless activity that toggles
flashlight state when launched."
* Comment in constructor states:
"The sole purpose of this activity is to provide a place
to index flashlight into Settings search."
* Since it does only the second thing successfully and we
do neither know why we need a useless search result nor
does it serve any purpose, hide it from search results
* We could remove the whole class, but since it's from AOSP
I decided to keep the change footprint minimal
Test: Type "Flashlight" into settings search - result does not
appear anymore
Fixes: https://gitlab.com/LineageOS/issues/android/-/issues/6397
Change-Id: I53541c700e24efd33d386c38a4ea38fb1b8b81d6
Allow toggling AGPS (which in turn disables SUPL) using the existing
AOSP mechanism that was simply never exposed to the user.
Based on the following commits from CodeAurora, modified to
use SwitchPreference and improved strings:
Author: juwei <juwei@codeaurora.org>
Date: Mon May 7 13:31:50 2018 +0800
Settings: Add AGPS setting menu.
Add AGPS setting switch to allow user turn on/off
AGPS function.
Change-Id: If8a20a8293b9f4b12933bc3820b4cd135a938b72
CRs-Fixed: 2169854
Author: hoffc <hoffc@codeaurora.org>
Date: Wed Dec 19 15:56:07 2018 +0800
Settings: Refactor Agps preference controller code
(1) Extract inner class AgpsPreferenceController as one standalone file.
(2) Delete the useless code of reading the SUPL server and port from etc/gps.conf file.
(3) Remove the config item "config_agps_enabled".
Change-Id: I20465aa4375c7fe64bc84f579a39178506b8e211
CRs-Fixed: 2370304
Author: hoffc <hoffc@codeaurora.org>
Date: Tue Jun 1 08:52:31 2021 +0800
Settings: fix NPE caused by missing agps preference definition
No agps preference is defined in location settings, results in NPE when agps controller init
add agps preference definition in location settings
Change-Id: I92e3293bccb90da7b6a1057e2dd83f8aa909d308
CRs-Fixed: 2958241
Issue: calyxos#1490
Co-authored-by: Chirayu Desai <chirayudesai1@gmail.com>
Co-authored-by: Michael Bestas <mkbestas@lineageos.org>
Change-Id: Idea7026f0c954c1f2a056e7b4595a879ef161f5c
Allow devices to provide advanced keyboard settings.
Unfortunatelly this can't be done with existing IA settings,
so use the RemotePreference API to allow the external app
to update the view. The action for this is:
"org.lineageos.settings.device.ADVANCED_KEYBOARD_SETTINGS"
Change-Id: I1c46d3568c4d5bfc78e1cbae033071c7641fdf29
* AOSP "Smooth display" setting is just a toggle,
some devices support multiple refresh rates so
add support for it with a ListPreference.
Change-Id: I3da3d2b86e61ed3caf9af5770d8bdb4485817b97
Not sure why Google assumed that showing this setting is only useful
for devices with FP sensor built into a side-mounted power button.
Change logic to preserve check for side mounted (really, power-button
mounted) FP sensors, but allow any device which has a a rear or front
mounted sensor to show the relevant setting; so users can toggle it.
Bug: Enchilada (Oneplus 6, capacitive FP sensor on the back) no longer
wakes & unlocks from screen-off with FP sensor touch after QPR3 merge.
Test: Apply commit. "Touch to unlock anytime" setting is now visible;
enabling once again allows one-touch wakeup-and-unlock-on-successful-
FP-auth, does nothing with failed FP auth, while disabling toggle
requires pressing power button to wake screen first before FP auth
will unlock.
Change-Id: I4d8204b5fed7d43baa93d6793e7280260ae404d6
This is based on the following changes, adapted to Android 12
considering the fact that AOSP now supports FOD as well as
fingerprint sensors embedded in the power button:
Author: d34d <clark@cyngn.com>
Date: 2016-06-23 11:21:45 -0700
fingerprint: Allow devices to configure sensor location
The text for enrolling a fingerprint always assumes the sensor is
located on the back. This patch adds a config integer that defines
where the sensor is located on the device.
0 = back
1 = front
2 = left side
3 = right side
This patch also adds a new drawable that shows the front of the device
when applicable.
Change-Id: Ia8f5f8ff4ba4d13d35aed3052f60ff665dd4f294
TICKET: CYNGNOS-3089
Author: Paul Keith <javelinanddart@gmail.com>
Date: 2018-01-26 22:23:03 +0100
FingerprintEnrollFindSensor: Don't overlay front for side sensors
* Both the base image and the base image + overlay are equally nonsense
for devices with a side fingerprint scanner, but for those that overlay
a custom fingerprint enrollment graphic, this image overlay wreaks havoc
* Only set this overlay to be visible if the sensor is on the front, to
allow devices with side sensors to only overlay the base image
Change-Id: I7cbcea4830d4526cf9f7d139e7f84f21117fa9c4
Author: Michael W <baddaemon87@gmail.com>
Date: Thu Jan 17 21:44:28 2019 +0100
Settings: Make find fingerprint look great again
* The current logic places the animation based on the size of
the whole overlay instead of the image, which is a fixed-size png
* Get the size of the image instead and place the dot relative to it
* Also use "wrap_content" and add a padding to the top so the
distance to the text is a fixed thing, not depending on how
much space relative to the wanted space it actually takes
* Preview: https://imgur.com/a/XanJ2aP
Change-Id: I2bd08cee1abd1c6bad78ca1efc2189e573ded3cc
Author: LuK1337 <priv.luk@gmail.com>
Date: Sat Dec 15 17:11:41 2018 +0100
fingerprint: Remove unnecessary spacing in enroll layout
* This makes it look ugly on 480 dpi devices.
Change-Id: Ia1bbd443063a125878dddd12e5c6a816d289fb82
Author: Bruno Martins <bgcngm@gmail.com>
Date: Thu Mar 17 10:30:41 2022 +0000
FingerprintEnrollEnrolling: Set proper dialog message when user touches fp icon
Change-Id: Iafd86e636b0c54bbddcf26d153cc671259391259
Author: Michael Bestas <mkbestas@lineageos.org>
Date: Tue Dec 6 20:40:45 2022 +0200
Use AOSP string for side fps enrollment
Change-Id: I9267b6a75716f45044f4d7a51650ca4f928b104e
Author: Bruno Martins <bgcngm@gmail.com>
Date: Tue Apr 18 16:16:34 2023 +0100
FingerprintEnroll: Add config for dedicated side mounted fps
Google likes to assume that there only exists devices with
fingerprint sensor embedded in the power button, but that's
not always true. Since specific enrollment messages were added
just for those devices, we need to address our own usecase.
Change-Id: I56a7d7fe0374fe5a1fce5e24bdbb265cb5edc246
Change-Id: If372ef50c4a719e89a4e80cc20e3eb445af61bc6
Splitted from commit 5aa2f34, adapted to the Lineage SDK
and squashed with commits c6dc688 and 19105ab.
Change-Id: I7516c833ff39de6bdb36c815a5292606cbaa0533
Read and write POLICY_REJECT_ALL instead of manipulating the setting
designated for the restricted mode allowlist.
Requires: I74407c21cd4ed2cdd932d634577ae07d0bad67b1
Change-Id: I354fae215dcb15e1bf3a67ff4c94803eb60fcac1
When Google introduced commit d3b35f2, all the custom addons for
per-app network isolation became hidden on devices that set the
overlay config_show_sim_info to "false".
Expose only the toggles that really make sense, i.e. for the mentioned
usecase, leave the main toggle (restrict all), WiFi and VPN data
toggles.
Change-Id: I4720483d98ae69fbb6eec8fa749e8d071e91c629
*) Add options to disable all cellular, vpn and wifi data
in app data usage settings.
*) Disable the existing background data and unrestricted
data usage options when all cellular data access is
disabled.
*) The vpn data option can be selected independently from
the Wi-Fi and cellular options.
*) Prevent DataSaverBackend from overwriting uid policies
This is a replacement for the appops menu based cell/wifi data
restriction settings in cm-13.0:
Author: Danesh M <daneshm90@gmail.com>
Date: Mon Mar 7 15:17:59 2016 -0800
Settings : Add per app internet/data control
CYAN-3976
CRACKLING-834
Change-Id: I13192df837c057b5cadde8f31532e12daaf3c1b0
Change-Id: Ic087c27a5ed0bdb84bb8f297c425c6bcbffec848
(cherry picked from commit d4a2eea698cbc4636a635d60f2a52ec1bbc36ba2)
*) Add option to disable all network traffic
in app data usage settings.
*) Disable the existing background data and unrestricted
data usage options when all network traffic is
disabled.
Change-Id: I0aaf5703d6dd5d6e6ec3cda3940f28833fe052ea
We already make sure to use a copy of the Intent, but now we do so
earlier. See bug.
Bug: 353680402
Flag: EXEMPT bugfix
Test: manual
Test: atest com.android.settings.users.UserSettingsTest
com.android.settings.users.UserDetailsSettingsTest
(cherry picked from commit b7240e2f0c50455a1c8f3ae1fc4f27d55b86e89b)
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:d8166274a030372f9b1184137fceef9d4dac83e1)
Merged-In: I860e9e606de6b8d3c99fa52a63b72ba7a99ce179
Change-Id: I860e9e606de6b8d3c99fa52a63b72ba7a99ce179
- if the user is locked
- and the user has chosen to hide sensistive content when locked
Test: manual with a work profile with a different pin
Bug: 378088320
Flag: EXEMPT bug fix
(cherry picked from commit 9df37c3f8be2dedd2e44e52da4de45fba33c6a6e)
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:ac4d72060aeb282d5c1c024438ed9e0689b50031)
Merged-In: Ia70454d9859fb788ffa1f48f88760f88c354cdff
Change-Id: Ia70454d9859fb788ffa1f48f88760f88c354cdff
Activity.getCallingPackage() does not always return the package
name of the actual calling app. getLaunchedFromPackage() should
be used instead.
Bug: 389681530
Test: manual
Flag: EXEMPT bugfix
(cherry picked from commit 70bd3efe0674bccb0d454845d86fb2402779a7bf)
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:48e4b5e1af2156dc0db1546df1c14030e77e542e)
Merged-In: Ibdbc45e53f4aa46fae79fa234705b3735bfda4cd
Change-Id: Ibdbc45e53f4aa46fae79fa234705b3735bfda4cd