raival-e / file-explorer Goto Github PK
View Code? Open in Web Editor NEWAn Android file explorer
License: GNU General Public License v3.0
An Android file explorer
License: GNU General Public License v3.0
Crash trying to delete invalid UTF-8 encoded folder
Folder deleted successfully
latest release (v1.1.0)
java stacktrace:
java.lang.NullPointerException: Can't toast on a thread that has not called Looper.prepare()
at com.android.internal.util.Preconditions.checkNotNull(Preconditions.java:157)
at android.widget.Toast.getLooper(Toast.java:179)
at android.widget.Toast.<init>(Toast.java:164)
at android.widget.Toast.makeText(Toast.java:492)
at android.widget.Toast.makeText(Toast.java:480)
at com.raival.fileexplorer.App$Companion.showMsg(App.kt:37)
at com.raival.fileexplorer.tab.file.options.FileOptionsHandler.doDelete$lambda$22(FileOptionsHandler.kt:362)
at com.raival.fileexplorer.tab.file.options.FileOptionsHandler.$r8$lambda$cgDSyiIy_kLyXv_FGrRytZ9IV8o(Unknown Source:0)
at com.raival.fileexplorer.tab.file.options.FileOptionsHandler$$ExternalSyntheticLambda15.run(Unknown Source:2)
at com.raival.fileexplorer.common.BackgroundTask$run$1.invokeSuspend(BackgroundTask.kt:31)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@b7f919b, Dispatchers.IO]
logcat:
10-12 20:01:47.848 22061 22138 W System.err: java.lang.Exception: File /storage/emulated/0/�ł@л doesn't exist
10-12 20:01:47.848 22061 22138 W System.err: at com.raival.fileexplorer.tab.file.misc.FileUtils.deleteFile(FileUtils.kt:228)
10-12 20:01:47.848 22061 22138 W System.err: at com.raival.fileexplorer.tab.file.misc.FileUtils.deleteFiles(FileUtils.kt:248)
10-12 20:01:47.848 22061 22138 W System.err: at com.raival.fileexplorer.tab.file.options.FileOptionsHandler.doDelete$lambda$22(FileOptionsHandler.kt:359)
10-12 20:01:47.848 22061 22138 W System.err: at com.raival.fileexplorer.tab.file.options.FileOptionsHandler.$r8$lambda$cgDSyiIy_kLyXv_FGrRytZ9IV8o(Unknown Source:0)
10-12 20:01:47.848 22061 22138 W System.err: at com.raival.fileexplorer.tab.file.options.FileOptionsHandler$$ExternalSyntheticLambda15.run(Unknown Source:2)
10-12 20:01:47.848 22061 22138 W System.err: at com.raival.fileexplorer.common.BackgroundTask$run$1.invokeSuspend(BackgroundTask.kt:31)
10-12 20:01:47.848 22061 22138 W System.err: at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
10-12 20:01:47.848 22061 22138 W System.err: at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
10-12 20:01:47.848 22061 22138 W System.err: at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
10-12 20:01:47.848 22061 22138 W System.err: at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
10-12 20:01:47.848 22061 22138 W System.err: at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
10-12 20:01:47.848 22061 22138 W System.err: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
10-12 20:01:47.848 22061 22138 W System.err: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
10-12 20:01:47.848 22061 22138 W System.err: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
### Duplicate issues
- [X] This issue has not been reported yet.
While long press there no option for multiple selection. Please bring it in next update
Don't know
Hi!
This is a meta request.
Looking at the issues, i see a lot of people flocking to this very promising app. However, i have my doubts that going forward, handling the issues will keep being as manageable as it currently is. I've seen other projects adding templates for github issues, so that people have a guidance how to formulate their feature sugestions (less typing for bug reporters, but easier to manage for you).
Would that help? I might have time at the end of the week to create those, if not done then already (you move quite fast).
Hey, thanks for your work, I just discovered this app and I'm loving it already! I'm a long time Mixplorer user, and though I've replaced most of the proprietary apps I used with open source ones, Mixplorer is one of the few I haven't been able to move out from. But it seems like the time has come! I'm eager to see how your app will evolve.
So, after my rant, my suggestion is to implement support for monochrome launcher icon, which has been added to Android 13. Cheers!
No response
No response
I would like to ask for a percentage bar to appear when extracting/compressing files instead of 'Compressing....' and 'Extracting....'. It would also be nice if there was a dialague showing the files currently being extracted/compressed during the operation.
No update since 2022
[07/16/2022 17:13:42.791][Error][AppCrash]: java.lang.OutOfMemoryError: Failed to allocate a 537919496 byte allocation with 25165824 free bytes and 251MB until OOM, max allowed footprint 297940192, growth limit 536870912 at java.util.Arrays.copyOf(Arrays.java:3260) at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:125) at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:451) at java.lang.StringBuilder.append(StringBuilder.java:137) at com.raival.fileexplorer.tab.file.util.FileUtils.readFile(FileUtils.java:364) at com.raival.fileexplorer.tab.file.dialog.SearchDialog.searchIn(SearchDialog.java:148) at com.raival.fileexplorer.tab.file.dialog.SearchDialog.searchIn(SearchDialog.java:177) at com.raival.fileexplorer.tab.file.dialog.SearchDialog.searchIn(SearchDialog.java:177) at com.raival.fileexplorer.tab.file.dialog.SearchDialog.searchIn(SearchDialog.java:177) at com.raival.fileexplorer.tab.file.dialog.SearchDialog.lambda$onViewCreated$1$com-raival-fileexplorer-tab-file-dialog-SearchDialog(SearchDialog.java:118) at com.raival.fileexplorer.tab.file.dialog.SearchDialog$$ExternalSyntheticLambda3.run(Unknown Source:2) at java.lang.Thread.run(Thread.java:764)
Shizuku enables people to install apps without a prompt through a unified API for ADB/root.
No response
Are there any plans to make the APK of your app available to "the public" (meaning, end-users who cannot compile it themselves and do not use the walled garden of PlayStore)? Would be nice if releases were tagged and the APKs attached to their corresponding releases. Thanks for considering!
Hey,
first, thanks for this app, looks already very promising! I had trouble finding a good fie explorer since using Android, and at some point started using multiples for different purposes, happy to see a FOSS app that seems to be able to tackle all use cases at once (so happy to see full-featured, not lightweight on the description!), especially multi tab support.
For reference, i found you via the listing in the IzzyOnDroid repos via NeoLauncher.
Regarding these tabs, i would very much welcome to be asked, what to open, whenever i open a new tab.
Opening a little dialogue with the options "internal", "external", "/", supported clouds and local favorite folders could do the trick.
Whatever is not set, not yet granted permission or not yet implemented could be just left out.
On click on one of the options, the corresponding location is opened, without a second click to confirm.
An option could be provided in the settings to always open the same folder, if preferred.
I use the Download folder, the internal storage root, the external storage root and the device root about the same amount of times and this would speed up my work here greatly.
The current "sort by" option applies for every folder. With this feature, one would be able to chose to limit the "sort by" option to only the current folder.
No response
Include an option to access cloud storage providers like google drive , mega etc ( similar to mixplorer )
No response
It would be nice to open zip files.
In addition, file selection feature, select more than one file, move or delete operation should be done
Hi i just discover app realy good app and design thanks
1: refresh with pull down same chrome for example
refresh with button i found anoyances
2: if long press select file or folder because actualy you can actualy only selected all i can,t for example selected 3 files in folder content 6 files
3: add option to select size font in editor
3.1 support editor (html, css, js, jquery,GO......)
4: Support SFTP with PAM suport for sftp with 2FA
thanks you
Allow file explorer app to create archive with following popular or used format:
Additionally you can set compression level from no compression to the best compression and allow user to enable solid archive + split into multiple volume
No response
Please add all the features from Mixplorer silver
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.raival.fileexplorer/com.raival.fileexplorer.activity.SettingsActivity}: androidx.fragment.app.Fragment$InstantiationException: Unable to instantiate fragment com.raival.fileexplorer.common.dialog.OptionsDialog: could not find Fragment constructor
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2946)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3093)
at android.app.ActivityThread.handleRelaunchActivityInner(ActivityThread.java:4887)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4770)
at android.app.servertransaction.ActivityRelaunchItem.execute(ActivityRelaunchItem.java:69)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ClientTransactionHandler.executeTransaction(ClientTransactionHandler.java:55)
at android.app.ActivityThread.handleRelaunchActivityLocally(ActivityThread.java:4821)
at android.app.ActivityThread.access$3200(ActivityThread.java:204)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1826)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6865)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:504)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: androidx.fragment.app.Fragment$InstantiationException: Unable to instantiate fragment com.raival.fileexplorer.common.dialog.OptionsDialog: could not find Fragment constructor
at androidx.fragment.app.Fragment.instantiate(Fragment.java:628)
at androidx.fragment.app.FragmentContainer.instantiate(FragmentContainer.java:57)
at androidx.fragment.app.FragmentManager$3.instantiate(FragmentManager.java:483)
at androidx.fragment.app.FragmentStateManager.<init>(FragmentStateManager.java:85)
at androidx.fragment.app.FragmentManager.restoreSaveState(FragmentManager.java:2728)
at androidx.fragment.app.FragmentController.restoreSaveState(FragmentController.java:198)
at androidx.fragment.app.FragmentActivity$2.onContextAvailable(FragmentActivity.java:149)
at androidx.activity.contextaware.ContextAwareHelper.dispatchOnContextAvailable(ContextAwareHelper.java:99)
at androidx.activity.ComponentActivity.onCreate(ComponentActivity.java:322)
at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:273)
at com.raival.fileexplorer.activity.BaseActivity.onCreate(BaseActivity.java:39)
at com.raival.fileexplorer.activity.SettingsActivity.onCreate(SettingsActivity.java:36)
at android.app.Activity.performCreate(Activity.java:8606)
at android.app.Activity.performCreate(Activity.java:8597)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1274)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2923)
... 16 more
Caused by: java.lang.NoSuchMethodException: <init> []
at java.lang.Class.getConstructor0(Class.java:2327)
at java.lang.Class.getConstructor(Class.java:1725)
at androidx.fragment.app.Fragment.instantiate(Fragment.java:613)
... 31 more```
If all items are selected, eg. using the select all button, the select all button loses it's functionality. Maybe it should be replaced by a select none or invert selection button.
Every file manager I've come across has the feature of selecting multiple files at once. While your app does support the "select all" option (which I rarely use), picking several files at once is a far more common process in file management.
As easy as it is.
Allow user to play music directly from the app
App also have additional related feature:
No response
maybe good idea doing donation system for dev work
paypal, .......
I have been a long time mixplorer user looks like finally something new is brewing to replace it.. hope it gets all the functionality correct.
Hi sir thank you for your hard work can you please implement file encryption 👍
Hi!
I know you're busy currently, but as another suggestion:
Swipe to the left to switch to the next tab to the left, and similar for rightwards swipe.
Not sure, but i think this is possible in some fragment tabbing libs, not sure which one is used here.
If possible, not really the gesture listener, as this would feel weird (do full swipe, then see animation); instead you can pull the next tab progressively into the frame, and abort if necessary. Not sure how to describe.
Makes usage quicker, e.g. when copying from one location to another.
Enable users to create Home Shortcuts to folders
I have difficulties in recognizing the text, because the overall text size and icons are too small for my eyes. I would like to see more options here; ranging from simple check boxes with "tiny" to "big" to "bold" or "italic".
To access the external space, use this project. Both the block and the library are available. Try
No response
On clicking any uknown file, the explorer tried to open it as if it was an apk file
It should let the system decide what actions are possible on that file
latest GitHub action
No response
[07/16/2022 21:48:19.899][Error][AppCrash]:
java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.next(ArrayList.java:860)
at com.raival.fileexplorer.tab.file.FileExplorerTabFragment$IconResolver.lambda$start$1$com-raival-fileexplorer-tab-file-FileExplorerTabFragment$IconResolver(FileExplorerTabFragment.java:559)
at com.raival.fileexplorer.tab.file.FileExplorerTabFragment$IconResolver$$ExternalSyntheticLambda0.run(Unknown Source:4)
at java.lang.Thread.run(Thread.java:919)
[07/17/2022 05:44:56.721][Error][AppCrash]:
java.lang.OutOfMemoryError: Failed to allocate a 130334152 byte allocation with 25149440 free bytes and 122MB until OOM, target footprint 165239048, growth limit 268435456
at java.lang.StringFactory.newStringFromChars(StringFactory.java:260)
at java.lang.StringBuilder.toString(StringBuilder.java:413)
at com.raival.fileexplorer.tab.file.util.FileUtils.readFile(FileUtils.java:373)
at com.raival.fileexplorer.tab.file.dialog.SearchDialog.searchIn(SearchDialog.java:150)
at com.raival.fileexplorer.tab.file.dialog.SearchDialog.searchIn(SearchDialog.java:180)
at com.raival.fileexplorer.tab.file.dialog.SearchDialog.searchIn(SearchDialog.java:180)
at com.raival.fileexplorer.tab.file.dialog.SearchDialog.searchIn(SearchDialog.java:180)
at com.raival.fileexplorer.tab.file.dialog.SearchDialog.lambda$onViewCreated$1$com-raival-fileexplorer-tab-file-dialog-SearchDialog(SearchDialog.java:119)
at com.raival.fileexplorer.tab.file.dialog.SearchDialog$$ExternalSyntheticLambda3.run(Unknown Source:2)
at java.lang.Thread.run(Thread.java:919)
Originally posted by @MartLintz in #19 (comment)
Themed android 13 icon.
OOPS srry, fixed build just hasn't been released yet.
No response
You could possibly add a feature to access and map samba/network drives via the explorer. Once added, it could show up as a tab in the UI or as a storage type in the dropdown
No response
Please add PDF support and checksum calculate really wonderful app and please always leave it offline 👍👍
in android 11+ any third party app will never able to access android /obb or data
it's required SAF or requesting permission to access the specific folder
file explorer should request to accessing specifics folder
like zarchiver or need SAF Support like Amaze File Manager
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.