Skip to content

App Manager v4.0.0-alpha01

Pre-release
Pre-release
Compare
Choose a tag to compare
@MuntashirAkon MuntashirAkon released this 18 Jul 09:12
· 383 commits to master since this 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 compatibility issues related to installer
  • Prevented crashing in various places due to lifecycle issues

Full list of changes: v3.2.0-alpha01...v4.0.0-alpha01