I understand that ADB users often need to execute certain commands for which they need to use another app such as the one in the pinned messages. While support for a full-fledged terminal is still under consideration, I shall make things a bit easier for them by adding a simple command window such as the one you see in other apps such as Terminal or LADB. Note that executing certain commands such as top, vi will not work as expected in this window (just as the others), the users should refrain from executing them.
App Manager | DEBUG
I understand that ADB users often need to execute certain commands for which they need to use another app such as the one in the pinned messages. While support for a full-fledged terminal is still under consideration, I shall make things a bit easier for them…
Note that this feature will not be available to the stable releases, only debug and other releases.
AM Debug v3.1.0-alpha01 Run#2086
FM Display child count and last modified date
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
FM Display child count and last modified date
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AM Debug v3.1.0-alpha01 Run#2087
FM Implement custom “open with” dialog
Instead of using the Android-default dialog, a custom “open with” dialog is
implemented. This dialog has the following features:
1. Display matching activities
2. Clicking on an activity item opens the activity
3. Long clicking on an activity item opens it in the Interceptor page
4. The “new window” icon at the top-right opens it using the Android-default
dialog.
Most of these features should be familiar to the MiXplorer users.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
FM Implement custom “open with” dialog
Instead of using the Android-default dialog, a custom “open with” dialog is
implemented. This dialog has the following features:
1. Display matching activities
2. Clicking on an activity item opens the activity
3. Long clicking on an activity item opens it in the Interceptor page
4. The “new window” icon at the top-right opens it using the Android-default
dialog.
Most of these features should be familiar to the MiXplorer users.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AM Debug v3.1.0-alpha01 Run#2088
FM Implement local three-dots menu
The three-dots menu on the right-hand side of each file item is implemented
with the following features:
1. Open with
2. Share
3. Properties.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
FM Implement local three-dots menu
The three-dots menu on the right-hand side of each file item is implemented
with the following features:
1. Open with
2. Share
3. Properties.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AM Debug v3.1.0-alpha01 Run#2089
FM Fix file provider issue in Android 10
Thanks: Hai Zhang
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
FM Fix file provider issue in Android 10
Thanks: Hai Zhang
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AM Debug v3.1.0-alpha01 Run#2090
FM Fix comparing read/written size count in root mode
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
FM Fix comparing read/written size count in root mode
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AM Debug v3.1.0-alpha01 Run#2091
AppInfo Display custom “open with” dialog on clicking a database item
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AppInfo Display custom “open with” dialog on clicking a database item
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AM Debug v3.1.0-alpha01 Run#2092
FM Add “Open as…” option in the “Open with” dialog
“Open as…” dialog supports the following options:
1. Text
2. Image
3. Video
4. Archive (application/x-7z-archive)
5. Folder (resource/folder)
6. Other
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
FM Add “Open as…” option in the “Open with” dialog
“Open as…” dialog supports the following options:
1. Text
2. Image
3. Video
4. Archive (application/x-7z-archive)
5. Folder (resource/folder)
6. Other
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
👍3
App Manager | DEBUG
AM Debug v3.1.0-alpha01 Run#2092 FM Add “Open as…” option in the “Open with” dialog “Open as…” dialog supports the following options: 1. Text 2. Image 3. Video 4. Archive (application/x-7z-archive) 5. Folder (resource/folder) 6. Other Signed-off-by: Muntashir…
Note that most file managers will not be able to open a folder accessible only via root due their own limitations. We shall address them in the future.
👍4
AM Debug v3.1.0-alpha01 Run#2093
FM Implement file/folder deletion
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
FM Implement file/folder deletion
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AM Debug v3.1.0-alpha01 Run#2094
Refactor Add the possibility of writing to a VirtualFileSystem
VirtualFileSystem is redesigned from the scratch to add the capability to be
written, not just read. This works as follows:
Reading. Reading used to be quite unsophisticated as it was accessed directly.
But with the new scheme, it needs to be cached first. This is because it is
necessary to ensure consistency of the file as it also involves writing, and
caching the file involves the use of Java-provided functionalities which inv-
olves the proper usage of locking and simultaneous reading, thereby, making
the implementation easier and less complicated. However, the implementation
still lacks a proper locking mechanism for mount and unmount of volumes as it
is largely intended for internal use.
Writing. Writing basically writes anything to the cached file since the under-
lying volume is not writable. If the volume supports writing, it is entirely
up to the volume's VirtualFileSystem implementation to handle it as the logic
for writing differs for each type of volume. This can be compared to how fuse
system internally work, but a lot more simplified. However, all of these mod-
ifications are stored and served to the implementation so that it can handle
them properly.
Creating. Creating involves adding a new “non-physical” entry to the file trees
which is later supplied to the implementation to handle. The records are kept
linearly and are never checked. So, if a file is created, then deleted and
later created again, all three actions will be performed sequentially. This
can also be improved to reduce the number of actions without significant
overhead (for example, use of mapping).
Deleting. Deleting depends on the type of file. If the file is created at some
point after mounting the volume, it is only “non-physical” and it will be re-
moved along with all its children (if it is a directory). Otherwise, it will
only be marked as deleted.
Renaming. Renaming, like the Unix's, is capable of moving a file or a folder to
another arbitrary directory in the same volume (moving across volume is hand-
led by the Path API).
The implementation is not yet tested properly. Although reading should work as
expected, the writing might not.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
Refactor Add the possibility of writing to a VirtualFileSystem
VirtualFileSystem is redesigned from the scratch to add the capability to be
written, not just read. This works as follows:
Reading. Reading used to be quite unsophisticated as it was accessed directly.
But with the new scheme, it needs to be cached first. This is because it is
necessary to ensure consistency of the file as it also involves writing, and
caching the file involves the use of Java-provided functionalities which inv-
olves the proper usage of locking and simultaneous reading, thereby, making
the implementation easier and less complicated. However, the implementation
still lacks a proper locking mechanism for mount and unmount of volumes as it
is largely intended for internal use.
Writing. Writing basically writes anything to the cached file since the under-
lying volume is not writable. If the volume supports writing, it is entirely
up to the volume's VirtualFileSystem implementation to handle it as the logic
for writing differs for each type of volume. This can be compared to how fuse
system internally work, but a lot more simplified. However, all of these mod-
ifications are stored and served to the implementation so that it can handle
them properly.
Creating. Creating involves adding a new “non-physical” entry to the file trees
which is later supplied to the implementation to handle. The records are kept
linearly and are never checked. So, if a file is created, then deleted and
later created again, all three actions will be performed sequentially. This
can also be improved to reduce the number of actions without significant
overhead (for example, use of mapping).
Deleting. Deleting depends on the type of file. If the file is created at some
point after mounting the volume, it is only “non-physical” and it will be re-
moved along with all its children (if it is a directory). Otherwise, it will
only be marked as deleted.
Renaming. Renaming, like the Unix's, is capable of moving a file or a folder to
another arbitrary directory in the same volume (moving across volume is hand-
led by the Path API).
The implementation is not yet tested properly. Although reading should work as
expected, the writing might not.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
👍1