App Manager | CHANNEL – Telegram
App Manager v3.1.0-alpha01

- [Main] Added option to sort the app list by size
The loading time has been increased by a few seconds which will be fixed in a later build
- [Main] Added support for market://search?q=query
- [Backup/restore] Added support for elliptic-curve cryptography (ECC)
ECC in App Manager uses curve 25519 with ECDH which is wrapped with SHA512withECDSA when storing the key in the Bouncy Castle KeyStore.
- [Activity Interceptor] Added option to copy as am command
am (short for activity manager) or cmd activity (Android 9 and later) can be used to start an activity from the terminal. This option let user copy the Intent as an am command so that the same Intent can be invoked in the terminal. But not all extras are supported, only the supported extras are copied during the operation.
- [Setting] Added option to disable opening App Info page from the third-party applications
- [Installer] Removed default signing key
Default signing key was publicly available and could have been used by others to distribute malware. Instead, enabling APK signing before installing an app now requires a signing key to be added (which can be either generated or imported).
- [Running Apps] Fixed double scrollbars

Full Changelog: https://github.com/MuntashirAkon/AppManager/compare/v3.0.0...v3.1.0-alpha01
🔥20👍52🎉1
AppManager_v3.1.0-alpha01.apks
12.2 MB
🔥19👍7👎2
Freezing an app?

Many of you have been written to me in the past regarding the freezing of an app in Android, and it also appears that the opinions regarding this keyword differ widely. So, let me explain to you what freezing means and why the opinions differ and what steps App Manager might take to clear this up.

Overview

Android framework DOES NOT use any terminology that goes by the name freezing. This particular terminology, I believe, is popularised by Titanium Backup as well as Link2SD in the early days. Later many other developers, as the term is well known among the users, had also adopted the terminology. However, since Android is a sufficiently dynamic operating system, new features are always introduced, and freezing, it seems, has also evolved.

Understanding the operations on an Android app

Android supports several operations related to freezing. If we are to sort them in the order of their strength, they could be listed as follows: force-stop, suspend (Android N and onwards), disable, hide (previously called block), uninstall.

1. Force-stop. This simply stops an app from running either in the foreground or in the background for a time being. The app can still be activated anytime by the user, another app, alarm manager (which manages execution of a service at a certain point in time) or a system broadcast receiver. (For developers, it issues PACKAGE_CHANGED intent.)

2. Suspend. This is similar to disable (see below) but it’s intended for the device admin apps. In this case, the app might still be visible in your launcher, but it might be grayed out, and when you would try to launch it, it would issue an warning that the app may not be available at the moment as it is suspended by an app. But it entirely depends on how your launcher handles it. This is lesser than disable because it does not actually disable the app or its components. (For developers, it issues PACKAGES_SUSPENDED or PACKAGES_UNSUSPENDED intent.)

3. Disable. This disables an app along with all its components. Since the app will not have any activity that can be launched, it will not be present in the list of apps in the launcher. (For developers, it issues PACKAGE_CHANGED intent.)

4. Hide. This used to be known as block until the AOSP team renamed it to hide. This is similar to suspend except that the app behaves as if it has been uninstalled from the system and remains hidden from the launcher. (For developers, it issues PACKAGE_REMOVED or PACKAGE_ADDED intent.)

5. Uninstall. This operation completely or partially uninstalls the app from the system depending on whether you choose to retain its data. Note that data also include the signature of the app. So, if you chose to retain its data during the uninstallation but later wanted to install the same app with a different signature, the installation would fail.

App Manager's take on freezing

The term freeze denotes one of 2–4 operations/actions described above (i.e. suspend, disable or hide), depending on the app that the user is familiar with. In App Manager, instead of displaying all three actions separately in the app info tab (just think how much space would it take for, more or less, the same feature) or elsewhere, a single action, namely freeze, would be added, replacing the current disable action. In settings, an option would be added to configure how this action would behave. For compatibility reasons, the default behaviour would be disable.
👍3711🔥5
App Manager v3.0.1 Stable

- Display inferred mode of operation in the crash logs
- Handled the Internet permission in GrapheneOS
- Prevented closing multi-selection panel after starting an operation
- Replaced MD2 (Material Design 2) switches with M3 (Material 3) switches
- Fixed icon theming issues in Android 12
- [App Details page] Display failure message instead of crashing if a service cannot be launched from the Services tab
- [App Details page] Fixed crashes in the Shared Libs tab
- [Installer] Fixed a rare crash used to occur due to the accidental closing of the installer page
- [Main page] Fixed sorting when a profile is selected in the list options
- [Main page] Fixed displaying backup volume unavailable messages when /sdcard/AppManager was inaccessible or unavailable
- [Profile page] Fixed crashes in the log viewer tab
- [Running Apps page] Fixed double scrollbars
- [Running Apps page] Fixed crashes in no-root mode while checking for RUN_IN_BACKGROUND
- [Scanner page] Fixed a rare crash used to occur when the activity is accidentally closed

Full Changelog: v3.0.0...v3.0.1
🔥30👍1210🎉2
AppManager_v3.0.1.apk
14.2 MB
63👍13
AppManager_v3.0.1.apks
11.9 MB
23😢2🤩1
App Manager v3.0.2 Stable

This release contains a number of bug fixes.

- Removed dark theme hacks for the WebView in the help page
- Fixed loading dynamic colours in the splash screen
- Fixed shortcut creation issues in some launchers
- Prevented a crash in the ADB mode which used to occur on attempting to fetch application data size
- Prevented a nasty crash used to occur when an activity is needed to be recreated.

Full Changelog: v3.0.1...v3.0.2
🔥28👍13🎉1
App Manager is participating in Hacktoberfest 2022

Existing and new contributors are welcome to participate in this year's Hacktoberfest!

You can find the event details and rules in the official site here: https://hacktoberfest.com/

You can register here: https://hacktoberfest.com/auth/

Our rules
- Rules described in the contributing guidelines must be followed.
- Solve any issues marked with hacktoberfest. If you have a new idea, create an issue first. We shall decide if this should be part of this event or not.
- The PR must contain a new feature, or a major fix or feature improvement. Minor fixes and/or feature improvements may be merged, but they won't be part of the event. Minor fixes include fixing simple logical errors, UI, localisation or grammatical issues, and minor feature improvements include adding useless words/sentences in documentations or app strings, unimportant UI changes.
- Spammers will be blocked indefinitely from both the event and the projects.

Participating projects
This year, you will be able to contribute to a number of projects maintained by me:
1. https://github.com/MuntashirAkon/AppManager
2. https://github.com/MuntashirAkon/SetEdit
3. https://github.com/MuntashirAkon/BatteryChargeLimiter
4. https://github.com/MuntashirAkon/android-debloat-list

Note
In App Manager, translations are managed via Weblate. So, we cannot accept any PR containing translations, but in the other projects such PRs are accepted.

Take this moment to contribute to your favourite projects and get recognition at the same time!

GitHub discussion
👍43
CaptivePortalController_v1.0.0.apk
60.8 KB
Captive Portal Controller v1.0.0

Control how Android detects captive portal.

NOTE: In many OEM provided ROMs, it is NOT a privacy feature because these ROMs are able to bypass captive portal settings.

Features
- Enable/disable captive portal detection
- Set captive portal servers (with presets from GrapheneOS, Kuketz and Google)
- A quick setting tile to toggle captive portal detection
- Less than 100KB app as you don't need to use it frequently.
👍35🔥53👎1
App Manager | CHANNEL
CaptivePortalController_v1.0.0.apk
Why this app is needed?

Android performs connectivity checks for two purposes:
1. To check whether the device connected to the Internet
2. to handle captive portals.

Android does this by sending out request to a remote server that is supposed to be run all the time. This remote server, after receiving a request, generate a 204 message (i.e. empty message) which lets the device know that you’re connected to the Internet. This seems legit in plainsight. However, sending this message means the remote server receives your IP address and user agent, and this request is made all through the day! If this is not enough for you, this request is always sent to the remote server using your network, thereby, bypassing the VPN that you may have been using. And the best of all, this request is sent to our good(?) friend, Google. The well known big brother organisation with a lot of evil activities including but not limited to the military-led covert operations in the middle east, it appears, is capable of tracking you day and night via connectivity checks. Mullvad developers have requested an option to disable this check which is, of course, refused by Google.

This app attempts to provide a solution by offering you a few alternative options:
1. Disable connectivity checks completely (also disables captive portal detection as a byproduct)
2. Keep connectivity checks enabled but with different providers

We suggest that you do both for maximum safety, that is,
- Disable captive portal detection (enable it only when you need via the Quick Setting tile or the app)
- Configure four servers (only one server before Android Oreo/8)

We have also supplied presets (including Google’s in case you want to go back to it). To use them, start typing http in the URL fields in the app.

This app is mostly feature-complete. However, I might still have to work on a thing or two.

References
1. https://mullvad.net/en/blog/2022/10/10/android-leaks-connectivity-check-traffic/
2. https://grapheneos.org/faq#default-connections
3. https://issuetracker.google.com/issues/250529027
4. https://www.newsweek.com/assange-google-not-what-it-seems-279447
👍3316😱10👎4
App Manager | CHANNEL
CaptivePortalController_v1.0.0.apk
CaptivePortalController_v1.1.0.apk
65.6 KB
Captive Portal Controller v1.1.0

- UI improvements
- Option to set user agent (Android 8+)
- Fixed support for Android 7.1 and earlier
- Improved documentations
- Updated target SDK to 33

Full Changelog: https://github.com/MuntashirAkon/CaptivePortalController/compare/v1.0.1...v1.1.0
👍43👎3🔥2
App Manager v3.0.3 Stable

This release contains a number of fixes for the backup/restore feature.

- Backup metadata version updated to 4
- Use 128 bit tag size for AES encryption
- Fixed encryption/decryption for AES 128
- Fixed an issue with saving the PGP encrypted files
- Fixed crashing if a storage media does not have a label

Full Changelog: https://github.com/MuntashirAkon/AppManager/compare/v3.0.2...v3.0.3
🔥236👍6👎2🤩2
AppManager_v3.0.3.apk
14.3 MB
73👍22🔥7🤩6🎉3
AppManager_v3.0.3.apks
12 MB
🤩24🔥87👍5
Great! Telegram has put my username (@MuntashirAkon) at its auction page without a warning. So, if you receive any random requests for money or crypto from that username, know that it's because of how greedy Pavel Durov has become (or he was always like this?). When he announced this scamming platform, a record number of people disliked it and what he did afterwards is something you don't expect even from the Zuck himself: He disabled reactions on his page.
😢157😱32👍21👎11😁7🎉2🔥1