AM Debug v2.7.0 Run#1676
AppOps Add new app ops from Android 12
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AppOps Add new app ops from Android 12
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
👍1🔥1
App Manager | DEBUG
AM Debug v2.7.0 Run#1676 AppOps Add new app ops from Android 12 Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
In the latest update of Android 12, Three more app ops have been added, namely
NEARBY_WIFI_DEVICES, ESTABLISH_VPN_SERVICE and ESTABLISH_VPN_MANAGER.🔥4
AM Debug v2.7.0 Run#1677
Refactor Fix startup issues related to authentication
On startup or starting any activities, App Manager has to ensure the following:
1. If security is enabled, App Manager prompts for a security check. At
present, this only works if the device has password, pin or pattern lock.
2. After (1) is completed with success, it checks for the configured mode of
operation and calculates how the mode of operation should be handled:
i. If the mode of operation is set to
every time the app is opened i.e. a new session1 is created.
Auto-detection of ADB is enhanced to scan possible port numbers other
than
no-root users, it is more efficient if the mode of operation is set to
ii. If the mode of operation is set to
service2 using root. If the attempt is failed, App Manager will fall
back to the no-root mode for the session.
iii. If the mode of operation is set to
the port number with a timeout of 10 seconds or uses a pre-configured
port number (in most cases, it is
the no-root mode for the session. This could be set as the default mode
of operation for Wireless Debugging to prevent further hassle if the
pairing has already been completed or App Manager has previously been
connected via ADB over TCP. This is because the same key is used for
configuring both Wireless Debugging and ADB over TCP.3
iv. If the mode of operation is set to
detect and connect to the first available port number within 5 (five)
seconds. If it fails to detect or connect to a port, it will display a
dialog to let users choose between connecting and pairing. If pairing
is selected, a dialog will be displayed where it is possible to enter a
pairing code and the associated port number. After the pairing is
finished or connect is selected in the previous dialog, it will display
a dialog where the port number of the wireless debugging has to be
entered.
Upon failure to use any of the above options, it tries one last time
to autodetect a port number and falls back to the no-root mode for the
session if it cannot.
Known issues:
1. Auto-detection of port number may not be required for the old versions of
Android. Therefore, setting a timeout of 7 or 10 seconds could be costly on
these devices.
2. Sometimes auto-detection of port number may not work due to timeout.
Notes:
1 A session is the amount time an application runs without completely exiting
itself. Consequently, this depends on a lot of factors such as the removal
of the app from the recents, battery optimization and the amount of free
memory at a given time.
2 Remote service in App Manager runs inside root (UID 0) or ADB (UID 2000 or
0 depending on the device configuration). The communication between remote
service and App Manager is done via Binder.
3 ADB over TCP is known as ADB over Network in Lineage OS 17 and earlier.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
Refactor Fix startup issues related to authentication
On startup or starting any activities, App Manager has to ensure the following:
1. If security is enabled, App Manager prompts for a security check. At
present, this only works if the device has password, pin or pattern lock.
2. After (1) is completed with success, it checks for the configured mode of
operation and calculates how the mode of operation should be handled:
i. If the mode of operation is set to
auto, it tries to detect root/ADBevery time the app is opened i.e. a new session1 is created.
Auto-detection of ADB is enhanced to scan possible port numbers other
than
5555 which has a timeout of 7 (seven) seconds. Therefore, forno-root users, it is more efficient if the mode of operation is set to
no-root.ii. If the mode of operation is set to
root, it tries to launch a remoteservice2 using root. If the attempt is failed, App Manager will fall
back to the no-root mode for the session.
iii. If the mode of operation is set to
ADB over TCP, it tries to detectthe port number with a timeout of 10 seconds or uses a pre-configured
port number (in most cases, it is
5555). Otherwise, it falls back tothe no-root mode for the session. This could be set as the default mode
of operation for Wireless Debugging to prevent further hassle if the
pairing has already been completed or App Manager has previously been
connected via ADB over TCP. This is because the same key is used for
configuring both Wireless Debugging and ADB over TCP.3
iv. If the mode of operation is set to
Wireless Debugging, it tries todetect and connect to the first available port number within 5 (five)
seconds. If it fails to detect or connect to a port, it will display a
dialog to let users choose between connecting and pairing. If pairing
is selected, a dialog will be displayed where it is possible to enter a
pairing code and the associated port number. After the pairing is
finished or connect is selected in the previous dialog, it will display
a dialog where the port number of the wireless debugging has to be
entered.
Upon failure to use any of the above options, it tries one last time
to autodetect a port number and falls back to the no-root mode for the
session if it cannot.
Known issues:
1. Auto-detection of port number may not be required for the old versions of
Android. Therefore, setting a timeout of 7 or 10 seconds could be costly on
these devices.
2. Sometimes auto-detection of port number may not work due to timeout.
Notes:
1 A session is the amount time an application runs without completely exiting
itself. Consequently, this depends on a lot of factors such as the removal
of the app from the recents, battery optimization and the amount of free
memory at a given time.
2 Remote service in App Manager runs inside root (UID 0) or ADB (UID 2000 or
0 depending on the device configuration). The communication between remote
service and App Manager is done via Binder.
3 ADB over TCP is known as ADB over Network in Lineage OS 17 and earlier.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
👍2🔥2
App Manager | DEBUG
AM Debug v2.7.0 Run#1677 Refactor Fix startup issues related to authentication On startup or starting any activities, App Manager has to ensure the following: 1. If security is enabled, App Manager prompts for a security check. At present, this only works…
Changes not mentioned in the commit message:
1. Added support for Android Emulators (which use a different IP address)
2. If ADB is configured to run as root, App Manager will try to use root over ADB. But this may not always work. If it works, you will get a warning like this as a toast message: Warning: Working on root instead of ADB mode.
1. Added support for Android Emulators (which use a different IP address)
2. If ADB is configured to run as root, App Manager will try to use root over ADB. But this may not always work. If it works, you will get a warning like this as a toast message: Warning: Working on root instead of ADB mode.
🔥3❤2👍1
AM Debug v2.7.0 Run#1678
Refactor Remove ParcelableSpan from ListSpan
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
Refactor Remove ParcelableSpan from ListSpan
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
🔥2
AM Debug v2.7.0 Run#1679
DenyList Implement Magisk DenyList
Magisk DenyList implementation is identical to the MagiskHide in App Manager,
but they work independently. That is, if both MagiskHide and Magisk DenyList is
present, both will be displayed in the three-dots menu in the App Info tab.
For back up/restore, if MagiskHide is not present, MagiskHide rules will be
applied as Magisk DenyList rule in order to preserve compatibility. Magisk
DenyList are also stored during backup as a separate configuration, and are
applied separately as required during the restore process.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
DenyList Implement Magisk DenyList
Magisk DenyList implementation is identical to the MagiskHide in App Manager,
but they work independently. That is, if both MagiskHide and Magisk DenyList is
present, both will be displayed in the three-dots menu in the App Info tab.
For back up/restore, if MagiskHide is not present, MagiskHide rules will be
applied as Magisk DenyList rule in order to preserve compatibility. Magisk
DenyList are also stored during backup as a separate configuration, and are
applied separately as required during the restore process.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
🔥1
AM Debug v2.7.0 Run#1680
Refactor Fix typo in the activity name which caused crashes at startup
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
Refactor Fix typo in the activity name which caused crashes at startup
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
🔥4❤1
AM Debug v2.7.0 Run#1681
Settings Display inferred mode of operation
In the “mode of operation” setting, the inferred mode of operation i.e. the
mode of operation App Manager is actually using is displayed along with the
user-selected mode of operation.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
Settings Display inferred mode of operation
In the “mode of operation” setting, the inferred mode of operation i.e. the
mode of operation App Manager is actually using is displayed along with the
user-selected mode of operation.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
🔥1😢1
AM Debug v2.7.0 Run#1682
AppInfo Fix NPE due the unavailability of a MenuItem
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AppInfo Fix NPE due the unavailability of a MenuItem
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
🔥2
AM Debug v2.7.0 Run#1683
Interceptor Fix various issues (mostly NPEs) reported via E-Mail
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
Interceptor Fix various issues (mostly NPEs) reported via E-Mail
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
🔥2❤1👍1
AM Debug v2.7.0 Run#1684
Refactor Fix various issues reported via E-Mail
- NPEs in the App Info tab and 1-Click Ops page
- Inconsistencies in the RecyclerView/ListViews
- Material colours in bottom sheet dialogs and app usage page
- Chip shapes
And throw RuntimeExceptions to pin-point device-specific issues.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
Refactor Fix various issues reported via E-Mail
- NPEs in the App Info tab and 1-Click Ops page
- Inconsistencies in the RecyclerView/ListViews
- Material colours in bottom sheet dialogs and app usage page
- Chip shapes
And throw RuntimeExceptions to pin-point device-specific issues.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
🔥1