From 049824bd911ce90becca0bbab817cd69a7abdb4d Mon Sep 17 00:00:00 2001 From: Muntashir Al-Islam Date: Thu, 14 Nov 2024 00:04:05 -0800 Subject: [PATCH] [fastlane] Prepare for v4.0.0-beta02 Signed-off-by: Muntashir Al-Islam --- app/build.gradle | 4 +- app/src/main/res/raw/changelog.xml | 214 ++++++++++++++++++ .../metadata/android/en-US/changelogs/437.txt | 15 ++ 3 files changed, 231 insertions(+), 2 deletions(-) create mode 100644 fastlane/metadata/android/en-US/changelogs/437.txt diff --git a/app/build.gradle b/app/build.gradle index a22fc929152..27e822fe62b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -13,8 +13,8 @@ android { applicationId 'io.github.muntashirakon.AppManager' minSdk min_sdk targetSdk target_sdk - versionCode 436 - versionName "4.0.0-beta01" + versionCode 437 + versionName "4.0.0-beta02" javaCompileOptions { annotationProcessorOptions { arguments += [ diff --git a/app/src/main/res/raw/changelog.xml b/app/src/main/res/raw/changelog.xml index 24ba1c36087..5845123cd84 100644 --- a/app/src/main/res/raw/changelog.xml +++ b/app/src/main/res/raw/changelog.xml @@ -1,5 +1,219 @@ + + + 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 + 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. + + Added option to enable/disable sensors + 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. + + 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[br /] + IFW = The component is blocked using IFW[br /] + 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 [tt]UsageStatsManager[/tt] 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:[br /] + 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.[br /] + 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.[br /] + 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.[br /] + - 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.[br /][br /] + 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 [tt]pm.dexopt.install[/tt] 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 + [tt]Intent.EXTRA_ORIGINATING_URI[/tt] + + 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 [tt]PACKAGE_SOURCE_OTHER[/tt] by default in Android 13 onwards + + + This is done to prevent the system from applying various accessibility restrictions to + the app. However, [tt]PACKAGE_SOURCE_STORE[/tt] 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 [tt]startActivityForResult[/tt] whenever + possible. + + + Interceptor + Intercept SAF, dialer, gallery, search, music player, and WhatsApp URLs + + Main page + 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 + + + [br /][b]Full list of changes:[/b] [a + href="https://github.com/MuntashirAkon/AppManager/compare/v4.0.0-beta01...v4.0.0-beta02"]v4.0.0-beta01...v4.0.0-beta02[/a] + +