AM Debug v2.7.0 Run#1286
Installer Handle apps having a new signature uninstalled with DELETE_KEEP_DATA
When an app was uninstalled with DELETE_KEEP_DATA flag enabled and the app is
now being reinstalled with a different signature, the following situations have
to be considered:
1. For system apps, the APK is still present in the system as usual, and so
are the data. The proper way to handle this is to warn the user that the new
app can't be installed.
2. For user apps, the APK was deleted, but the signature was still kept.
In such case, the user will be warned that the new app cannot be installed.
It was found out that the app can still be uninstalled in all mode of
operations but the APK isn't actually present, and if the app is uninstalled
(again), Android system will no longer report it even when the list of apps
are fetched using the MATCH_UNINSTALLED_PACKAGES flag. This could be
problematic as there would be no way to find out the real cause if such
app is attempted to be installed with a different signature.
3. For user apps installed on multiple profiles but uninstalled from only one
profile, things are more complicated. However, they are handled like (2) in
order to avoid further complications.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
Installer Handle apps having a new signature uninstalled with DELETE_KEEP_DATA
When an app was uninstalled with DELETE_KEEP_DATA flag enabled and the app is
now being reinstalled with a different signature, the following situations have
to be considered:
1. For system apps, the APK is still present in the system as usual, and so
are the data. The proper way to handle this is to warn the user that the new
app can't be installed.
2. For user apps, the APK was deleted, but the signature was still kept.
In such case, the user will be warned that the new app cannot be installed.
It was found out that the app can still be uninstalled in all mode of
operations but the APK isn't actually present, and if the app is uninstalled
(again), Android system will no longer report it even when the list of apps
are fetched using the MATCH_UNINSTALLED_PACKAGES flag. This could be
problematic as there would be no way to find out the real cause if such
app is attempted to be installed with a different signature.
3. For user apps installed on multiple profiles but uninstalled from only one
profile, things are more complicated. However, they are handled like (2) in
order to avoid further complications.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AM Debug v2.7.0 Run#1287
Refactor Fix support for apps uninstalled without clearing data
Neither Application#FLAG_INSTALLED nor Application#FLAG_IS_DATA_ONLY works
properly when it comes to detecting whether an app is installed. This is
specially true for applications uninstalled without clearing data. In addition
to the above checks, another check is performed to ensure that the app
directory also exists.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
Refactor Fix support for apps uninstalled without clearing data
Neither Application#FLAG_INSTALLED nor Application#FLAG_IS_DATA_ONLY works
properly when it comes to detecting whether an app is installed. This is
specially true for applications uninstalled without clearing data. In addition
to the above checks, another check is performed to ensure that the app
directory also exists.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AM Debug v2.7.0 Run#1288
Refactor Various fixes
* Moved rule-saving logic to ComponentUtils
* List OBB and media size info for Android O or later
* Add MainPreferencesViewModel
* Use ViewModel to Load subnoscript in AppDetailsActivity
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
Refactor Various fixes
* Moved rule-saving logic to ComponentUtils
* List OBB and media size info for Android O or later
* Add MainPreferencesViewModel
* Use ViewModel to Load subnoscript in AppDetailsActivity
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
We’ll be preparing for v2.6.1 which is scheduled for 31 May. Testers are requested to submit their issues within this period. Thanks.
AM Debug v2.6.1 Run#1291
Refactor Fix crash due to NPE in the app details page
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
Refactor Fix crash due to NPE in the app details page
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AM Debug v2.7.0 Run#1292
Refactor Fix crash due to NPE in the app details page
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
Refactor Fix crash due to NPE in the app details page
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AM Debug v2.7.0 Run#1293
Refactor Fix ISE in IconPickerDialogFragment
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
Refactor Fix ISE in IconPickerDialogFragment
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AM Debug v2.7.0 Run#1294
AppOp Add OP_MANAGE_CREDENTIALS from Android 12
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AppOp Add OP_MANAGE_CREDENTIALS from Android 12
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AM Debug v2.7.0 Run#1295
AppOp Throw ISE if _NUM_OP is greater than expected
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AppOp Throw ISE if _NUM_OP is greater than expected
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AM Debug v2.7.0 Run#1296
AppInfo Catch SecurityException when enabling/disabling an app
A few Android frameworks seem to have a bug where Shell cannot change the
enable/disable state of an app.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AppInfo Catch SecurityException when enabling/disabling an app
A few Android frameworks seem to have a bug where Shell cannot change the
enable/disable state of an app.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AM Debug v2.7.0 Run#1297
AppInfo Add more app ops from Android 12
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AppInfo Add more app ops from Android 12
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>