Skip to content

Releases: MuntashirAkon/AppManager

App Manager v4.0.0-beta02

14 Nov 08:30
Compare
Choose a tag to compare
Pre-release

Private messages should be emailed to am4android@riseup.net. Emails sent to any other email addresses shall be discarded.

  • Added full support for Android 14-r29 and later

App Details page

  • [App Info] Added a new tag: Sensors disabled
    System may misreport this permission. The best way to check if sensors are indeed disabled is by opening the app first and then visiting the App Info tab leaving the other app running in the background.
  • [App Info] Added option to enable/disable sensors
  • [App Info] Display detailed installer info
    An info button is added next to the installer which displays the installer, the actual installer (AKA initiator), and the APK source (originator). Clicking on each item opens the corresponding App Details page. It also fixed displaying the installer app in certain devices.
  • [App Info] Use the configured naming format when sharing an APK(S)
  • Display blocking method in the components tabs
    IFW+Dis = The component is blocked using both IFW and disable
    IFW = The component is blocked using IFW
    Dis = The component is disabled.
  • Hide “Data usage” for apps without the internet permission
  • Disabled “IFW” and “IFW+Disable” in the providers tab
    In Rules settings, the description for “Default blocking method” was also updated with a note that says IFW feature does not work with providers, “disable” is used for them instead.
  • Fixed applying IFW method in the components tabs
    Fixed applying IFW rules if the previous rules were “IFW+Disable” or “Disable”.

App Usage page

  • Improve the usage time calculation method
    The usage events returned by the UsageStatsManager were assumed to be in order of their timestamp which does not seem to be true and resulted in missing a few events due to the standard calculation method, that is, calculating the time difference between activity resume and pause timestamps. In addition, it appears that the system may log activity stop timestamp without logging any pause timestamp (a typical activity cycle would be resume → pause → stop → resume → …) causing further miss of events. These issues were addressed by sorting the events in order of their timestamp as well as measure the time difference between resume and stop timestamps instead of resume and pause timestamps.
  • Fixed the “times opened” value
    In order to calculate a more reliable number of times an app was opened, the time difference between each activity opening and closing are now relaxed. So, when the user navigates to another activity from an activity belonging to the same app and the time difference is less than 500 ms, the time difference is added to the total usage time. This calculation is technically more precise than the system's own open count because certain navigation involves the use of system UI (e.g., the arrow in the gesture navigation is emitted from the System UI app and should be considered as such) which are ignored. However, the issues with choosing 500 ms (half of a second) time difference are as follows:
    1. Due to an user waiting a long time to trigger the back gesture or simply bad coding, an app may take more than this time to open an activity which will cause them to be listed as two accesses.
    2. Some apps support multiple windows. If the user opens another activity in a new window shortly after opening the first activity, the two accesses may be counted as one instead of two.
    These events are considered extraordinary and can be negligible in a real-life setting.

Backup/restore

  • Improved handling custom users in backups
    - Properly handle backup/restore for a single app. “Custom users” in the backup options is displayed only if the app is installed for multiple users. Similarly, cross-user restore is supported via the “Custom users” option. In addition, fixed issues causing the backup or restore to be performed for the wrong users.
    - Unless the “Custom users” option is selected, backup or restore is made only for the current user in the batch selection mode. Others retain the old behaviour. For example, in the batch selection mode, restore is only made with the “base” backup which is defined to be the primary backup for the current user. So, if “Custom users” option is selected for restore operation, App Manager will try to find the base backup of each selected user and restore those for that user.
    These behaviours are applied throughout the app to reduce complexity and remove any ambiguous behaviour.
  • Fixed creating custom backups
    When custom backups are enabled but the backup name is empty, create a custom backup with the current date and time instead of creating a base backup.
  • Fixed the “cache” “no cache” confusion in the backup flags selection dialog
    The “No cache” flag was replaced by the “cache” flag, but the translations still use the former. So, the string ID is altered to invalidate the translations.

DexOpt

  • Set default compiler filter from the pm.dexopt.install property
  • Fixed applying force dexopt in Android 14
    These fixes may not work for every device. A novel approach is needed to reduce the complexity as well as put an end to the cat-and-mouse game.

File Manager

  • Fixed remembering scroll position during navigation

Installer

  • Accelerate the installation process in Android 12 onwards when possible
    If an app is being installed in the foreground, App Manager will try to accelerate the installation process by delaying various post-installation tasks carried out by the system services.

  • Properly handle the originating URI extra supplied by third-party apps via Intent.EXTRA_ORIGINATING_URI

  • Set originating package in Android 7 onwards
    The originating package is automatically determined from the Intent sent from the third-party apps. However, the determination logic may not always work, but it was ensured that there will not be any false positives, e.g., no spoofing can be done by a third-party app.

  • Set package source to PACKAGE_SOURCE_OTHER by default in Android 13 onwards
    This is done to prevent the system from applying various accessibility restrictions to the app. However, PACKAGE_SOURCE_STORE is set by default if the originating package is one of the supported app stores. At present, the supported app stores are: Aurora Store, Droid-ify, F-Droid, F-Droid Basic, F-Droid Classic and Neo Store. It is up to the developers to ensure that they send the APK installation requests in a proper way, i.e., by utilizing features such as startActivityForResult whenever possible.

Interceptor

  • Intercept SAF, dialer, gallery, search, music player, and WhatsApp URLs

Main page

  • [Batch Ops] Added option to export app list as CSV and JSON
  • Display restore dialog for uninstalled apps with backups
    Instead of displaying “App not installed” toast for the uninstalled apps with backups, open the restore dialog instead when clicking on such an item in the Main page.
  • Fixed retrieving applications when there are too many applications installed on the device

Profiles page

  • Display app op names instead of number in the profiles page

Settings page

  • Added support for pure black theme
  • Added a fallback server runner command from DE storage
    Added a fallback server runner command in case SD card is inaccessible from the UID from which the script is being run. This leverages the device encrypted storage (data_de) by making certain folder and files globally accessible.
  • Fixed displaying custom commands in the mode of ops page
  • Fixed the title for the Mode of Ops settings page

UI Tracker

  • Display current activity name when possible
    In addition to displaying the class name and its hierarchies, the window will display the activity name if there's is an activity (not all windows are activities). This requires the usage stats permission which is enforced here even if it's disabled in the settings. This is because this feature is meant to be used as a useful tool separated from the rest of the app, but with some level of integration.
  • Fixed freezing issues in certain devices (e.g., Samsung)

Others

  • Allow opening an application in Android TV as well as for other users
    This feature does not work in the installation completion dialog or notification.
  • Allow the remote server to run under any privileged UID
  • Made notification permission optional
    Although denying notification permission will render many features useless, it is made optional for those who insists on denying it. However, the permission shall still be asked everytime the app is launched until it times out.
  • Updated documentation to reflect latest changes
    In addition, Oxygen OS specific ADB instructions were added.
  • Fixed changing permissions in Android 14-r50 and later
  • Fixed deleting the cached application after the installation attempt fails
  • Fixed delivering changes made via batch operations
  • Fixed issues with executing automated tasks from the third-party applications
  • Fixed suspending packages in Android 14-r29 onwards
  • Hide Code Editor if it's disabled in settings

Full Changelog: v4.0.0-beta01...v4.0.0-beta02

App Manager v3.1.7 Stable

10 Jul 18:09
Compare
Choose a tag to compare

The email address has been changed to am4android@riseup.net. App Manager related queries
sent to the previous email shall be discarded.

  • Hid “Data usage” in the App Info tab for apps without the internet permission
  • Intercept newer photo viewer actions from the camera app
  • Fixed creating custom backups when the backup name is empty
  • Fixed freezing issues in the UI Tracker window on some devices
  • Fixed delivering changes in apps made via batch operations
  • Fixed freezing the app due to the refusal of the notification permission at the startup
    Notification permission is mandatory on phones and tabs. Without this permission, you will not be able to use certain features.
  • Fixed listing running apps on some devices
  • Prevented the app from crashing in Android 14 r50
  • Prevented the app from crashing when force dexopt is selected in Android 14 onwards
    The feature was removed in Android 14.

Full list of changes: v3.1.6...v3.1.7

App Manager v3.1.6 Stable

21 Apr 11:12
Compare
Choose a tag to compare
  • Funding campaign dates have been updated as this is going to be the last campaign in many years.
  • [Security] Update vulnerable dependencies

Full list of changes: v3.1.5...v3.1.6

App Manager v4.0.0-beta01

20 Apr 07:33
Compare
Choose a tag to compare
Pre-release

Funding campaign dates have been updated as this is going to be the last campaign in many years.
If you're running ADB, you may need to restart your device first.

  • Added full support for Android 14
    - Fixed compatibility issues
    - Support installing apps that targets SDK 22 or earlier (privileged mode only)
  • [Experimental] Use outlines for color codes

App Details page

  • Allowed launching non-exported activities in no-root/ADB mode
    The “Search assistant” (usually set to Google Assistant) feature allows setting arbitrary activity via the assistant key-value pair stored in the secure settings database. Hence, non-exported (that is, app private) activities can be launched even in no-root mode by exploiting this feature. However, modifying a secure setting require android.permission.WRITE_SECURE_SETTINGS permission which is granted automatically in ADB mode and has to be granted manually in no-root mode via ADB.

App Manager also cannot trigger the assistant on its own in the no-root mode, because it doesn't have enough permissions (it requires android.permission.INEJECT_EVENTS permission which cannot be granted to the user applications). Activity shortcuts also use this feature when they cannot be launched in privileged mode.

App Usage page

  • Make the combo-box static on top

App Info tab

  • Fixed handling multiple users in no-root mode
  • Fixed listing granted URIs
  • Prevent crashes in tablets running buggy GSI firmware

Code Editor

  • Prevented the editor from crashing if it is restarted from Recents

Installer

  • Enabled installing system apps with a different signature
    The “Install only” button is enabled for system apps when the signatures are different. This is useful for only those who have disabled signature verification using methods, such as CorePatch.

Log Viewer

  • Added a batch option to copy the selected logs
  • Changed list selection modes.
    1. Normal mode
    - Click: expand/collapse text
    - Long click: Open context menu
    2. Selection mode
    - Click: Select clicked item
    - Long click: Select items between the last selected item to the clicked item if possible. Otherwise, only click the item.

Main page

  • Avoided reopening the keyboard while searching is active, but the keyboard was closed manually
  • [Batch Ops] Fixed saving some APK files due to naming issues

Profiles

  • Fixed applying profiles
  • Fixed loading label after refreshing the app list

Running Apps page

  • Refresh running apps every 10 seconds

Scanner page

  • Fixed scanning using VirusTotal

Settings

  • [Experimental] Initial support for custom command
  • Avoided auto-detecting ADB port number if Wi-Fi is inactive
  • Display ADB pairing dialog directly when a pairing may be required
  • Improved auto-connecting to ADB
    - When mode is set to auto, instead of checking the active ADB host and port first, the status of the ADB daemon is checked
    - When mode is set to “Wireless debugging”, developer settings and wireless debugging are enabled automatically before attempting any connections. This requires:
    1. android.permission.WRITE_SECURE_SETTINGS to be granted to App Manager, OR
    2. App Manager connected via root or ADB at least once (in which case, the permission above is granted automatically)
    - Attempt to fetch the current port for ADB over TCP via service.adb.tcp.port property instead of using the default 5555 port or the previously saved value.
  • Pair ADB via notification
  • Improved preferences and dialogs
    - Added a dedicated page for VirusTotal
    - Added a dedicated page for mode of operations
    - Moved “Use the Internet” to Privacy settings
    - Added feature toggler for Log Viewer and Installer
    - Display build expiry and funding campaign notices only in the main settings
    - Replace “Remove all rules” with a primary button
    - Input boxes are focused by default
    - For numeric inputs, only the numeric keyboard is displayed
    - Input texts aren't added to the user suggestions.
  • Avoided displaying “Imported” for Watt and Blocker when nothing is selected
  • Check if the selected directory is actually a directory before attempting to import a backup
  • Fixed displaying wireless debugging options when App Manager is unable to enable Wireless Debugging.

UI

  • Draw activities around the display cutouts
  • Tint combo-boxes in primary container color to match Android 12+ styles
  • Used circular progress for initialization
  • Fixed styling some popup menus.

Others

  • Added more network policies from Motorola devices.
    - POLICY_REJECT_METERED
    - POLICY_REJECT_BACKGROUND
    - POLICY_REJECT_ALL
  • Automatically grant usage stats permission in privileged mode
    The feature, as usual, can be disabled in settings.
  • Enabled creating activity shortcuts for other users
  • Avoided fetching packages for other users if there's no permission to do so
  • Fixed blocking components in Android 14
  • Fixed blocking providers when only IFW is set
    Intent Firewall (IFW) does not support blocking providers. So, when IFW-only mode was enabled, it tried to apply only the IFW rules which resulted in the providers remaining unblocked. From now on, the providers are blocked via “disable” option.
  • Fixed launching remote services in OnePlus devices
  • Fixed retrieving the list of packages in some devices
  • Fixed retrieving and updating permission flags in Android 12 onwards

Full list of changes: v4.0.0-alpha02...v4.0.0-beta01

App Manager v3.1.5 Stable

19 Mar 17:25
Compare
Choose a tag to compare
  • Check if the selected item is a directory before importing backups
  • Fixed disabling components in Android 14
  • Fixed retrieving and updating permission flags in Android 12 onwards
  • Prevented the Log Viewer page from crashing on device configuration changes

Full Changelog: v3.1.4...v3.1.5

App Manager v3.1.4 Stable

24 Dec 08:43
Compare
Choose a tag to compare
  • Fixed an intermittent crash in the App Info tab
  • Fixed disabling components in Android 14

Full Changelog: v3.1.3...v3.1.4

App Manager v3.1.3 Stable

04 Oct 08:44
Compare
Choose a tag to compare
  • Avoided displaying “Imported” message when no file is selected during importing rules from Watt or Blocker
  • Avoided fetching app list for other users if there's not enough permission
  • Fixed a typo in German strings
  • Fixed installing apps for users other than the main user in no-root mode
  • Fixed loading the list of packages in some devices
  • Prevented the app from crashing when filename returned by SAF is null (empty)
  • Skipped loading usage for uninstalled packages

Full Changelog: v3.1.2...v3.1.3

App Manager v4.0.0-alpha02

19 Sep 04:17
Compare
Choose a tag to compare
Pre-release

For contributors: Building App Manager now requires Java 17 (or later).

Main page

  • [Batch ops] Added an option to create a new profile in the “Add to profile” dialog
  • [Batch ops] Fixed saving APKS with dependencies

App Details page

  • Improved loading performance
  • Fixed setting mode for some app ops
    In the app ops tab, the toggle button as well as the long click options attempts to alter the associated permission too if it exists. To bypass this behaviour, use “Set custom app op” from the three-dots menu instead.

App Info tab

  • Added an option to create a new profile in the “Add to profile” dialog
  • Improved performance by loading UI contents in the background
  • Hide data usage for other users
    Data usage section is hidden if the following conditions are true:
    1. OS is Android 6.0 onwards
    2. The app does not belong to the current user, and
    3. Self or remote UID is not system UID.
  • Fixed displaying wrong information regarding blocked trackers
  • Prevented the app from crashing on attempting to enable battery optimisation of restricted apps
    Battery optimisation cannot be enabled for system restricted apps.

Debloater

  • Display a loader in details dialog to avoid freezing issues

Editor

  • Check if the file is writable during “Save and exit”
  • Prevented erroneous display of “Read only” warning for files that support writing

File Manager

  • Display “Loading...” as the subtitle instead of showing previous folder info
  • Display only the filename in the “Open with…” dialog
  • Display progress for batch rename, delete and paste operations
  • Improved listing files in a directory, especially Storage Access Framework (SAF)
  • Fixed displaying search bar in the “Open with…” dialog
  • Fixed retrieving files if a folder contains thousands of files
  • Prevented looping indefinitely when an inaccessible file is a symbolic link

Installer

  • Fixed installing APK files queued in the background
  • Fixed installing some signed APK files
    Some signed APKs could not be installed due size mismatch.

Interceptor

  • Added a few intent filters related to camera

Profile page

  • Added an option to copy profile ID
  • Display exit confirmation dialog if there are unsaved changes
  • Display previously selected apps on top of the app list
  • Display warning before deleting a profile
  • Avoid creating duplicate profiles by auto-renaming the newly-created profile
  • Fixed displaying backup options in configurations tab

Profiles page

  • Added an option to copy profile ID
  • Use profile ID instead of profile name for identifying each profile
    In profile version 1, there's no difference between profile name and profile ID. But from profile version 2, a new field id shall be introduced which will be decoupled profile name from its ID, making it possible to use any name for profile or rename it. If you use automation, make sure to use profile ID instead of profile name.
  • Auto-select the configured profile state in “Apply profile” dialog
  • Handled applying multiple profiles using a queue
  • Moved shortcut handling logic to a different activity
    To avoid opening existing tasks from Recents, shortcuts are handled in a separate task.
  • Optimised updating new or modified profile information

Running Apps page

  • Fixed listing processes when some PIDs no longer exist

Security

  • Check for zip-slip vulnerability before creating a folder or a symbolic link
  • Disabled access to content:// in WebView
  • Sanitize user inputs, intents when it involves files and filenames
  • Use formatted string for logging to prevent log injections

Settings

  • Fixed navigating one step back after a device configuration is changed

UI Tracker

  • Added the ability to drag the icon when iconified
  • Added the ability to drag the window outside the visible display
  • Used 60% transparent window

Usage

  • Fixed retrieving mobile data usage in Android 12 and earlier

Others

  • Enabled fast scrolling in the user manual page
  • Use definite mode of operation
    When the mode of operation is set to auto, App Manager will attempt to find the best mode and set it as the current mode instead of “Auto” in order to improve the startup time as well as allow stable access of service via upcoming App Manager SDK.
  • Use marquee texts in suggestions/dropdown menu
  • Use wakelocks in long-running tasks to keep the CPU awake
  • Fixed retrieving list of packages in some devices
  • Fixed uploading APK files to VirusTotal
  • Made setting UID/GID optional while extracting a tar archive
  • Prevented the app from crashing due to forceDexOpt failing in Android 12
    In Android 12, forceDexOpt always fails due to a bug in the Android framework. As a workaround, the optimisation is done via performDexOptMode imitating whatever forceDexOpt does.

Full Changelog: v4.0.0-alpha01...v4.0.0-alpha02

App Manager v3.1.2 Stable

19 Sep 10:46
Compare
Choose a tag to compare

App Manager is now on Matrix!

  • [App Info] Hide data usage for other users
  • [ADB] Fixed clicking the links in the “Incomplete USB debugging” dialog
  • [Installer] Fixed installing some signed APK files
  • [Docs] Fixed links to App Manager settings page
  • [Installer] Fixed parsing unsigned APK files
  • [Settings] Fixed navigating one step back after a device configuration is changed
  • [Settings] Fixed saving a backup option: Cache
  • [Batch Ops] Fixed saving APKS with dependencies
  • Enabled fast scrolling in the user manual page
  • Fixed extracting tar archives in a volume with no support for permissions, UID and/or GID
  • Fixed navigating one step back after a device configuration is changed
  • Prevented crashes in Android 14

Full Changelog: v3.1.1...v3.1.2

App Manager v4.0.0-alpha01

18 Jul 09:12
Compare
Choose a tag to compare
Pre-release

Due to the massive number of changes, v3.2.x is skipped in favour of v4.0.0. For the same reason the release notes
provided here are incomplete as only the most useful ones are noted.

App Manager is now on Matrix!

App Info

  • Added a new tag: Bloatware
    Clicking on the tag opens a dialog containing description, dependencies, alternatives, etc. like in the Debloater page described below.
  • Added a new tag: Xposed
    Clicking on the tag opens a dialog with more details:
    1. Module name
    2. Description
    3. Type of module (modern or legacy)
    4. Xposed API dependency info
    5. Scope (if available statically).
  • List SAF files and directories in a user-friendly manner
    Instead of a raw representation of the granted URI, display authority, type of file or folder, and the file or folder itself in a meaningful way. It also attempts to retrieve the original file path when possible.

Backup/Restore

  • Display backup extras and rules in no-root mode

Debloater

  • Display bloatware details on clicking on an item
    Current the following information are displayed with visual enhancements:
    • App icon (valid only when the app is installed)
    • App label
    • Package name
    • App info button (if the app is installed)
    • Tags (list type and removal type for now)
    • Warning (if exists)
    • Description with references
    • Dependencies
    • Suggestions/alternatives.
  • App list is now taken from android-debloat-list
    android-debloat-list is a new project aimed at improving debloating experience by listing the details in a more structured way and list potential alternatives of the bloatware with usability and reproducibility in mind.

Docs

  • Fixed App Manager links in the docs

Editor

  • Enabled editing files via Code Editor from third-party applications
  • Enabled editing AXML (Android APK's binary XML format) files
  • Improved memory usage during loading or saving a file
  • Fixed clearing texts on configuration changes
  • Fixed writing to files that were managed by ContentProvider

Explorer

  • Avoided decoding AXML files
    Decoding should be done by code editors, not explorers.

Files

  • Added a floating action button to create new files, folders and links
    It allows creating a few blank documents. They include: text files, PDF, documents (docx/odt), sheet (xlsx/ods), presentation (pptx, odp) and SQLite3 database.
  • Added intent-filters that allows opening folders from third-party apps
  • Display path navigation on top
    Using the path navigation, it is possible to navigate to any parent folders quite easily, or navigate to any arbitrary location using the “Edit” or “Go to” button.
    Long clicking on any path also displays a popup menu which can be used to copy the path, open it in a new window or view properties.
  • Display thumbnails for supported files
  • Implemented all the unimplemented features in popup menus
    Implemented copy- and cut-paste options, shortcut creation, multiple selection options such as batch renaming, deletion, cut/copying and sharing. Note that copy and paste options are experimental and should be handled with care.
  • Implemented settings for file manager
    Added option to set home directory, remember last opened folder and position, and whether to display the file manager as “Files” in the app drawer like a regular app.
  • Added searching in the “Open with” dialog
  • Added support for SAF/tree URIs
    SAF access is currently very slow and its usage isn't recommended if there are a lot of files in the folder.
  • Display folder info (size, file count, etc.) as a subtitle
  • Display helpful messages when a folder is empty, non-existent or invalid
  • Implemented modification of access and modification dates, permissions, UID/GID and SELinux context in the properties dialog
  • Open resolved symbolic link instead of the link itself
  • Remember the selection locations for past opened folders in a session
  • Use file overlays to display directories inaccessible in no-root mode

Installer

  • Added an option to perform DEX optimisation immediately after installing an app
  • Added the ability to modify installer options before installing an app
    In the installation dialog, clicking on the settings/cog icon opens a new dialog where the installer options can be temporarily set for the session. Any items queued for the session will retain those temporary options.
  • Display installation progress in the notification
    In some devices such as Samsung, it takes an indefinite amount of time to verify the app after copying the APK files. For those cases, the progress won't be accurate as it only takes into account the amount of time to copy the files.
  • Display “Confirm install” notification even if the app is running in foreground
    In no-root mode, when the app is running in foreground, the user may accidentally dismiss the install-confirmation dialog produced by the Android package installer which would either allow the installation to run forever or for a minute until the timeout occurs. To solve the issue, a silent notification is triggered at the same time the dialog is shown so that even if the user accidentally dismisses the dialog, the dialog can still be displayed by clicking the notification.
  • Fixed parsing unsigned APK files
  • Fixed installing apps for users other than the main profile

Interceptor

  • Prevented the app from crashing on creating a shortcut with invalid extras
    Shortcuts support only 11 types of data structures. Intents, on the other hand, support any type of data structures. When a shortcut creation is requested, the unsupported data structures are removed from the Intent to avoid crashes.

Labs

  • Display “System Config” page in all modes of operation

Main page

  • Added a new filtering option “Stopped apps“ to filter the force-stopped apps
  • Added filtering by users in the list options
  • Added a new batch operation “Optimise” to dex optimisation of the selected apps
  • Display user count alongside app ID
    If an app is installed in more than one profiles (that is, for multiple users), instead of displaying only the kernel user ID (UID), display the app ID (that is, UID sans the user ID) and user count in the following format:
    <user count>+<app ID>
    

Scanner

  • Display link to Pithus report if available
  • Calculate file hashes more efficiently
  • Fixed scanning external APK files in privileged mode

Settings

  • Added options to run App Manager in the background
    In Settings > Privacy, two new options have been added:

    1. Run App Manager in the background
    2. Automatic lockdown

    Running App Manager in the background makes the annoying “Initializing” screen go away. Due to possible privacy issues, this option is disabled by default. When automatic lockdown is enabled, App Manager will attempt to lock the app by killing its process. As expected, there are several side effects:

    1. All the activities will be closed. They'll be reopened by the system based on how the user was interacting with them
    2. All the running operations as well as scheduled or running jobs will be stopped immediately. This might cause data loss if potentially destructive operations are running.

    Note: Enabling the latter option does not wipe the memory of App Manager, i.e. it does not prevent a forensic software from scrapping the memory used by App Manager even if the process no longer exists.

  • Added option to disable sending notification to the connected devices
    The setting is located at “Settings > Advanced > Send notifications to the connected devices” and is enabled by default. Low importance notifications, e.g. ongoing notifications and optional alerts, won't be delivered to the connected devices even if the setting is enabled.

  • Fixed saving backup options

  • Prevented a crash that occurs on importing the rules if some of them are invalid

UI

  • Better handling of application-wide notifications including the progress of various operations
  • Display all multi-selection options in a single row with an overflow menu at the end
  • Display icons in popup menus
  • Display shortcut editor before creating a shortcut along with a preview panel
  • Improved layouts of popup and dropdown menus

Usage

  • Fetch data usage for all apps in Android 5 and 5.1
  • Fetch usage stats and package size info only when the feature is enabled
  • Reduced lags by recycling views

Others

  • New mode of operation: System (UID 100)
  • Enabled backing up data from App Manager via Android-default backup systems
  • Improved DEX optimiser
    DEX optimiser now works in no-root mode for apps installed with App Manager. In 1-Click Ops page, when DEX optimiser is run, it attempts to optimise all apps in privileged mode. But in unprivileged mode, it only attempts to optimise apps installed by App Manager. The option is also displayed in the App Info tab in no-root mode for apps installed by App Manager.
  • Only allow connections from supported online locations
    To avoid issues with ADB, localhost is allowed unrestricted connections, but other websites, namely virustotal.com and pithus.org, are restricted via public key pinning (PKP) using network security configuration.
  • Replaced the usernames “Main” and “Work” with “This” and “Other”
    In no-root mode, usernames cannot be fetched from the system. Hence, “Main” and “Work” are inferred based on the status of the system. However, this can cause issues if the app is installed in the Work profile. Instead, the names “This” and “Other” are used to clarify the situation.
  • Schedule cache cleaning job more actively to ensure App Manager's caches are cleared regularly
  • Use granted permissions rather than the mode of operation to check the eligibility of a feature
  • Prevented crashing in Android 14 due to c...
Read more