Sync with UAD-NG (10 Feb)

Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
This commit is contained in:
Muntashir Al-Islam 2025-03-25 01:34:06 -07:00
parent fad8f99592
commit ca1ee63479
7 changed files with 2003 additions and 1614 deletions

368
aosp.json
View File

@ -17,7 +17,29 @@
"https://source.android.com/devices/architecture/rros",
"https://code.tutsplus.com/tutorials/quick-tip-theme-android-with-the-runtime-resource-overlay-framework--cms-29708"
],
"removal": "delete",
"removal": "caution",
"suppress": "LabelSameAsId"
},
{
"id": "android.auto_generated_rro_product__",
"label": "android.auto_generated_rro_product__",
"description": "RRO = Runtime Resources Overlay. Used by OEMs to customize look and feel of certain applications.",
"web": [
"https://source.android.com/devices/architecture/rros",
"https://code.tutsplus.com/tutorials/quick-tip-theme-android-with-the-runtime-resource-overlay-framework--cms-29708"
],
"removal": "caution",
"suppress": "LabelSameAsId"
},
{
"id": "android.auto_generated_rro_vendor__",
"label": "android.auto_generated_rro_vendor__",
"description": "RRO = Runtime Resources Overlay. Used by OEMs to customize look and feel of certain applications.",
"web": [
"https://source.android.com/devices/architecture/rros",
"https://code.tutsplus.com/tutorials/quick-tip-theme-android-with-the-runtime-resource-overlay-framework--cms-29708"
],
"removal": "caution",
"suppress": "LabelSameAsId"
},
{
@ -73,6 +95,11 @@
"description": "Bluetooth service",
"removal": "caution"
},
{
"id": "com.android.bluetooth.overlay.common",
"description": "Overlays are usually themes.",
"removal": "caution"
},
{
"id": "com.android.bluetoothmidiservice",
"label": "Bluetooth MIDI Service",
@ -206,8 +233,8 @@
{
"id": "com.android.cellbroadcastreceiver.overlay.common",
"label": "com.android.cellbroadcastreceiver.overlay.common",
"description": "com.android.cellbroadcastreceiver Theme pack\nGuessing it's a pack of themes for the cellbroadcastreceiver, based on the name.",
"removal": "caution"
"description": "Overlay for com.android.cellbroadcastreceiver. Inside the APK, I found unused things: show_brazil_settings, show_cmas_settings, show_etws_settings.\nThey are unavailable and useless.",
"removal": "delete"
},
{
"id": "com.android.cellbroadcastservice",
@ -234,7 +261,7 @@
{
"id": "com.android.contacts",
"label": "Contacts",
"description": "The AOSP Contacts app\nSome OEMs (e.g. Xiaomi) use the same package name for their app.",
"description": "The AOSP Contacts app.\nSome OEMs (e.g. Xiaomi) use the same package name for their app.",
"removal": "replace",
"suggestions": "contacts"
},
@ -287,6 +314,16 @@
"removal": "replace",
"suggestions": "dialers"
},
{
"id": "com.android.dialer.basiccolorblack.overlay",
"description": "Dark theme overlay for AOSP Dialer?",
"removal": "caution"
},
{
"id": "com.android.dialer.basiccolorwhite.overlay",
"description": "Light theme overlay for AOSP Dialer?",
"removal": "caution"
},
{
"id": "com.android.documentsui",
"label": "Files",
@ -338,7 +375,7 @@
{
"id": "com.android.email",
"label": "Email",
"description": "The AOSP Email app\nSome OEMs (e.g. Huawei, Xiaomi, Oppo) use the same package name for their app.",
"description": "The AOSP Email app.\nSome OEMs (e.g. Huawei, Xiaomi, Oppo) use the same package name for their app.",
"removal": "replace",
"suggestions": "email_clients"
},
@ -354,6 +391,16 @@
"description": "Shows emergency info on lockscreen and power menu. Safe to disable if you don't want it.\nLoads on device unlock/lockscreen and power menu, so it's basically always cached in RAM, but shouldn't use much/any battery, so the main thing gained from disabling this package is the ~9MB RAM it uses.",
"removal": "delete"
},
{
"id": "com.android.emergency.basiccolorblack.overlay",
"description": "Dark theme for Emergency rescue?",
"removal": "caution"
},
{
"id": "com.android.emergency.basiccolorwhite.overlay",
"description": "Dark theme for Emergency rescue?",
"removal": "caution"
},
{
"id": "com.android.exchange",
"label": "Exchange Services",
@ -439,6 +486,15 @@
],
"removal": "caution"
},
{
"id": "com.android.hotspot2.osulogin",
"label": "OsuLogin",
"description": "The sole purpose of the app is to provision credentials from the Wi-Fi network to the device and allow them to connect to Wi-Fi Hotspot 2.0.",
"web": [
"https://hackanons.com/2021/07/osulogin-android-everything-you-need-to-know.html"
],
"removal": "caution"
},
{
"id": "com.android.htmlviewer",
"label": "HTML Viewer",
@ -458,7 +514,7 @@
"label": "Android Keyboard (AOSP)",
"description": "The AOSP keyboard app",
"removal": "replace",
"warning": "Mame sure you have another installed before you disable.",
"warning": "Do NOT disable if you don't have another keyboard with direct boot mode support, or you'll be stuck at boot (no keyboard to unlock the phone).",
"suggestions": "keyboards"
},
{
@ -474,7 +530,8 @@
"https://developer.android.com/guide/topics/display-cutout",
"https://source.android.com/devices/tech/display/display-cutouts"
],
"removal": "caution"
"removal": "unsafe",
"warning": "Removing the app will cause bootloop."
},
{
"id": "com.android.internal.display.cutout.emulation.double",
@ -484,7 +541,8 @@
"https://developer.android.com/guide/topics/display-cutout",
"https://source.android.com/devices/tech/display/display-cutouts"
],
"removal": "caution"
"removal": "unsafe",
"warning": "Removing the app will cause bootloop."
},
{
"id": "com.android.internal.display.cutout.emulation.hole",
@ -494,12 +552,18 @@
"https://developer.android.com/guide/topics/display-cutout",
"https://source.android.com/devices/tech/display/display-cutouts"
],
"removal": "caution"
"removal": "unsafe",
"warning": "Removing the app will cause bootloop."
},
{
"id": "com.android.internal.display.cutout.emulation.narrow",
"description": "Display cutout variant\nhttps://developer.android.com/develop/ui/views/layout/display-cutout\nhttps://source.android.com/devices/tech/display/display-cutouts\nCause bootloop after removal.",
"removal": "unsafe"
"description": "Display cutout variant.",
"web": [
"https://developer.android.com/guide/topics/display-cutout",
"https://source.android.com/devices/tech/display/display-cutouts"
],
"removal": "unsafe",
"warning": "Removing the app will cause bootloop."
},
{
"id": "com.android.internal.display.cutout.emulation.noCutout",
@ -509,7 +573,8 @@
"https://developer.android.com/guide/topics/display-cutout",
"https://source.android.com/devices/tech/display/display-cutouts"
],
"removal": "caution"
"removal": "unsafe",
"warning": "Removing the app will cause bootloop."
},
{
"id": "com.android.internal.display.cutout.emulation.tall",
@ -519,7 +584,8 @@
"https://developer.android.com/guide/topics/display-cutout",
"https://source.android.com/devices/tech/display/display-cutouts"
],
"removal": "caution"
"removal": "unsafe",
"warning": "Removing the app will cause bootloop."
},
{
"id": "com.android.internal.display.cutout.emulation.waterfall",
@ -529,12 +595,18 @@
"https://developer.android.com/guide/topics/display-cutout",
"https://source.android.com/devices/tech/display/display-cutouts"
],
"removal": "caution"
"removal": "unsafe",
"warning": "Removing the app will cause bootloop."
},
{
"id": "com.android.internal.display.cutout.emulation.wide",
"description": "Display cutout variant\nhttps://developer.android.com/guide/topics/display-cutout\nhttps://source.android.com/devices/tech/display/display-cutouts\nCause bootloop after removal.",
"removal": "unsafe"
"description": "Display cutout variant.",
"web": [
"https://developer.android.com/guide/topics/display-cutout",
"https://source.android.com/devices/tech/display/display-cutouts"
],
"removal": "unsafe",
"warning": "Removing the app will cause bootloop."
},
{
"id": "com.android.internal.systemui.navbar.gestural",
@ -595,6 +667,14 @@
"description": "Enables apps to use system wide credential KeyChain (shared credentials between apps)\nhttps://security.stackexchange.com/questions/216716/android-keychain-what-is-a-system-wide-credential\n",
"removal": "unsafe"
},
{
"id": "com.android.launcher3",
"label": "Quickstep",
"description": "The AOSP launcher. OEMs frequently use this to deliver their own launcher.\nYou need to install another launcher before removing it.",
"removal": "caution",
"warning": "You need to install another launcher before removing it.",
"suggestions": "launchers"
},
{
"id": "com.android.localtransport",
"description": "Backup transport for stashing stuff into a known location on disk, and later restoring from there.\nNeeded for storing backup data locally on a device?\nThis package also provides the backup confirmation UI.\nhttps://developer.android.com/guide/topics/data/testingbackup",
@ -626,7 +706,7 @@
{
"id": "com.android.mms",
"label": "Messages",
"description": "The AOSP SMS app.\nOccasionally runs in the background.\nSome OEMs (like Huawei, Xiaomi, Vivo, Oppo) use the same package name for their app",
"description": "The AOSP SMS app.\nOccasionally runs in the background.\nSome OEMs (like Huawei, Xiaomi, Vivo, Oppo) use the same package name for their app.",
"removal": "replace",
"suggestions": "sms"
},
@ -638,8 +718,9 @@
{
"id": "com.android.modulemetadata",
"label": "Module Metadata",
"description": "It's used to manage and store metadata about installed modules, and is accessed by the system server. Breaks some core functionality if disabled.",
"removal": "caution"
"description": "It's used to manage and store metadata about installed modules, and is accessed by the system server.",
"removal": "unsafe",
"warning": "Breaks some Android core functionalities if disabled."
},
{
"id": "com.android.mtp",
@ -663,6 +744,15 @@
"description": "Useless frameworks to Wi-Fi connections, USB tethering, auto, usage.\nEvery version has random code and the app is not running in the background.",
"removal": "delete"
},
{
"id": "com.android.networkstack.inprocess",
"label": "NetworkStack",
"description": "Related to the Network Stack module, which is an updatable Mainline module that ensures Android can adapt to evolving network standards and allows for interoperability with new implementations",
"web": [
"https://source.android.com/docs/core/ota/modular-system/networking"
],
"removal": "unsafe"
},
{
"id": "com.android.networkstack.inprocess.overlay",
"description": "Related to the Network Stack module,\nwhich is an updatable Mainline module that ensures Android can adapt to evolving network standards and allows for interoperability with new implementations\nhttps://source.android.com/docs/core/ota/modular-system/networking",
@ -673,6 +763,14 @@
"description": "WiFi will not work after remove.",
"removal": "unsafe"
},
{
"id": "com.android.networkstack.permissionconfig",
"description": "Defines a permission that enables modules to perform network-related tasks.",
"web": [
"https://source.android.com/devices/architecture/modular-system/networking"
],
"removal": "unsafe"
},
{
"id": "com.android.networkstack.tethering.inprocess.overlay",
"description": "Related to the Tethering module,\nwhich allows an Android device to share its internet connection with other connected client devices.\nThis package contains classes and components that are used for in-process overlay functionality within the Tethering module.\nhttps://source.android.com/docs/core/ota/modular-system/tethering",
@ -718,11 +816,26 @@
"description": "OTA (Over the air) is the method used by OEMs to push updates to your device.\nAn OTA access point is used to run system software updates over a special gateway. This package is most likely customized by your OEM.",
"removal": "caution"
},
{
"id": "android.overlay.common",
"description": "It has some important settings and configurations related to Android.",
"removal": "unsafe"
},
{
"id": "com.android.overlay.systemui",
"description": "On some phones, it is an overlay to app \"com.google.android.apps.safetyhub\".\nCheck out this app code and think about it.",
"removal": "caution"
},
{
"id": "android.overlay.target",
"description": "It has some important settings and configurations related to Android.",
"removal": "unsafe"
},
{
"id": "android.qvaoverlay.common",
"description": "This app has no code and is safe to remove.",
"removal": "delete"
},
{
"id": "com.android.packageinstaller",
"description": "Handles installation, upgrade, and removal of applications.\n",
@ -753,6 +866,21 @@
"description": "AOSP code for dialer app features.\nSIM card will not be detected if disabled.",
"removal": "unsafe"
},
{
"id": "com.android.phone.basiccolorblack.overlay",
"description": "Dark theme for phone app?",
"removal": "caution"
},
{
"id": "com.android.phone.basiccolorwhite.overlay",
"description": "Light theme for phone app?",
"removal": "caution"
},
{
"id": "com.android.phone.overlay.common",
"description": "Location and dialer things.",
"removal": "unsafe"
},
{
"id": "com.android.phone.recorder",
"label": "Recorder",
@ -884,7 +1012,7 @@
{
"id": "com.android.quicksearchbox",
"label": "Quick Search",
"description": "Google quick search box. OEMs (e.g. Xiaomi) can modify this for their use.",
"description": "Google quick search box. OEMs (e.g. Xiaomi) can modify this for their own use.",
"removal": "delete"
},
{
@ -916,8 +1044,9 @@
{
"id": "com.android.se",
"label": "SecureElementApplication",
"description": "Runs in the background as part of the system.\nUnderlying implementation for the OMAPI SE service.\nEnables apps to use the OpenMobile API to access secure elements (SE) to enable smart-card payments and other secure services.\nAn SE is a special chip (e.g SIM-card) for storing cryptographic secrets in a way that makes illicit use hard.\nThe Open Mobile Alliance (OPA) is a standards organization which develops open standards for the mobile phone industry.",
"removal": "caution"
"description": "Runs in the background as part of the system.\nUnderlying implementation for the OMAPI SE service.\nEnables apps to use the OpenMobile API to access secure elements(SE) to enable smart-card payments and other secure services.\n\nAn SE is a special chip (e.g SIM-card) for storing cryptographic secrets in a way that makes illicit use hard.\nThe Open Mobile Alliance (OPA) is a standards organization which develops open standards for the mobile phone industry.",
"removal": "caution",
"warning": "ColorOS password lock requires this package."
},
{
"id": "com.android.se.overlay.target",
@ -939,11 +1068,36 @@
"description": "Overlay for com.android.server.telecom?",
"removal": "unsafe"
},
{
"id": "com.android.server.telecom.basiccolorblack.overlay",
"description": "Dark theme for something related to call network management?",
"removal": "caution"
},
{
"id": "com.android.server.telecom.basiccolorwhite.overlay",
"description": "Light theme for something related to call network management?",
"removal": "caution"
},
{
"id": "com.android.server.telecom.overlay.common",
"description": "Location and dialer things.",
"removal": "unsafe"
},
{
"id": "com.android.settings",
"description": "AOSP Settings app.",
"removal": "unsafe"
},
{
"id": "com.android.settings.basiccolorblack.overlay",
"description": "Dark theme overlay for the Settings app?",
"removal": "caution"
},
{
"id": "com.android.settings.basiccolorwhite.overlay",
"description": "Light theme overlay for the Settings app?",
"removal": "caution"
},
{
"id": "com.android.settings.intelligence",
"label": "Settings Suggestions",
@ -954,6 +1108,16 @@
"removal": "caution",
"warning": "Disabling this package makes the Settings app crash when you tap on search."
},
{
"id": "com.android.settings.intelligence.basiccolorblack.overlay",
"description": "Dark theme overlay for the search functionality in the Settings app?",
"removal": "caution"
},
{
"id": "com.android.settings.intelligence.basiccolorwhite.overlay",
"description": "Light theme overlay for the search functionality in the Settings app?",
"removal": "caution"
},
{
"id": "com.android.sharedstoragebackup",
"label": "com.android.sharedstoragebackup",
@ -972,11 +1136,11 @@
{
"id": "com.android.simappdialog",
"label": "SIM App Dialog",
"description": "Creates a pop-up asking if the user wants to install the carrier app when a SIM is inserted. Seems to be event-triggered, i.e: doesn't run in the background.",
"description": "Creates a pop-up asking if the user wants to install the carrier app when a SIM is inserted. Seems to be event-triggered, i.e., doesn't run in the background.",
"web": [
"https://android.googlesource.com/platform/frameworks/base/+/master/packages/SimAppDialog/src/com/android/simappdialog/InstallCarrierAppActivity.java"
],
"removal": "delete"
"removal": "caution"
},
{
"id": "com.android.smspush",
@ -992,7 +1156,7 @@
{
"id": "com.android.soundrecorder",
"label": "Sound Recorder",
"description": "AOSP Sound recorder. OEMs often use their own solution.\nSome phones (Huawei and Xiaomi) also use this package name for their own recorder app",
"description": "AOSP Sound recorder. OEMs often use their own solution.\nSome phones (Huawei and Xiaomi) also use this package name for their own recorder app.",
"removal": "replace",
"suggestions": "audio_recorders"
},
@ -1011,7 +1175,7 @@
"https://www.zdnet.com/article/new-sim-card-attack-disclosed-similar-to-simjacker/",
"https://en.wikipedia.org/wiki/Mobile_identity_management"
],
"removal": "delete",
"removal": "caution",
"warning": "Disabling/uninstalling this package will break mobile identity management which could be used by apps (for example, your Bank) to authenticate you."
},
{
@ -1024,7 +1188,7 @@
"https://www.zdnet.com/article/new-sim-card-attack-disclosed-similar-to-simjacker/",
"https://en.wikipedia.org/wiki/Mobile_identity_management"
],
"removal": "delete",
"removal": "caution",
"warning": "Vulnerable to hacking, should be disabled."
},
{
@ -1049,16 +1213,31 @@
"description": "Product RRO for Accessibility menu.",
"removal": "replace"
},
{
"id": "com.android.systemui.gesture.line.overlay",
"description": "Configurations to navigation bar.",
"removal": "unsafe"
},
{
"id": "com.android.systemui.icon.overlay",
"description": "In code found configs icon mask.",
"removal": "caution"
},
{
"id": "com.android.systemui.navigation.bar.overlay",
"description": "Configurations to navigation bar.",
"removal": "unsafe"
},
{
"id": "com.android.systemui.overlay",
"description": "System UI Overlay. DO NOT remove this.",
"removal": "unsafe"
},
{
"id": "com.android.systemui.overlay.common",
"description": "System UI Theme pack\nThe package name is pretty self-explanatory.",
"removal": "delete"
},
{
"id": "com.android.systemui.theme.dark",
"label": "Dark",
@ -1073,43 +1252,43 @@
{
"id": "com.android.theme.icon.circle",
"label": "Circle",
"description": "Android icons pack [Circle].\nSafe to remove if you don't use them, but there's no point in doing so as they are simple data containers with no permissions.",
"description": "Android icons pack [Circle]",
"removal": "delete"
},
{
"id": "com.android.theme.icon.pebble",
"label": "Pebble",
"description": "Android icons pack [Pebble].\nSafe to remove if you don't use them, but there's no point in doing so as they are simple data containers with no permissions.",
"description": "Android icons pack [Pebble]",
"removal": "delete"
},
{
"id": "com.android.theme.icon.square",
"label": "Square",
"description": "Android icons pack [Square].\nSafe to remove if you don't use them, but there's no point in doing so as they are simple data containers with no permissions.",
"description": "Android icons pack [Square]",
"removal": "delete"
},
{
"id": "com.android.theme.icon.taperedrect",
"label": "Tapered Rect",
"description": "Android icons pack [Taperedrect].\nSafe to remove if you don't use them, but there's no point in doing so as they are simple data containers with no permissions.",
"description": "Android icons pack [Taperedrect]",
"removal": "delete"
},
{
"id": "com.android.theme.icon.vessel",
"label": "Vessel",
"description": "Android icons pack [Vessel].\nSafe to remove if you don't use them, but there's no point in doing so as they are simple data containers with no permissions.",
"description": "Android icons pack [Vessel]",
"removal": "delete"
},
{
"id": "com.android.theme.icon_pack.rounded.systemui",
"label": "Rounded",
"description": "Android icons pack [Rounded].\nSafe to remove if you don't use them, but there's no point in doing so as they are simple data containers with no permissions.",
"description": "Android icons pack [Rounded]",
"removal": "delete"
},
{
"id": "com.android.theme.icon_pack.rounded.themepicker",
"label": "Rounded",
"description": "Obviously related to the \"rounded\" icon pack but the full package is strange. A themepicker class only for a specific icon package?\nSafe to remove if you don't use them, but there's no point in doing so.",
"description": "Obviously related to the \"rounded\" icon pack but the full package is strange. A themepicker class only for a specific icon package?",
"removal": "delete"
},
{
@ -1173,7 +1352,10 @@
{
"id": "com.android.wallpaperbackup",
"label": "com.android.wallpaperbackup",
"description": "Backup your wallapaper and load this backup instead of the original file in case you delete it.\nSafe to remove if you really want to.",
"description": "Backs up and restores wallpaper and metadata related to it.\nThis agent has its own package because it does full backup as opposed to SystemBackupAgent which does key/value backup.\nThis class stages wallpaper files for backup by copying them into its own directory because of the following reasons:\nNon-system users don't have permission to read the directory that the system stores the wallpaper files in\nBackupAgent enforces that backed up files must live inside the package's getFilesDir()\nThere are 3 files to back up:\nThe \"wallpaper info\" file which contains metadata like the crop applied to the wallpaper or the live wallpaper component name.\nThe \"system\" wallpaper file.\nAn optional \"lock\" wallpaper, which is shown on the lockscreen instead of the system wallpaper if set.\nOn restore, the metadata file is parsed and WallpaperManager APIs are used to set the wallpaper.\nNote that if there's a live wallpaper, the live wallpaper package name will be part of the metadata file and the wallpaper will be applied when the package it's installed.",
"web": [
"https://android.googlesource.com/platform/frameworks/base/+/master/packages/WallpaperBackup/src/com/android/wallpaperbackup/WallpaperBackupAgent.java"
],
"removal": "delete",
"suppress": "LabelSameAsId"
},
@ -1194,9 +1376,9 @@
{
"id": "com.android.webview",
"label": "Android System WebView",
"description": "AOSP webview\nAllows Android apps to display content from the web directly inside the app. It's based on Chrome.",
"removal": "replace",
"warning": "Make sure to have another Webview before uninstalling it or some apps may not work properly.",
"description": "enables Android apps to display web content within the app itself, based on Chrome.",
"removal": "caution",
"warning": "Make sure to have another Webview before uninstalling it or some apps may not work properly and crash.",
"suggestions": "webviews"
},
{
@ -1213,17 +1395,21 @@
"id": "com.android.wifi.resources",
"label": "System Wi-Fi Resources",
"description": "System Wi-Fi resources.",
"removal": "caution"
},
{
"id": "com.android.wifi.resources.overlay",
"description": "Contains resources that can be overlaid or customized to modify the behavior of the Wi-Fi module.\nhttps://source.android.com/docs/core/ota/modular-system/wifi",
"removal": "unsafe"
},
{
"id": "com.android.wifi.resources.overlay",
"label": "com.android.wifi.resources.overlay",
"description": "Contains resources that can be overlaid or customized to modify the behavior of the Wi-Fi module.\nhttps://source.android.com/docs/core/ota/modular-system/wifi",
"removal": "unsafe",
"suppress": "LabelSameAsId"
},
{
"id": "com.android.wifi.resources.overlay.WifiResScanCountryCode",
"label": "com.android.wifi.resources.overlay.WifiResScanCountryCode",
"description": "Related to overlay for Wi-Fi scanning for country code.",
"removal": "replace"
"removal": "caution",
"suppress": "LabelSameAsId"
},
{
"id": "com.android.wifi.system.mainline.resources.overlay",
@ -1264,8 +1450,34 @@
},
{
"id": "com.google.android.captiveportallogin",
"label": "CaptivePortalLogin",
"description": "it's the same as (com.android.captiveportallogin). Support for captive portal.\nA captive portal login is a web page where the users have to input their login information or accept the displayed terms of use. \nSome networks (typically public wifi network) use the captive portal login to block access until the user inputs \nsome necessary information\nNOTE : This package is a now a mandatory mainline module\nhttps://en.wikipedia.org/wiki/Captive_portal\nhttps://www.xda-developers.com/android-project-mainline-modules-explanation",
"removal": "replace"
"removal": "caution"
},
{
"id": "com.google.android.carrierconfig",
"label": "com.google.android.carrierconfig",
"description": "Same as com.android.carrierconfig? Here's that description:\nDynamically provides configuration for the carrier network.\nThe config contains: Roaming networks, Voicemail settings, SMS/MMS settings, VoLTE/IMS settings, and more.\nIf a carrier app is installed it will be queried for overrides to these settings.\nSeems to run on boot and when you swap SIM card?",
"web": [
"https://source.android.com/devices/tech/config/carrier",
"https://cs.android.com/android/platform/superproject/+/master:packages/apps/CarrierConfig/src/com/android/carrierconfig/DefaultCarrierConfigService.java"
],
"removal": "replace",
"suppress": "LabelSameAsId"
},
{
"id": "com.google.android.connectivity.resources",
"label": "System Connectivity Resources",
"description": "Handles connectivity-related resources, such as Wi-Fi, Bluetooth, and cellular network management.",
"removal": "unsafe",
"warning": "Removing this packages causes a bootloop."
},
{
"id": "com.google.android.documentsui",
"label": "Files",
"description": "Occasionally runs in the background.\nFile selector for other apps.",
"removal": "unsafe",
"warning": "Storage Access Framework (SAF) will break if this is disabled."
},
{
"id": "com.google.android.email",
@ -1279,6 +1491,12 @@
"description": "The ExtServices module updates framework components for core OS functionality such as notification ranking, autofill text-matching strategies, storage cache, package watchdog, and other services that run continually. This module is updatable, meaning it can receive updates to functionality outside of the normal Android release cycle.\nCan run before the user unlocks the device (direct-boot aware) and Android 9+ version have internet and location permissions.\n\nWARNING: Causes bootloop on most Android 11+ phones. This module is related to the Android mainline project (which is a useful project).There is no reason to mess with this.\n\nSources:\nhttps://source.android.com/devices/architecture/modular-system/extservices\nhttps://arstechnica.com/gadgets/2016/11/android-extensions-could-be-googles-plan-to-make-android-updates-suck-less/\nPithus analysis (Android 11): https://beta.pithus.org/report/e5e4a181082b88baf55e19aab0f9cb62e131d612eeaa73cddb510a52e0ff5c1a",
"removal": "unsafe"
},
{
"id": "com.google.android.ext.shared",
"label": "Android Shared Library",
"description": "Used to share common code between apps.",
"removal": "unsafe"
},
{
"id": "com.google.android.federatedcompute",
"description": "FederatedCompute.\nAnother component of OnDevicePersonalization. But this app learns things about users.\nIntroduced in Android 13.\nhttps://source.android.com/docs/core/ota/modular-system/ondevicepersonalization",
@ -1319,6 +1537,19 @@
"description": "Network Stack Permission Configuration\nDefines a permission that enables modules to perform network-related tasks.\nhttps://source.android.com/devices/architecture/modular-system/networking\n",
"removal": "unsafe"
},
{
"id": "com.google.android.networkstack.tethering",
"label": "Tethering",
"description": "Used for USB and/or Wi-Fi tethering?",
"removal": "unsafe"
},
{
"id": "com.google.android.networkstack.tethering.overlay",
"label": "com.google.android.networkstack.tethering.overlay",
"description": "Needed for tethering? I found: arrays.xml\narray name (config_tether_usb_regexs)\nitem rndis d\nitem usb d",
"removal": "unsafe",
"suppress": "LabelSameAsId"
},
{
"id": "com.google.android.ondevicepersonalization.services",
"description": "OnDevicePersonalization.\nAnother thing to AdServices privacy sandbox.\nIntroduced in Android 13.\nhttps://source.android.com/docs/core/ota/modular-system/ondevicepersonalization",
@ -1334,6 +1565,37 @@
"description": "Configs default captiveportallogin. (not needed)\nNo effects after remove.",
"removal": "delete"
},
{
"id": "com.google.android.overlay.modules.cellbroadcastservice",
"description": "",
"removal": "caution"
},
{
"id": "com.google.android.overlay.modules.ext.services",
"label": "com.google.android.overlay.modules.ext.services",
"dependencies": [
"com.google.android.ext.services"
],
"description": "It's overlay that depends on (com.google.android.ext.services)",
"removal": "unsafe",
"warning": "Removing it causes bootloop."
},
{
"id": "com.google.android.overlay.modules.permissioncontroller",
"label": "com.google.android.overlay.modules.permissioncontroller",
"description": "I only detect on this app: help_app_permissions (link below). It looks very useless, not needed.\nIt doesnt affect com.google.android.permissioncontroller",
"web": [
"https://support.google.com/googleplay/answer/6270602"
],
"removal": "delete",
"warning": "when disabling this package on a Samsung N960F running Android Q, the pop-up UI reverts. Disabling this package (as it's an overlay) will also put the pop-up UI to (like full-screen notification) to the center instead of the bottom."
},
{
"id": "com.google.android.overlay.modules.permissioncontroller.forframework",
"label": "com.google.android.overlay.modules.permissioncontroller.forframework",
"description": "config_incidentReportApproverPackage\nIt looks very useless.\nNot needed, it doesnt affect on (com.google.android.permissioncontroller)",
"removal": "caution"
},
{
"id": "com.google.android.overlay.permissioncontroller",
"description": "Breaks Google Play System updates (GPSu), related to Project Mainline. Page on Settings will crash altogether, or ask Play Store to be updated.\nhttps://support.google.com/product-documentation/answer/14343500",
@ -1362,6 +1624,22 @@
"description": "Photo picker\nProvides a browsable interface that presents the user with their media library, sorted by date from newest to oldest. Safe, built-in way for users to grant your app access to only selected images and videos, instead of their entire media library.\nhttps://developer.android.com/training/data-storage/shared/photopicker",
"removal": "caution"
},
{
"id": "com.google.android.printservice.recommendation",
"label": "Print Service Recommendation Service",
"description": "I think this has to do with recommending a printservice app you can get from the Play store. I think printing still works with this off.",
"removal": "caution"
},
{
"id": "com.google.android.providers.media.module",
"label": "Media",
"description": "Provider of media files (images, videos and such).\nContent providers encapsulate data, providing centralized management of data shared between apps.",
"web": [
"https://developer.android.com/guide/topics/providers/content-providers.html"
],
"removal": "unsafe",
"warning": "Breaks file browsers and other forms of file access."
},
{
"id": "com.google.android.safetycenter.resources",
"description": "Google Safety Center.\nProbably affects malware detection in new app installs, Gmail, and Chrome. Alternatively, you can use a libre spam-blocking and DNS-blocking solution instead.\nAnyway it looks like a useless frameworks.\nhttps://safety.google",

View File

@ -11,7 +11,7 @@
{
"id": "com.LogiaGroup.LogiaDeck",
"label": "Mobile Services Manager",
"description": "\"Mobile Services Manager/DTIGNITE malware, rooted to your device by express agreement between the app's publisher and your carrier.\"",
"description": "Seems to be a spyware",
"web": [
"https://www.reddit.com/r/lgv20/comments/6u0wnf/what_is_mobile_services_manager_did_i_catch_a/"
],
@ -143,7 +143,7 @@
"https://en.wikipedia.org/wiki/Asurion"
],
"removal": "delete",
"warning": "This app is developped by Asurion, a US company whose business is to sell insurances. All US carriers use Asurion for the phone insurances."
"warning": "This app is developed by Asurion, a US company whose business is to sell insurances. All US carriers use Asurion for the phone insurances."
},
{
"id": "com.att.android.attsmartwifi",
@ -304,7 +304,7 @@
{
"id": "com.aura.oobe.samsung.gl",
"label": "AppCloud",
"description": "AppCloud\nIt offers the \"Aura Out-Of-the-Box Experience\" (OOBE)\nIt is some kind of post-install recommended apps setup from the carrier. Asks for your age and gender and then recommends you to install popular apps.\nHas way too many permissions.",
"description": "It offers the \"Aura Out-Of-the-Box Experience\" (OOBE)\nIt is some kind of post-install recommended apps setup from the carrier. Asks for your age and gender and then recommends you to install popular apps.\nHas way too many permissions.",
"web": [
"https://en.wikipedia.org/wiki/IronSource",
"https://aura.ironsrc.com/tools/drive-app-downloads/",
@ -316,7 +316,7 @@
},
{
"id": "com.aura.oobe.vodafone",
"description": "Vodafone AppBox\nIt is some kind of post-install recommended apps setup from the carrier.\nAsks for your age and gender and then recommends you to install popular apps.\nDevelopped by IronSource, an Israeli advertising company.",
"description": "Vodafone AppBox\nIt is some kind of post-install recommended apps setup from the carrier.\nAsks for your age and gender and then recommends you to install popular apps.\nDeveloped by IronSource, an Israeli advertising company.",
"removal": "delete"
},
{
@ -428,6 +428,11 @@
"description": "OemDmTrigger\nOMA Device Managment Verizon.",
"removal": "delete"
},
{
"id": "com.gsma.rcs",
"description": "RCS\nHidden RCS Messaging? or only Frameworks?\nFeature code:184501\nCarrier name: GSM Association.",
"removal": "caution"
},
{
"id": "com.hyperlync.Sprint.Backup",
"label": "Sprint Backup",
@ -457,6 +462,11 @@
"description": "AppCloud (discontinued) from ironSource, an advertising company.\nWorth reading:\nhttps://en.wikipedia.org/wiki/IronSource",
"removal": "delete"
},
{
"id": "com.jrd.verizonuriintentservice",
"description": "",
"removal": "caution"
},
{
"id": "com.kmsjp",
"description": "Kaspersky\nAnti-virus pre-installed on some Huawei phone's in Japanese.",
@ -645,10 +655,7 @@
{
"id": "com.motorola.vzw.pco.extensions.pcoreceiver",
"label": "PcoReceiver",
"description": "Protocol Configuration Options.\nRelated to APN configuration.",
"web": [
"https://www.freshpatents.com/-dt20180607ptan20180159824.php"
],
"description": "VZW Carrier sim(Verizon). It's only for notifications.\nYou can remove that if you don't use Verizon wireless or anything like that.",
"removal": "delete"
},
{
@ -1097,6 +1104,16 @@
"description": "Discontinued. Its purpose was to help you migrating your data to your new Android device.",
"removal": "delete"
},
{
"id": "com.tcl.vzwintents",
"description": "",
"removal": "caution"
},
{
"id": "com.tct.vzwwifioffload",
"description": "",
"removal": "caution"
},
{
"id": "com.telcel.contenedor",
"description": "Telcel app, Advertising company to get promotions.\nhttps://play.google.com/store/apps/details?id=com.telcel.contenedor",
@ -1178,6 +1195,11 @@
"removal": "replace",
"suggestions": "cloud_services"
},
{
"id": "com.verizon.cloudsetupwizard",
"description": "",
"removal": "delete"
},
{
"id": "com.verizon.llkagent",
"label": "Llkagent",
@ -1277,7 +1299,8 @@
"web": [
"https://developer.android.com/reference/android/telephony/data/ApnSetting"
],
"removal": "caution"
"removal": "caution",
"warning": "Removing it prevents calling or texting (breaks WiFi calling). On Auto Optimization, it causes auto reboots."
},
{
"id": "com.vzw.apnservice",
@ -1288,6 +1311,11 @@
],
"removal": "delete"
},
{
"id": "com.vzw.easvalidation",
"description": "",
"removal": "caution"
},
{
"id": "com.vzw.ecid",
"label": "Verizon Call Filter",

View File

@ -9,7 +9,7 @@
"https://fidoalliance.org/passkeys/"
],
"removal": "replace",
"warning": "Removing the app breaks creating and storing passkeys on your phone, so keep this enabled if you want to use that form of authentication.",
"warning": "Removing the app may break creating and storing passkeys on your phone, so keep this enabled if you want to use that form of authentication. Google Play Services can also provide this functionality on some devices.",
"suggestions": "browsers"
},
{
@ -397,13 +397,13 @@
},
{
"id": "com.google.android.apps.messaging",
"label": "Messages by Google",
"description": "RCS client from Google, also supports SMS/MMS. Runs in the background.",
"label": "Messages",
"description": "RCS client from Google, also supports SMS/MMS. Runs in the background.\nCould be a global dependency for SMS, MMS, RCS, OTP, and other services/verifications.\nGSMA has recently standardized E2EE, but currently, there is not alternative available for Android.",
"web": [
"https://play.google.com/store/apps/details?id=com.google.android.apps.messaging"
],
"removal": "replace",
"warning": "Removing this may cause issues with receiving 2FA verification text messages and calls from Google on some devices. Please let us know your experience with this on https://github.com/0x192/universal-android-debloater/pull/250 (give your phone model + Android version)",
"warning": "Once disabled/uninstalled, even if reinstalled, a factory reset may be required to re-obtain full functionality.",
"suggestions": "sms"
},
{
@ -418,7 +418,7 @@
},
{
"id": "com.google.android.apps.nbu.files",
"label": "Files by Google",
"label": "Files",
"description": "Used to be for cleaning and sharing. But nowadays, it became a hybrid app. Runs in the background.\nFOSS alternative is https://github.com/TeamAmaze/AmazeFileUtilities",
"web": [
"https://play.google.com/store/apps/details?id=com.google.android.apps.nbu.files"
@ -663,8 +663,8 @@
"web": [
"https://play.google.com/store/apps/details?id=com.google.android.apps.wellbeing"
],
"removal": "delete",
"warning": "It is a hard dependency for the settings app on Android 12+ on Pixel phones. Disable this package instead of uninstalling it, or the settings will crash on launch."
"removal": "caution",
"warning": "It is a hard dependency for the settings app on Android 12+ on Pixel phones. After uninstalling, there will be an empty entry on Settings. Rebooting should make it disappear."
},
{
"id": "com.google.android.apps.work.oobconfig",
@ -777,16 +777,6 @@
"removal": "replace",
"suggestions": "calendars"
},
{
"id": "com.google.android.carrierconfig",
"label": "com.google.android.carrierconfig",
"description": "Same as com.android.carrierconfig? Here's that description:\nDynamically provides configuration for the carrier network.\nThe config contains: Roaming networks, Voicemail settings, SMS/MMS settings, VoLTE/IMS settings, and more.\nIf a carrier app is installed it will be queried for overrides to these settings.\nSeems to run on boot and when you swap SIM card?",
"web": [
"https://source.android.com/devices/tech/config/carrier",
"https://cs.android.com/android/platform/superproject/+/master:packages/apps/CarrierConfig/src/com/android/carrierconfig/DefaultCarrierConfigService.java"
],
"removal": "replace"
},
{
"id": "com.google.android.cellbroadcastreceiver",
"label": "Wireless emergency alerts",
@ -817,11 +807,11 @@
{
"id": "com.google.android.configupdater",
"label": "ConfigUpdater",
"description": "Occasionally runs in the background.\nAuto updates certificates for TLS connection, firewall configuration, etc.\nMainly used for Google services? Might be fine to disable if you don't use Google services. Disabling might mess with security if you do use them though.",
"description": "Intents used to provide unbundled updates of system data. All require the UPDATE_CONFIG permission. Updates:\n- system wide certificate pins for TLS connections.\n- System wide Intent firewall.\n- List of permium SMS short codes.\n- List of carrier provisioning URLs.\n- Set of trusted logs used for Certificate Transparency support for TLS connections language detection model file\n- Smart selection model file\n- Conversation actions model file\n- Network watchlist config file\n- Intent action indicating that the updated carrier id config is available\n- The emergency number database into the devices\n- An integer to indicate the numeric version of the new data -- devices should only install if the update version is newer than the current one\n- Hash of the database, which is encoded by base-16 SHA512.",
"web": [
"https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/os/ConfigUpdate.java"
],
"removal": "delete"
"removal": "caution"
},
{
"id": "com.google.android.contacts",
@ -838,7 +828,7 @@
"label": "Clock",
"description": "Clock by Google LLC.",
"removal": "replace",
"warning": "on some phones, removing this makes it so alarms and notifications only vibrate and don't make any sound (via any installed app), and makes the 'Alarm' section unavailable in 'Settings > Sound & Vibration'",
"warning": "On some phones, removing this makes it so alarms and notifications only vibrate and don't make any sound (via any installed app), and makes the 'Alarm' section unavailable in 'Settings > Sound & Vibration'",
"suggestions": "clocks"
},
{
@ -852,19 +842,6 @@
"removal": "replace",
"suggestions": "dialers"
},
{
"id": "com.google.android.documentsui",
"label": "Files",
"description": "Occasionally runs in the background.\nFile selector for other apps.",
"removal": "unsafe",
"warning": "Storage Access Framework (SAF) will break if this is disabled."
},
{
"id": "com.google.android.ext.shared",
"label": "Android Shared Library",
"description": "Used to share common code between apps. It's empty, so this package is useless?",
"removal": "delete"
},
{
"id": "com.google.android.feedback",
"label": "Market Feedback Agent",
@ -904,10 +881,7 @@
{
"id": "com.google.android.gms.location.history",
"label": "Google Location History",
"description": "I'm guessing this runs in the background unless you have this setting turned off in your Google account. I have the setting turned off and I've never seen this package run.",
"web": [
"https://support.google.com/accounts/answer/3118687?hl=en"
],
"description": "This app has nothing in the code. Only png logo google and name.",
"removal": "delete"
},
{
@ -932,7 +906,8 @@
"web": [
"https://play.google.com/store/apps/details?id=com.google.android.googlequicksearchbox"
],
"removal": "delete"
"removal": "caution",
"warning": "Disabling this package also breaks the Ok Google Search functionality as well as Google Lens."
},
{
"id": "com.google.android.gsf",
@ -1077,16 +1052,44 @@
"description": "it's another component of\nAndroid System Intelligence (previously Device Personalization Services)",
"removal": "delete"
},
{
"id": "com.google.android.overlay.gmsconfig.common",
"label": "com.google.android.overlay.gmsconfig.common",
"description": "If you delete this package, you won't be able to log in to your Google account on a Google app. But if you don't need to log in to a Google account, you can safely remove this.",
"removal": "caution",
"suppress": "LabelSameAsId"
},
{
"id": "com.google.android.overlay.gmsconfig.comms",
"label": "com.google.android.overlay.gmsconfig.comms",
"description": "Useless configurations for Google's Phone, Messages, Contacts apps, everything works without it.",
"removal": "delete",
"suppress": "LabelSameAsId"
},
{
"id": "com.google.android.overlay.gmsconfig.geotz",
"description": "Provides Geolocation Time Zone detection.\nand it's used by (com.google.android.overlay.gmsconfig.common)?\nNo effects after remove.",
"removal": "caution"
},
{
"id": "com.google.android.overlay.gmsconfig.gsa",
"label": "com.google.android.overlay.gmsconfig.gsa",
"description": "configures default assistant? And have config to allow disabling assist disclosure?\nI think it doesn't affect anything.\nSafe to remove if you removed (com.google.android.googlequicksearchbox).",
"removal": "caution",
"suppress": "LabelSameAsId"
},
{
"id": "com.google.android.overlay.gmsconfig.personalsafety",
"description": "Not needed for (com.google.android.apps.safetyhub).",
"removal": "caution"
},
{
"id": "com.google.android.overlay.gmsconfig.photos",
"label": "com.google.android.overlay.gmsconfig.photos",
"description": "Overlay to Gallery (com.google.android.apps.photos). Useless.",
"removal": "delete",
"suppress": "LabelSameAsId"
},
{
"id": "com.google.android.overlay.gmsconfig.searchlauncherqs",
"description": "Useless gmsconfig. it's config default launcher but not needed.",
@ -1117,35 +1120,18 @@
{
"id": "com.google.android.overlay.modules.documentsui",
"label": "com.google.android.overlay.modules.documentsui",
"description": "Files Theme pack. Guessing it's a pack of themes for the stock Android File Browser, based on the name.",
"description": "In code only found: `is_launcher_enabled` is set to false.\nIt's only made to hide app icon (com.google.android.documentsui)\nNo effects after removal (the launcher icon will be not back), it's useless.",
"web": [
"https://docs.samsungknox.com/CCMode/G973F_LTE_R.pdf"
],
"removal": "caution"
},
{
"id": "com.google.android.overlay.modules.ext.services",
"label": "com.google.android.overlay.modules.ext.services",
"description": "Android System Theme pack. The package name is pretty self-explanatory.",
"removal": "caution"
},
{
"id": "com.google.android.overlay.modules.permissioncontroller",
"label": "com.google.android.overlay.modules.permissioncontroller",
"description": "Permission controller Theme pack. Guessing it's a pack of themes for the Permission Controller based on the name.",
"removal": "caution"
},
{
"id": "com.google.android.overlay.modules.permissioncontroller.forframework",
"label": "com.google.android.overlay.modules.permissioncontroller.forframework",
"description": "Android System Theme pack. Guessing it's a pack of themes for the Android system framework permission controller based on the name.",
"removal": "caution"
"removal": "delete",
"suppress": "LabelSameAsId"
},
{
"id": "com.google.android.partnersetup",
"label": "Google Partner Setup",
"description": "Occasionally runs in the background. Based on an unclear explanation online: Enables applications to interact with your Google account/apps, for example: adding a Google Calendar event from a To-Do app.\nProbably safe to disable; Haven't noticed any consequences of disabling from weeks of use.",
"removal": "delete"
"removal": "caution"
},
{
"id": "com.google.android.pixel.setupwizard",
@ -1162,12 +1148,6 @@
],
"removal": "delete"
},
{
"id": "com.google.android.printservice.recommendation",
"label": "Print Service Recommendation Service",
"description": "I think this has to do with recommending a printservice app you can get from the Play store. I think printing still works with this off.",
"removal": "delete"
},
{
"id": "com.google.android.projection.gearhead",
"label": "Android Auto",
@ -1180,12 +1160,12 @@
{
"id": "com.google.android.setupwizard",
"label": "Android Setup",
"description": "The new/factory reset device basic configuration setup guides you through the basics of setting up your device.",
"description": "The factory reset device basic configuration setup guides you through the basics of setting up your device.",
"web": [
"https://en.wikipedia.org/wiki/Mobile_identity_management"
],
"removal": "caution",
"warning": "Oddly enough, disabling/uninstalling this package will break mobile identity management which could be used by apps (for example your Bank) to authenticate you."
"warning": "Oddly enough, disabling/uninstalling this package will break mobile identity management which could be used by apps (for example your bank) to authenticate you."
},
{
"id": "com.google.android.setupwizard.a_overlay",
@ -1237,11 +1217,11 @@
},
{
"id": "com.google.android.tts",
"label": "Speech Services by Google",
"label": "Speech Recognition and Synthesis",
"description": "Default Text To Speech (TTS) engine on most of Android devices. It enables apps to convert text into voice.\nNote: many apps like navigation and health/sport apps rely on a TTS engine to provide speech services.",
"web": [
"https://play.google.com/store/apps/details?id=com.google.android.tts",
"https://beta.pithus.org/report/08f97758fbfae1e17c4a8e5ee1a1e6d2726ce6b0b4931d5452f2376d60f1b4fb"
"https://beta.pithus.org/report/f0a2303e1c1bd049bf1cdc5a3454dfe19b2aaf26008662c7a307aaec2538558b"
],
"removal": "replace",
"suggestions": "tts"

315
misc.json
View File

@ -56,6 +56,26 @@
"description": "AAA = American Automobile Association\nKind of GPS that helps you find Point of interest (POI) like hotels, restaurants, and car repair facilities from the AAA databases.\nNOTE : Youll have to sign up for an AAA membership to enjoy all of the features and functionality of the Android app.",
"removal": "delete"
},
{
"id": "com.adups.fota",
"label": "Wireless Update",
"description": "(AKA System Update) FOTA = Firmware Over-the-air. Has a history of spying its users. If the installed version is below 5.4.x, it must be uninstalled.",
"web": [
"https://www.malwarebytes.com/blog/news/2017/12/mobile-menace-monday-upping-the-ante-on-adups-fwupgradeprovider",
"https://www.cvedetails.com/vulnerability-list/vendor_id-16034/product_id-35606/year-2017/Adups-Adups-Fota.html"
],
"removal": "caution"
},
{
"id": "com.adups.fota.sysoper",
"label": "UpgradeSys",
"description": "FOTA = Firmware Over-the-air. Has a history of spying on its users.",
"web": [
"https://www.malwarebytes.com/blog/news/2017/12/mobile-menace-monday-upping-the-ante-on-adups-fwupgradeprovider",
"https://www.cvedetails.com/vulnerability-list/vendor_id-16034/product_id-35606/year-2017/Adups-Adups-Fota.html"
],
"removal": "delete"
},
{
"id": "com.agui.toolbox",
"label": "Toolbox",
@ -298,7 +318,7 @@
{
"id": "com.crowdcare.agent.k",
"label": "com.crowdcare.agent.k",
"description": "Crowdcare is now Wysdom.AI (https://nitter.42l.fr/wysdomai)\nFrom their Twitter description : The easiest way for businesses to improve customer satisfaction, contain costs and generate revenue by using #AI to power customer experiences.\nWysdom.AI has joined the Microsoft Partner Network in 2018",
"description": "Crowdcare is now Wysdom.AI.\nFrom their Twitter description : The easiest way for businesses to improve customer satisfaction, contain costs and generate revenue by using #AI to power customer experiences.\nWysdom.AI has joined the Microsoft Partner Network in 2018",
"web": [
"https://wysdom.ai/privacy-policy/"
],
@ -419,7 +439,7 @@
"id": "com.dsi.ant.server",
"label": "ANT Radio Service Test",
"description": "ANT HAL (Hardware Abstraction Layer) Server.\nANT is a wireless protocol, similar to Bluetooth, that is mainly used for sport and fitness trackers.",
"removal": "caution"
"removal": "delete"
},
{
"id": "com.dsi.ant.service.socket",
@ -671,21 +691,6 @@
],
"removal": "replace"
},
{
"id": "com.heytap.mcs",
"label": "System Messages",
"required_by": [
"com.heytap.cloud",
"com.heytap.market",
"com.oplus.synergy",
"com.heytap.accessory"
],
"description": "Mobile Cloud Service? Message Controler System?.\nMy understanding is that this packages implements the communication logic of the Heytap services. It provides a MQTT client (and Firebase Cloud Manager for users outside of China) which frequently talks to heytapmobile.com. You can safely remove this package if you don't have a Heytap account.\nRuns constantly in the background",
"web": [
"https://beta.pithus.org/report/8920395af63782fca8dfce18715a10ca5a2d8236d525208ea347eff8f738731e"
],
"removal": "delete"
},
{
"id": "com.huaqin.FM",
"label": "com.huaqin.FM",
@ -868,8 +873,9 @@
{
"id": "com.mediatek",
"label": "com.mediatek",
"description": "Mediatek is a Taiwanese chipset manufacturer.\nCan someone share the apk? This package name is really weird.\nIt is most likely a set of general APIs for accessing general mediatek functionalities.\nCan someone share the apk?",
"removal": "caution"
"description": "Mediatek is a Taiwanese chipset manufacturer.\nCan someone share the apk? This package name is really weird.\nIt is most likely a set of general APIs for accessing general mediatek functionalities.",
"removal": "unsafe",
"warning": "Removing the app will cause bootloop."
},
{
"id": "com.mediatek.FrameworkResOverlayExt",
@ -907,17 +913,36 @@
"description": "autodialer, have a lot useless code.",
"removal": "delete"
},
{
"id": "com.mediatek.batterywarning",
"label": "com.mediatek.batterywarning",
"description": "Issues warning when the battery is low or when the battery temperature is high.",
"removal": "caution"
},
{
"id": "com.mediatek.bluetooth.dtt",
"description": "Bluetooth logging.",
"removal": "delete"
},
{
"id": "com.mediatek.calendarimporter",
"label": "VCalendar",
"description": "Useful in China where Google isnt available, but not needed for Google users.",
"removal": "delete"
},
{
"id": "com.mediatek.callrecorder",
"label": "Call Recorder",
"description": "This is not the kind of feature expected from a Soc company.\nIf you remove this I guess you will not be able to record your calls from the stock dialer\nCan someone share the apk and verify this?",
"removal": "delete"
},
{
"id": "com.mediatek.camera",
"label": "Camera",
"description": "Stock Camera app on some Mediatek phones.",
"removal": "replace",
"suggestions": "cameras"
},
{
"id": "com.mediatek.capctrl.service",
"description": "It have mtkradioex. These are used for corporate deployment/controlling of devices.",
@ -933,6 +958,12 @@
"description": "This app have something to emergency.",
"removal": "replace"
},
{
"id": "com.mediatek.dataprotection",
"label": "Data Protection",
"description": "Possibly related to user partition encryption/decryption.\nA device should works flawlessly without it.",
"removal": "delete"
},
{
"id": "com.mediatek.duraspeed",
"description": "A frontend to a Mediatek service that fully takes over Android's own Adaptive Battery management. Uninstalling this app will only remove the UI component, but not the system service that it's controlling. To completely disable Duraspeed you need to have it enabled first, open Duraspeed app via Settings, and set the toggle to 'Off'. Otherwise Duraspeed service will continue running despite there not being a Duraspeed entry in Settings which will lead to unexpected app freezes that affect FOSS apps such as Dialers/Phones and messengers.",
@ -964,6 +995,11 @@
"description": "It have something to config AOD.\nAnd power saving.",
"removal": "unsafe"
},
{
"id": "com.mediatek.gba",
"description": "Generic Bootstrapping Architecture.\nHas ims, X-TMUS-IMEI, bsf.msg.lab.t-mobile.com things to encrypted calls ims probably\n(thinking by looking at the classes.dex code). Connects to site bsf.ims.mncXXX.pub.3gppnetwork.org.",
"removal": "caution"
},
{
"id": "com.mediatek.gbaservice",
"description": "Generic Bootstrapping Architecture. A common ground of code used for many MediaTek apps.\nCan be removed if all other MediaTek apps are removed.",
@ -974,11 +1010,17 @@
"description": "Have hidden activity and it's maybe for debug location requests, modem, VoWiFi and more.\nNot useful.",
"removal": "delete"
},
{
"id": "com.mediatek.gnssdebugreport",
"label": "GnssDebugReport",
"description": "Hidden debug stuff.",
"removal": "delete"
},
{
"id": "com.mediatek.gpslocationupdate",
"label": "GPSLocationUpdate",
"description": "I wonder if it is really only a logging app.\nCan someone try to remove it and use a GPS app to see if it still works?\nCan someone share the apk? (from a Xiaomi/Huawei phone)",
"removal": "caution"
"description": "Info about gps and notifications. Probably not needed for location.",
"removal": "delete"
},
{
"id": "com.mediatek.ims",
@ -1001,6 +1043,12 @@
"description": "Needed to support IMS, RCS probably.",
"removal": "replace"
},
{
"id": "com.mediatek.lbs.em2.ui",
"label": "LocationEM2",
"description": "Another GPS status/testing app. Removing it doesnt stop GPS from working.",
"removal": "delete"
},
{
"id": "com.mediatek.location.lppe.main",
"label": "LPPe Service",
@ -1015,6 +1063,12 @@
"description": "Mtk Geofence\nOnly logs in code",
"removal": "delete"
},
{
"id": "com.mediatek.location.mtknlp",
"label": "Mtk Nlp",
"description": "Network Location Provider? This app has location permissions and no code.",
"removal": "caution"
},
{
"id": "com.mediatek.magtapp",
"description": "MAGTApp\nUnknown, has GameEventService, MAGTEventAppReceiver, but code doesn't look very useful.",
@ -1022,13 +1076,19 @@
},
{
"id": "com.mediatek.mdmconfig",
"label": "com.mediatek.mdmconfig",
"label": "MDMConfig",
"description": "Mobile Device Management (MDM) allows companys IT department to reach inside your phone in the background, allowing them to ensure your device is secure, know where it is, and remotely erase your data if the phone is stolen.\nIt's a way to ensure employees stay productive and do not breach corporate policies\nYou should NEVER have a MDM tool on your personal phone. Never.\nThis package probably isn't a MDM tool on its own but you definitively don't need it on your phone.\nCan someone share the apk?",
"web": [
"https://blog.cdemi.io/never-accept-an-mdm-policy-on-your-personal-phone/"
],
"removal": "delete"
},
{
"id": "com.mediatek.mdmlsample",
"label": "MDMLSample",
"description": "It looks like debugging app.\nBut I found some words SUBSCRIBE_TRAP, OTA, VoLTE\nOther data is a lot of debugging code so it's not needed.",
"removal": "delete"
},
{
"id": "com.mediatek.miravision.ui",
"description": "it's for SmartScreen and display effects.\nBUT I think it's not available and it's so bloated.",
@ -1058,6 +1118,13 @@
"description": "Logs debug data.",
"removal": "delete"
},
{
"id": "com.mediatek.mms.appservice",
"label": "com.mediatek.mms.appservice",
"description": "Provides Voice message, Video message, Fax message, Text message in a messaging app?",
"removal": "caution",
"suppress": "LabelSameAsId"
},
{
"id": "com.mediatek.nlpservice",
"label": "Mediatek Network Location Provider",
@ -1124,6 +1191,12 @@
"description": "allows you to get information about the available \nSIMs/subscriptions and listen for changes or activity on the SIM cards, such as call or data activity or \nconnected cell details. In addition, the API enables apps to create SMS messages and send them using \na specific SIM card. it's not useful.",
"removal": "replace"
},
{
"id": "com.mediatek.thermalmanager",
"label": "MTK Thermal Manager",
"description": "Hidden testing or logging app.",
"removal": "delete"
},
{
"id": "com.mediatek.voicecommand",
"description": "It's for voice commands like control music playing or voice control for alarm, camera.\nBut how to get access to it?\nProbably you need that for voice recognition but not sure.\nMaybe related to https://www.mediatek.com/products/smart-home/voice-assistant-devices",
@ -1144,6 +1217,12 @@
],
"removal": "delete"
},
{
"id": "com.mediatek.ygps",
"label": "YGPS",
"description": "GPS test and bug report utilities, accessed via Engineer Mode. Not needed.",
"removal": "replace"
},
{
"id": "com.mediatek.zramwritebackoverlay",
"description": "config zramWriteback = true. What is this used for?",
@ -1162,7 +1241,7 @@
{
"id": "com.microsoft.appmanager",
"label": "Link to Windows",
"description": "Microsoft app for synchronising your phone with a W10 PC.",
"description": "Microsoft app for synchronising your phone with a Windows PC.",
"web": [
"https://play.google.com/store/apps/details?id=com.microsoft.appmanager"
],
@ -1341,6 +1420,12 @@
"removal": "replace",
"suggestions": "keyboards"
},
{
"id": "com.oem.rftoolkit",
"label": "RfToolkit",
"description": "Testing things like Wi-Fi, lots of Chinese words",
"removal": "delete"
},
{
"id": "com.omusic.gPhone",
"description": "friDay music\nA treasure house of global music, thousands of situational playlists, complete classification of Chinese, Western, Japanese and Korean, classical, and original soundtracks, allowing you to easily travel the digital music world.\nhttps://play.google.com/store/apps/details?id=com.omusic.gPhone",
@ -1478,10 +1563,7 @@
{
"id": "com.qti.confuridialer",
"label": "Conference URI dialer",
"description": "Conference call service for digital signal (SIP/VoIP).",
"web": [
"https://devcondition.com/article/removing-unneeded-miui-applications/"
],
"description": "Conference call service for digital signal (SIP/VoIP).\nIt's hidden and no apps use it.",
"removal": "replace"
},
{
@ -1492,14 +1574,14 @@
{
"id": "com.qti.diagservices",
"label": "com.qti.diagservices",
"description": "Starts process when plugged into a PC (with debugging on, haven't tried off) and then runs until stopped.\nCan't find info on what it is. Probably has to do with diagnostics for Android debugging?\nNoticed no ill effects from having it disabled for weeks.",
"removal": "caution",
"description": "Starts process when plugged into a PC (with debugging on, haven't tried off) and then runs until stopped.\nDiagnostic services Presumably tests to collect hardware data.\nsize of this package is 12 KB and have Diag_OnBoot, QTIDiagServices.\nHas permission: RECEIVE_BOOT_COMPLETED.",
"removal": "delete",
"suppress": "LabelSameAsId"
},
{
"id": "com.qti.dpmserviceapp",
"label": "com.qti.dpmserviceapp",
"description": "Data Power Manager for the radio.\nUsed to improve energy efficiency. Probably a bad idea to disable.",
"description": "Data Power Manager for the radio?\nUsed to improve energy efficiency?\nIn code I found something like this:\ndpm hal server, read procid\nit's still unknown.",
"removal": "caution",
"suppress": "LabelSameAsId"
},
@ -1509,6 +1591,11 @@
"description": "Runs on boot, but not in the background beyond that.",
"removal": "caution"
},
{
"id": "com.qti.pasrservice",
"description": "Has powersaving things, device idle mode changer to screen on/off.",
"removal": "caution"
},
{
"id": "com.qti.phone",
"description": "dialer, dialing service, for phone calls.\nHas IMS things, optimizations?, its weird that calling works after remove, has code related to 'com.qualcomm.qcrilmsgtunnel',\nChina Mobile Communications Corporation(China Mobile) SIM card things.",
@ -1532,13 +1619,14 @@
"https://www.qualcomm.com/news/onq/2016/05/02/qualcomm-trupalette-brings-your-phones-display-life"
],
"removal": "caution",
"warning": "On HyperOS, disabling this package results in the mobile networks section to break as well as SIMs showing no service.",
"suppress": "LabelSameAsId"
},
{
"id": "com.qti.qualcomm.deviceinfo",
"label": "Device Info",
"description": "Displays device information. Can be found in Settings->About phone.",
"removal": "caution"
"description": "Hidden device info activity not available for users.\nIt's safe to remove and you will not loose device info in settings.",
"removal": "delete"
},
{
"id": "com.qti.qualcomm.mstatssystemservice",
@ -1548,8 +1636,8 @@
{
"id": "com.qti.service.colorservice",
"label": "com.qti.service.colorservice",
"description": "Something to do with colors?\nContains a \"ColorServiceApp\" service, but I've never seen it run. Might be tied to some Display setting?\nProbably safe to disable; noticed no changes, but I also doubt there's any benefit to disabling it.",
"removal": "caution",
"description": "Allows the application to directly affect the device's display paramter.\nAFAIK no apps use it.",
"removal": "delete",
"suppress": "LabelSameAsId"
},
{
@ -1561,7 +1649,7 @@
"id": "com.qti.snapdragon.qdcm_ff",
"label": "QDCM-FF",
"description": "Qualcomm Display Color Management tool\nAttempts to \"make colors look vibrant and true to life\". No idea if it actually does something useful or if it's only some garbage dynamic color tuning (they tend to destroy colors).\nContains a service, but I've never seen it run on my Oneplus 9. Could be tied to color \"improvement\" settings in Settings->Display (all of which are off for me).",
"removal": "replace"
"removal": "delete"
},
{
"id": "com.qti.xdivert",
@ -1618,7 +1706,7 @@
"web": [
"https://www.qualcomm.com/site/privacy/services"
],
"removal": "replace"
"removal": "delete"
},
{
"id": "com.qualcomm.location.XT",
@ -1638,8 +1726,9 @@
{
"id": "com.qualcomm.qcrilmsgtunnel",
"label": "com.qualcomm.qcrilmsgtunnel",
"description": "Long-form name: Qualcomm Radio Interface Layer Message Tunnel.\nRuns in the background, both as part of user apps and as part of the system? It's an active system process even when disabled, but disabling seems to remove the user-side part of the process.\nDisabling yields no immediate consequences, but functionality may still be retained in the system process.\nActs as a bridge between Android framework services and the hardware? A tunnel between modem and Android framework?\nThe decompiled code shows nothing obvious. \"sendOemRilRequest\" seems like the only method name hinting at something.",
"description": "Message receiving channel (secondary card can't turn on 5g).\nIf you don't use dual-sim it's safe to remove.",
"removal": "caution",
"warning": "Breaks calls after a reboot on some phones",
"suppress": "LabelSameAsId"
},
{
@ -1690,8 +1779,9 @@
{
"id": "com.qualcomm.qti.biometrics.fingerprint.service",
"label": "com.qualcomm.qti.biometrics.fingerprint.service",
"description": "Probably the background service for handling fingerprint authentication. Will likely break that if disabled.",
"removal": "caution"
"description": "Fingerprint authentication not used by any app, maybe only china.\nTests temperature, debug, logs, fingerprint biometrics.",
"removal": "caution",
"suppress": "LabelSameAsId"
},
{
"id": "com.qualcomm.qti.callenhancement",
@ -1705,8 +1795,8 @@
{
"id": "com.qualcomm.qti.callfeaturessetting",
"label": "CallFeatureSetting",
"description": "Not mandatory according to some XDA users.\nMore info needed.",
"removal": "caution"
"description": "Hidden call forwarding, call waiting settings. Not available for users.",
"removal": "delete"
},
{
"id": "com.qualcomm.qti.cne",
@ -1724,6 +1814,13 @@
"description": "LTE Conferencing Service.",
"removal": "caution"
},
{
"id": "com.qualcomm.qti.devicestatisticsservice",
"label": "com.qualcomm.qti.devicestatisticsservice",
"description": "Device statistics service Statistics of the phone's usage: data, Wifi, battery, the use of various software, number of SMS and emails sent, etc.\nIt's not very useful, can be removed.",
"removal": "delete",
"suppress": "LabelSameAsId"
},
{
"id": "com.qualcomm.qti.dynamicddsservice",
"label": "com.qualcomm.qti.dynamicddsservice",
@ -1765,14 +1862,18 @@
"description": "Adreno Graphics Drivers\nGPU drivers",
"removal": "unsafe"
},
{
"id": "com.qualcomm.qti.improvetouch.service",
"label": "com.qualcomm.qti.improvetouch.service",
"description": "A improve touch things was found in the code, but it is not available to users, only to developers.\nThe size of the app is 36.40 KB, so why would this improve touch?\nThis app does not exist on some xiaomi phones, and the touch works the same.",
"removal": "caution",
"suppress": "LabelSameAsId"
},
{
"id": "com.qualcomm.qti.ims",
"label": "com.qualcomm.qti.ims",
"description": "IMS(Ip Multimedia Subsystem) is an open industry standard for voice and multimedia communications over packet-based IP networks (VoLTE/VoIP/Wifi calling).\nGuessing this could be the low-level Qualcomm implementation or interface that allows apps to use the VoLTE/VoIP/Wi-Fi calling functionality in apps like the dialer/phone app.\nCould allow seamless transfers of calls between 4G and Wi-Fi? I thought com.qualcomm.qti.cne did that content-agnostically, but maybe calls are different, or maybe the two packages use each other?",
"web": [
"https://www.qualcomm.com/news/releases/2015/03/02/qualcomm-powers-mobile-and-home-connectivity-innovations-mobile-world"
],
"removal": "caution",
"description": "Hidden IMS Settings activity not available for users.\nIn this app, you can only turn on this option: Auto reject incoming calls.",
"removal": "delete",
"suppress": "LabelSameAsId"
},
{
@ -1804,7 +1905,7 @@
{
"id": "com.qualcomm.qti.optinoverlay",
"label": "com.qualcomm.qti.optinoverlay",
"description": "Overlay for opting into something? Probably safe to disable?",
"description": "Useless frameworks for com.qualcomm.location.XT it's probably dialogues.\nAnyway it's only legal notices.",
"removal": "delete"
},
{
@ -1816,8 +1917,8 @@
{
"id": "com.qualcomm.qti.performancemode",
"label": "Performance Mode",
"description": "Runs on boot. Probably related to CPU/SoC performance profiles.\nOneplus 10 Pro has an option called \"High performance mode\" in Settings->Battery->Advanced, which has the description:\n\"The system always operates in a high performance mode, but it will increase power consumption.\"\nI'm guessing that option triggers this package. This is probably a feature on many Qualcomm chips, but I don't think all OEMs expose it in the settings.",
"removal": "caution"
"description": "Hidden Performance Mode activity not available for users.\nIt's on Xiaomi, OnePlus.\nRemoval does not brick performance mode.",
"removal": "delete"
},
{
"id": "com.qualcomm.qti.poweroffalarm",
@ -1830,6 +1931,12 @@
"description": "It have hidden power saving modes.\nUsers cant use it.",
"removal": "delete"
},
{
"id": "com.qualcomm.qti.qccauthmgr",
"label": "QCC-AUTHMGR",
"description": "It has something to with (com.qualcomm.qti.smq).\nFeedback stuff, something about key: blacklist, download or whatever. All of them look like telemetry, and it's all not available for users.",
"removal": "delete"
},
{
"id": "com.qualcomm.qti.qccnetstat",
"description": "useless network statistics also QCC in name qualcomm app is for analytics.",
@ -1838,8 +1945,8 @@
{
"id": "com.qualcomm.qti.qcolor",
"label": "QColor",
"description": "Something to do with colors?\nContains no services and I've never seen it run as a process. Only has one permission: CONTROL_DISPLAY_COLOR_TRANSFORMS\nProbably safe to disable; noticed no changes, but I also doubt there's any benefit to disabling it.",
"removal": "replace"
"description": "QTI enhanced color mode? I found a png file, color service, it's not needed for any apps.",
"removal": "delete"
},
{
"id": "com.qualcomm.qti.qcom_accesslogkit",
@ -1854,11 +1961,8 @@
{
"id": "com.qualcomm.qti.qdma",
"label": "QDMA",
"description": "QDMA = Quadrature-Division Multiple Access\nIt's a radio protocol combining CDMA and QPSK.\nQDMA is used for local area networks, usually wireless short-range such as WiMax.",
"web": [
"https://en.wikipedia.org/wiki/Quadrature-division_multiple_access"
],
"removal": "caution"
"description": "QDMA = Qualcomm Device Management and Analytics.\nA lot of data collections: logs, dropbox, network.",
"removal": "delete"
},
{
"id": "com.qualcomm.qti.qmmi",
@ -1891,6 +1995,13 @@
"description": "QMS always spying. Trust Zone in this app means nothing more than logs.",
"removal": "delete"
},
{
"id": "com.qualcomm.qti.qtisettings",
"label": "com.qualcomm.qti.qtisettings",
"description": "In code found getting info about device Ram Size, Rom Size, get Wifi Mac Address, is Settings Task Done.\nAlso in app found qtisystemservice code.\nIt looks like the app is for developers only, so it may be removed.",
"removal": "caution",
"suppress": "LabelSameAsId"
},
{
"id": "com.qualcomm.qti.qtisystemservice",
"label": "com.qualcomm.qti.qtisystemservice",
@ -1917,8 +2028,8 @@
{
"id": "com.qualcomm.qti.remoteSimlockAuth",
"label": "com.qualcomm.qti.remoteSimlockAuth",
"description": "Authentication for locking/unlocking eSIM remotely?",
"removal": "caution"
"description": "Enable you to lock/unlock your eSIM remotely.\nSeems more of a security risk to me than anything else.",
"removal": "delete"
},
{
"id": "com.qualcomm.qti.ridemodeaudio",
@ -1934,8 +2045,8 @@
{
"id": "com.qualcomm.qti.seccamservice",
"label": "SecCamService",
"description": "Stands for Secure Camera Service?\nSupposedly acts as a bridge between camera hardware and SoC. Seems like this package is what a Qualcomm SoC uses to access the camera hardware.\nWill probably break camera functionality if disabled.",
"removal": "caution"
"description": "Only collects data about camera.",
"removal": "delete"
},
{
"id": "com.qualcomm.qti.seemp.service",
@ -1952,6 +2063,24 @@
"description": "Only found dhcp range? Only the specified lists were found: 192.168. ...\nIt have a lot random of this.\nLooks very unused.",
"removal": "delete"
},
{
"id": "com.qualcomm.qti.services.secureui",
"label": "Secure UI Service",
"description": "It collects your data about screen:gravity, orientation, id, layout_width.\nIt has a Wifi Display Service. QC_WFD\nDoes not run in the background.",
"removal": "delete"
},
{
"id": "com.qualcomm.qti.services.systemhelper",
"label": "System Helper Service",
"description": "Runs \"SysHelperService\" in the background as part of the system.\nPermissions: DEVICE_POWER, READ_PHONE_STATE, READ_PRIVILEGED_PHONE_STATE, RECEIVE_BOOT_COMPLETED, WRITE_SETTINGS, WAKE_LOCK and ACCESS_SURFACE_FLINGER.\nAndroid simple network firewall utility service. On a RedMi Note 13 running HyperOS 2.6.0, no application is running after uninstalling this package.",
"removal": "caution"
},
{
"id": "com.qualcomm.qti.simcontacts",
"label": "SimContacts",
"description": "Hidden Qualcomm sim contacts editor app.",
"removal": "delete"
},
{
"id": "com.qualcomm.qti.simsettings",
"label": "com.qualcomm.qti.simsettings",
@ -1983,15 +2112,6 @@
"description": "Sound processing during phonecalls.\nRuns in the background.\nVital package for making calls.",
"removal": "unsafe"
},
{
"id": "com.qualcomm.qti.uceShimService",
"label": "uceShimService",
"description": "UCE shim service\nUCE = User Capability Exchange. A shim is basically a compatibility layer for an API, that makes sure anything that uses the API does so correctly.\nUsed for RCS. Provides a discovery service for users to see the capabilities of other users.\nUCE is based on SIP PUBLISH and SIP SUBSCRIBE/NOTIFY.\nDevices PUBLISH their capabilities to a presence server, when another device wants to find out what the other party supports, the device sends a SUBSCRIBE to the presence server which then returns a NOTIFY of what the other party supports.",
"web": [
"https://fr.wikipedia.org/wiki/Session_Initiation_Protocol"
],
"removal": "replace"
},
{
"id": "com.qualcomm.qti.uceshimservice",
"label": "uceShimService",
@ -2011,14 +2131,27 @@
{
"id": "com.qualcomm.qti.uimGbaApp",
"label": "com.qualcomm.qti.uimGbaApp",
"description": "Contains a \"GbaService\", but I've never seen it run.\nRelated to SIM/R-UIM functionality? (R-UIM is a type of SIM card mainly used in Asia)",
"removal": "replace"
"description": "Contains a \"GbaService\", related to uim card (R-UIM is a type of SIM card mainly used in Asia)",
"removal": "delete"
},
{
"id": "com.qualcomm.qti.workloadclassifier",
"label": "com.qualcomm.qti.workloadclassifier",
"description": "Runs \"WLCService\" in the background.\nI assume this has to do with CPU scheduling. Probably important for efficiency, if not basic operation.\nIt's for performance and security? It categorizes apps maybe for optimization.\nit's named workloadclassifier so it should do that. Reads the list of installed applications, storage space.\nit's still unknown.",
"removal": "caution",
"suppress": "LabelSameAsId"
},
{
"id": "com.qualcomm.qti.xrcb",
"description": "Receive xrcb network signals for radio side. \nit's about emergency alerts, weather alerts, public announcements, and other information.",
"removal": "delete"
},
{
"id": "com.qualcomm.qti.xrvd.service",
"label": "XRVD",
"description": "The real name of this app is XRVDTest. It has accessibility testing,\nCollects some data? It's something for developers probably.",
"removal": "delete"
},
{
"id": "com.qualcomm.qtil.aptxacu",
"description": "Hidden aptxals Audio Bluetooth sample improvement. Useless 96kHz sample.",
@ -2027,21 +2160,22 @@
{
"id": "com.qualcomm.qtil.aptxals",
"label": "com.qualcomm.qtil.aptxals",
"description": "Something to do with the AptX bluetooh audio streaming codec?\nRuns in the background as part of the system.",
"removal": "caution",
"description": "Hidden aptxals Audio Bluetooth sample improvement test.",
"removal": "delete",
"suppress": "LabelSameAsId"
},
{
"id": "com.qualcomm.qtil.aptxalsOverlay",
"label": "com.qualcomm.qtil.aptxalsOverlay",
"description": "com.qualcomm.qtil.aptxalsOverlay Theme pack\nGuessing it's a pack of themes for aptxalsOverlay, based on the name.",
"removal": "caution"
"description": "Overlay for hidden aptxals Audio Bluetooth sample improvement. Useless 96kHz sample.",
"removal": "delete",
"suppress": "LabelSameAsId"
},
{
"id": "com.qualcomm.qtil.aptxui",
"label": "Bluetooth",
"description": "Something to do with selecting codec for bluetooh audio streaming?\nRuns in the background as part of the system.",
"removal": "caution"
"description": "Hidden aptxals Audio Bluetooth sample improvement. Useless 96kHz sample.",
"removal": "delete"
},
{
"id": "com.qualcomm.qtil.btdsda",
@ -2062,33 +2196,36 @@
{
"id": "com.qualcomm.svi",
"label": "Sunlight Visibility Improvement",
"description": "I've heard vaguely that some phones use it for the above purpose? On a LG Q6 there was no effect on functionality after removing.",
"removal": "replace"
"description": "SVI Settings. Hidden display enhancement colors not available to users.",
"removal": "delete"
},
{
"id": "com.qualcomm.timeservice",
"label": "Qualcomm Time Service",
"description": "Occasionally runs in the background.\nCould be what syncs the CPU clock with Android time?\nProbably not something you want to disable.",
"description": "Updates time-services user time offset when user changes time of the day and Android sends a TIME_CHANGED or DATE_CHANGED intents.\nTime-services restores the time of the day after reboot.",
"web": [
"https://github.com/bcyj/android_tools_leeco_msm8996/blob/master/time-services/src/com/qualcomm/timeservice/TimeServiceBroadcastReceiver.java"
],
"removal": "caution"
},
{
"id": "com.qualcomm.uimremoteclient",
"label": "com.qualcomm.uimremoteclient",
"description": "Contains a service by the same name, but I've never seen it run.\nRelated to SIM/R-UIM functionality? (R-UIM is a type of SIM card mainly used in Asia)",
"removal": "caution",
"description": "Related to uim card (R-UIM is a type of SIM card mainly used in Asia)",
"removal": "delete",
"suppress": "LabelSameAsId"
},
{
"id": "com.qualcomm.uimremoteserver",
"label": "com.qualcomm.uimremoteserver",
"description": "Contains a service by the same name, but I've never seen it run.\nRelated to SIM/R-UIM functionality? (R-UIM is a type of SIM card mainly used in Asia)",
"removal": "caution",
"description": "Related to uim card (R-UIM is a type of SIM card mainly used in Asia)",
"removal": "delete",
"suppress": "LabelSameAsId"
},
{
"id": "com.qualcomm.wfd.service",
"label": "Wfd Service",
"description": "Provides a way to cast your screen to a TV (Miracast)",
"description": "Provides a way to cast your screen to a TV (Miracast). Or is it WiFi Direct?",
"web": [
"https://en.wikipedia.org/wiki/Miracast"
],
@ -2433,8 +2570,9 @@
{
"id": "com.touchtype.swiftkey",
"label": "Swiftkey",
"description": "Keyboard app by TouchType, a Microsoft subsidiary (https://en.wikipedia.org/wiki/SwiftKey)\n4 Trackers + 11 Permissions",
"description": "Keyboard app by TouchType, a Microsoft subsidiary.\n4 Trackers + 11 Permissions",
"web": [
"https://en.wikipedia.org/wiki/SwiftKey",
"https://play.google.com/store/apps/details?id=com.touchtype.swiftkey",
"https://reports.exodus-privacy.eu.org/en/reports/com.touchtype.swiftkey/latest/"
],
@ -2882,6 +3020,11 @@
"description": "IMS(Ip Multimedia Subsystem) is an open industry standard for voice and multimedia communications over packet-based IP networks (VoLTE/VoIP/Wifi calling). Also have RCS.",
"removal": "caution"
},
{
"id": "vendor.qti.iwlan",
"description": "Used for VoLTE/VoWifi (Wifi-calling)\nIwLAN = Interworking wLAN.\nSupport for mobile data offloading (use of complementary network technologies for delivering data originally targeted for cellular networks)\nIt means your phone will use the Wi-Fi connection instead of the cellular data connection.\nhttps://en.wikipedia.org/wiki/Mobile_data_offloading",
"removal": "caution"
},
{
"id": "vendor.qti.qesdk.sysservice",
"description": "It's for debugging and logs. But in the code I see VDebug. Vivo probably uses Qualcomm for some features.",

1440
oem.json

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,39 +1,64 @@
<?php
/* SPDX-License-Identifier: AGPL-3.0-or-later */
const LAST_COMMIT = "11f27c671cba278d71296cdef4c5a5dba06add5e";
const THIS_COMMIT = "11f27c671cba278d71296cdef4c5a5dba06add5e";
const LAST_COMMIT = "f6e86fc5d7fb180535251925141e92ad2c47f356";
const THIS_COMMIT = "52b78a99b49c2de52858f6a96782f17fb8a94c4c";
const REPO_DIR = __DIR__ . "/..";
const LINT_DIR = REPO_DIR . "/build";
const COLOR_RED = 31;
const COLOR_GREEN = 32;
function get_link(string $commit_hash): string {
return "https://raw.githubusercontent.com/0x192/universal-android-debloater/$commit_hash/resources/assets/uad_lists.json";
return "https://raw.githubusercontent.com/Universal-Debloater-Alliance/universal-android-debloater-next-generation/$commit_hash/resources/assets/uad_lists.json";
}
function convert_to_old(array $list): array {
// New array use "id" as key, need to replace it with "id" again
$new_list = [];
foreach($list as $id => $item) {
$item['id'] = $id;
$new_list[] = $item;
}
return $new_list;
}
$old_list_link = get_link(LAST_COMMIT);
$new_list_link = get_link(THIS_COMMIT);
if ($old_list_link == $new_list_link) {
echo "Already up-to-date.\n";
exit(0);
}
$old_list = json_decode(file_get_contents($old_list_link), true);
$new_list = json_decode(file_get_contents($new_list_link), true);
$new_list = convert_to_old(json_decode(file_get_contents($new_list_link), true));
$id_list = explode("\n", file_get_contents(LINT_DIR . '/ids.txt'));
$new_items = [
"aosp" => [],
"carrier" => [],
"google" => [],
"misc"=> [],
"oem"=> [],
"pending"=> [],
];
// Iterate over the new list to find changes w.r.t old list. Delete the matched item from the old list
foreach ($new_list as $item) {
if ($item['removal'] == 'Unsafe') {
// Exclude Unsafe items
$old_item = find_in_old_list($item['id']);
if (!in_array($item['id'], $id_list)) {
// This is a new item
// print("\e[32m+{\e[0m\n");
// foreach ($item as $key => $value) {
// print_diff($key, $value, COLOR_GREEN);
// }
// print("\e[32m+}\e[0m\n");
$new_items[strtolower($item['list'])][] = $item;
continue;
}
$old_item = find_in_old_list($item['id']);
if ($item != $old_item) {
if ($old_item != null && $item != $old_item) {
// Two arrays aren't the same, check one by one and print values
print(" {\n");
foreach ($item as $key => $value) {
if ($value != $old_item[$key]) {
if (!isset($old_item[$key])) {
// New item
print_diff($key, $value, COLOR_GREEN);
} else if ($value != $old_item[$key]) {
// These values aren't the same
// Print diff
print_diff($key, $old_item[$key], COLOR_RED);
@ -43,24 +68,51 @@ foreach ($new_list as $item) {
print_diff($key, $value, null);
}
}
// Print any outstanding items
foreach ($old_item as $key => $value) {
if (!isset($item[$key])) {
print_diff($key, $value, COLOR_RED);
}
}
print(" }\n");
}
}
// The remaining items in the old list are removed
foreach ($old_list as $item) {
if ($item['removal'] == 'Unsafe') {
// Exclude Unsafe items
continue;
}
// List this item as removed item.
print("\e[31m-{\e[0m\n");
foreach ($item as $key => $value) {
print_diff($key, $value, null);
print_diff($key, $value, COLOR_RED);
}
print("\e[31m-}\e[0m\n");
}
// Update list with new items
foreach (scandir(REPO_DIR) as $filename) {
if (!str_ends_with($filename, ".json")) {
continue;
}
$type = substr($filename, 0, -5);
// Load old items
$file = REPO_DIR . '/' . $filename;
try {
$list = json_decode(file_get_contents($file), true, 512, JSON_THROW_ON_ERROR);
} catch (JsonException $e) {
fprintf(STDERR, "Unable to parse %s: %s\n", $filename, $e->getMessage());
continue;
}
// Add new items
foreach ($new_items[$type] as $item) {
$list[] = get_adl_formatted_item($item);
}
// Sort items
usort($list, function ($o1, $o2) {
return $o1['id'] <=> $o2['id'];
});
file_put_contents($file, json_encode($list, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT));
}
exit(0);
function print_diff(string $key, string|array|null $value, ?int $color): void {
@ -78,16 +130,18 @@ function print_diff(string $key, string|array|null $value, ?int $color): void {
$color_end = '';
}
if ($value == null) {
printf("$symbol$color_begin $key: null,$color_end");
printf("$symbol$color_begin \"$key\": null,$color_end");
} else if (is_string($value)) {
printf("$symbol$color_begin $key: $value,$color_end");
$value = str_replace("\n", "\\n", $value);
print("$symbol$color_begin \"$key\": \"$value\",$color_end");
} else if (is_array($value)) {
printf("$symbol$color_begin $key: [$color_end");
printf("$symbol$color_begin \"$key\": [$color_end\n");
foreach ($value as $item) {
printf("$symbol$color_begin $item,$color_end");
printf("$symbol$color_begin \"$item\",$color_end\n");
}
printf("$symbol$color_begin ],$color_end");
}
printf("\n");
}
function find_in_old_list(string $id): ?array {
@ -106,6 +160,7 @@ function find_in_old_list(string $id): ?array {
function get_removal(string $uad_removal): string {
switch ($uad_removal) {
default:
fprintf(STDERR, "Warning: Invalid removal: " . $uad_removal . "\n");
case "Recommended":
return "delete";
case "Advanced":
@ -116,3 +171,22 @@ function get_removal(string $uad_removal): string {
return "unsafe";
}
}
function get_adl_formatted_item(array $uad_item): array {
$id = $uad_item["id"];
$description = $uad_item["description"];
$dependencies = $uad_item["dependencies"];
$required_by = $uad_item["neededBy"];
$removal = get_removal($uad_item["removal"]);
$item = [];
$item["id"] = $id;
$item["description"] = $description;
if (!empty($dependencies) && count($dependencies) > 0) {
$item["dependencies"] = $dependencies;
}
if (!empty($required_by) && count($required_by) > 0) {
$item["required_by"] = $required_by;
}
$item['removal'] = $removal;
return $item;
}