AM Debug v2.7.0 Run#1637
Refactor Fix disappearance of selection panel on configuration changes
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
Refactor Fix disappearance of selection panel on configuration changes
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AM Debug v2.7.0 Run#1638
Update trackers and libraries
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
Update trackers and libraries
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AM Debug v2.7.0 Run#1639
Merge remote-tracking branch 'weblate/master'
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
Merge remote-tracking branch 'weblate/master'
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AM Debug v2.7.0 Run#1640
Locale Update translation files
Updated by "Cleanup translation files" hook in Weblate.
Translation: App Manager/Main
Translate-URL: https://hosted.weblate.org/projects/app-manager/main/
Signed-off-by: Weblate <hosted@weblate.org>
Locale Update translation files
Updated by "Cleanup translation files" hook in Weblate.
Translation: App Manager/Main
Translate-URL: https://hosted.weblate.org/projects/app-manager/main/
Signed-off-by: Weblate <hosted@weblate.org>
Hosted Weblate
App Manager/Main
App Manager is being translated into 38 languages using Weblate. Join the translation or start translating your own project.
AM Debug v2.7.0 Run#1641
Refactor Review and clean server-related code
Background:
App Manager utilises ADB to execute a command that starts a server under the
user 2000 AKA Shell (or root, but it is currently disabled). The port number
for the server is 6001. The purpose of the server is to maintain a connection
with App Manager that is somewhat independent of ADB over TCP or Wireless
Debugging (e.g. it is possible to disable Wireless Debugging after a connection
has been made).
Through the server, App Manager could call framework services as well as
execute arbitrary commands. But App Manager only executes a single noscript that
registers a service under the same user. (The same noscript is executed directly
via the root/su shell if root mode is enabled.) Then, App Manager connects to
the service via Binder which proxies framework calls that might require
elevated permissions that the app does not have. (App Manager utilises the
dangerous and the development permissions when it can. The relevant permissions
are granted automatically when possible.)
This scheme is an amalgamation of the techniques used by AppOpsX
<https://github.com/8enet/AppOpsX> and libsu
<https://github.com/topjohnwu/libsu>, and reused without any review.
This patch addresses and fixes several issues in the server code:
1. Send status of the server to the designated app only. As a result, only the
designated app may know the status of the server as well as the token used
by the server for authentication. Earlier, it was possible for a third-party
app to hijack the server by acquiring the authentication token by listening
to the broadcast messages sent by the server.
2. Replace custom stop methods with close() by implementing the Closeable
interface. This helps to identify the potential leaks during debugging.
3. Ensure that the proper code conventions are followed.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
Refactor Review and clean server-related code
Background:
App Manager utilises ADB to execute a command that starts a server under the
user 2000 AKA Shell (or root, but it is currently disabled). The port number
for the server is 6001. The purpose of the server is to maintain a connection
with App Manager that is somewhat independent of ADB over TCP or Wireless
Debugging (e.g. it is possible to disable Wireless Debugging after a connection
has been made).
Through the server, App Manager could call framework services as well as
execute arbitrary commands. But App Manager only executes a single noscript that
registers a service under the same user. (The same noscript is executed directly
via the root/su shell if root mode is enabled.) Then, App Manager connects to
the service via Binder which proxies framework calls that might require
elevated permissions that the app does not have. (App Manager utilises the
dangerous and the development permissions when it can. The relevant permissions
are granted automatically when possible.)
This scheme is an amalgamation of the techniques used by AppOpsX
<https://github.com/8enet/AppOpsX> and libsu
<https://github.com/topjohnwu/libsu>, and reused without any review.
This patch addresses and fixes several issues in the server code:
1. Send status of the server to the designated app only. As a result, only the
designated app may know the status of the server as well as the token used
by the server for authentication. Earlier, it was possible for a third-party
app to hijack the server by acquiring the authentication token by listening
to the broadcast messages sent by the server.
2. Replace custom stop methods with close() by implementing the Closeable
interface. This helps to identify the potential leaks during debugging.
3. Ensure that the proper code conventions are followed.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
GitHub
GitHub - 8enet/AppOpsX: :wrench:A front-end application for the Android AppOpsService.
:wrench:A front-end application for the Android AppOpsService. - 8enet/AppOpsX
AM Debug v2.7.0 Run#1642
Installer Fix app installer from hanging forever in no-root mode
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
Installer Fix app installer from hanging forever in no-root mode
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AM Debug v2.7.0 Run#1643
Refactor Fix crash if an app icon is too large to draw on a canvas
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
Refactor Fix crash if an app icon is too large to draw on a canvas
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
App Manager | DEBUG
AM Debug v2.7.0 Run#1643 Refactor Fix crash if an app icon is too large to draw on a canvas Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
You must clear the cache of App Manager. Otherwise it will take a long time to load the icons.
AM Debug v2.7.0 Run#1644
AppDetails Add advanced searching with various fixes
1. Store activity state so that it can re-initialise the activity properly
after it was killed due to reboot, battery optimization, etc.
2. Fix consistency issues during filtering
3. Fix lint issues
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AppDetails Add advanced searching with various fixes
1. Store activity state so that it can re-initialise the activity properly
after it was killed due to reboot, battery optimization, etc.
2. Fix consistency issues during filtering
3. Fix lint issues
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AM Debug v2.7.0 Run#1645
Refactor Reduce size of the icons before caching them
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
Refactor Reduce size of the icons before caching them
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
App Manager | DEBUG
AM Debug v2.7.0 Run#1645 Refactor Reduce size of the icons before caching them Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
You must clear the cache of App Manager.
AM Debug v2.7.0 Run#1646
Scanner Enable scanning APK files via VirusTotal
VirusTotal public API v2.0 is used for fetching reports as well as uploading
APK files. In order to activate the feature, it is necessary to enable the
Internet in App Manager by allowing “Use the Internet” feature in settings,
and a VirusTotal API key is also required (which can be obtained by signing up
at https://virustotal.com) which can be inserted in App Manager settings.
VirusTotal results are colour coded as follows:
1. Green: None of the anti-virus (AV) programs have detected any threats.
2. Orange: Fewer than six AV programs have detected threats.
3. Red: More than six AV programs have detected threats.
In addition, a disclaimer has been added to clarify that App Manager is just a
client of VirusTotal's API.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
Scanner Enable scanning APK files via VirusTotal
VirusTotal public API v2.0 is used for fetching reports as well as uploading
APK files. In order to activate the feature, it is necessary to enable the
Internet in App Manager by allowing “Use the Internet” feature in settings,
and a VirusTotal API key is also required (which can be obtained by signing up
at https://virustotal.com) which can be inserted in App Manager settings.
VirusTotal results are colour coded as follows:
1. Green: None of the anti-virus (AV) programs have detected any threats.
2. Orange: Fewer than six AV programs have detected threats.
3. Red: More than six AV programs have detected threats.
In addition, a disclaimer has been added to clarify that App Manager is just a
client of VirusTotal's API.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>