Cherry picking of lints from clippy::pedantic / clippy::nursery / clippy::unwrap_used / clippy::expect_used
Notable changes :
- consideration of all clippy::use-self lints
- replaced sort() by unstable_sort()
- use of map_or_else() when appropriate
- replaced "".to_string() by String::new()
- replaced collect() + len() by count()
The code base now passes all the clippy::nursery lints
---------
Co-authored-by: w1nst0n <w1nst0n@keemail.me>
Using the sunrise/sunset option uses the ACCESS_FINE_LOCATION permission. It's better to program the activation of the filter according to the time
Note: reducing blue light can prevent eyestrain and other health issues. See https://www.webmd.com/eye-health/blue-light-reduce-effects
---------
Co-authored-by: Seojoon You <96731476+botthebestplayerintheworld@users.noreply.github.com>
Co-authored-by: AnonymousWP <50231698+AnonymousWP@users.noreply.github.com>
Co-authored-by: w1nst0n <55300518+0x192@users.noreply.github.com>
Note: keep this package if you want swipe gestures to keep working.
Advanced --> Expert
Co-authored-by: w1nst0n <55300518+0x192@users.noreply.github.com>
A modal window will now appear to give you a recap of the selected packages before applying the changes.
A complete overhaul of the way UAD handles package selection was required to implement this feature.
WARNING: If you are using the default Samsung keyboard, then deleting this package on some phones may cause the keyboard to completely stop working. You may get locked out of your phone if the only method to authenticate yourself is using password.
Fixes#657
Arf! It was an old pull request. The pipeline passed but it wasn't the new pipeline with the test which would have detected this issue...
Regression from 768a1226f4
This fixes the regression introduced in 5ea6177 (no public release affected)
This commit also prevents UAD to try interacting with a protected user (to avoid error spam in the logfiles)
- Remove duplicated text
- Update error message when trying to restore a backup when the phone is not connected
- Add the backup name in the error message when trying to restore a deleted backup
Samsung Flow: it's a service to 'seamlessly' connect your devices. You can authenticate your Tablet/PC with your smartphone, share content between devices, and sync notifications or view contents from your smartphone on your Tablet/PC. [...]
Has more than 81 permissions. Not the kind of app you want to keep installed if you don't use it. It increases the attack surface and can potentially compromise a lot of things (including your computer).
FYI, 4 CVE has been discovered between 2021 and 2022: https://www.opencve.io/cve?vendor=samsung&product=samsung_flow
Pithus analysis: https://beta.pithus.org/report
/77216cd6209c73d00332180319249ac6e4ef8479e68d2a21c97a52fdc5f3d62b
Co-authored-by: w1nst0n <55300518+0x192@users.noreply.github.com>
`drain_filter` was the only unstable feature used in the code. You can now build UAD with Rust Stable.
drain_filter is not going to be stabilized anytime soon. The retain method is actually perfectly fine for our usecase. It also operate in place. The benefit of drain_filter was that the inner closure can be mutable. We don't have a need for this.
Co-authored-by: w1nst0n <55300518+0x192@users.noreply.github.com>
Add package documentation (Pending -> Oem):
Provides the photo remaster feature in the Gallery app. Has the camera permission and can access all your medias but performs its job locally on the device.
https://www.samsung.com/au/support/mobile-devices/remastering-photos-on-samsung-phone/
Co-authored-by: w1nst0n <55300518+0x192@users.noreply.github.com>
Add `com.miui.cleaner` (new package name of `com.miui.cleanmaster`) in the Recommended list. It's a shady app developed by Cheetah mobile which has previously been caught in ad fraud and user data theft in 2018.
Minor description update for
- cn.wps.xiaomi.abroad.lite
- com.micredit.in
- com.miui.android.fashiongallery
Removed many unwrap calls by propagating the error to the caller
This is the first external code contribution! Big up to @nozwock who is learning Rust ! :)
Co-authored-by: w1nst0n <55300518+0x192@users.noreply.github.com>
On recent Android devices, you can't interact with the user of the work profile. Any adb commands involving this user will fail with a `Shell does not have permission to access user ${user}.`
UAD was wrongly assuming stuff and tried to access non-existent data, thus causing a crash.
Quick and easy way to save the state of all the system apps on a device and restore it.
This feature is available in the UAD settings.
Note: the `Export current selection` button and the non-intuitive auto import selection (see https://github.com/0x192/universal-android-debloater/issues/192) have been replaced by this new backup/restore system.
- Description update
- [Recommended -> Advanced] : removal recommendation change given the poor open-source alternatives and the usefulness of this kind of app
--------------
Default Text To Speech (TTS) engine on most of Android devices. It enables apps to convert text into voice.
Pithus analysis: https://beta.pithus.org/report/08f97758fbfae1e17c4a8e5ee1a1e6d2726ce6b0b4931d5452f2376d60f1b4fb
Note: many apps like navigation and health/sport apps rely on a TTS engine to provide speech services. Open-source TTS engines available on Android exists but, as of the end of 2022, there is only RHVoice (https://f-droid.org/en/packages/com.github.olga_yakovleva.rhvoice.android/) and it doesn't support a lot of languages. Mimic3 (https://mycroft.ai/mimic-3/) is probably the future of IoT open-source TTS engine but there is no Android support yet
Co-authored-by: w1nst0n <55300518+0x192@users.noreply.github.com>
This will allow better unit test for the debloat list file
All fields should be mandatory and serde doesn't return any error on deserialization if an field (description, dependencies, neededBy and labels) is missing.
OneNote (https://play.google.com/store/apps/details?id=com.microsoft.office.onenote)
Microsoft and privacy you know... This app has a lot of permissions. For example it has access to phone state, including the phone number of the device, current cellular network information, the status of any ongoing calls...
Co-authored-by: w1nst0n <55300518+0x192@users.noreply.github.com>