GithubHelp home page GithubHelp logo

raival-e / file-explorer Goto Github PK

View Code? Open in Web Editor NEW
245.0 8.0 24.0 205 MB

An Android file explorer

License: GNU General Public License v3.0

Java 2.82% Kotlin 97.18%
kotlin android apk editor file-explorer

file-explorer's People

Contributors

izzysoft avatar martlintz avatar raival-e avatar tsiflimagas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

file-explorer's Issues

[Bug]: Crash while deleting folder

What happened?

Crash trying to delete invalid UTF-8 encoded folder

What's the expected behavior?

Folder deleted successfully

What version of File Explorer you are using?

latest release (v1.1.0)

Relevant log output

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.

Multiple selection

Feature Description

While long press there no option for multiple selection. Please bring it in next update

How can this feature be implemented?

Don't know

Duplicate feature

  • This feature has not been requested yet.

Add github issue templates

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).

[Feature]: Monochrome icon support

Feature Description

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!

How can this feature be implemented?

No response

Duplicate feature

  • This feature has not been requested yet.

[Access to sd card,storage access framework and more languages support]:

Feature Description

  1. Support for browsing external sd card.
  2. Support for accessing storage access framework to access apps like Termux.
  3. Support for more languages in code editor. Clang and python.

How can this feature be implemented?

No response

Duplicate feature

  • This feature has not been requested yet.

Extraction and Compression loading bar

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.

Search is not working

[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)

[Feature]: APK installation with Shizuku

Feature Description

Shizuku enables people to install apps without a prompt through a unified API for ADB/root.

How can this feature be implemented?

No response

Duplicate feature

  • This feature has not been requested yet.

APK Download?

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!

Add selection for location when opening new tab

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.

What

Regarding these tabs, i would very much welcome to be asked, what to open, whenever i open a new tab.

How

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.

Why

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.

[Feature]: "Sort by" only for current folder

Feature Description

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.

How can this feature be implemented?

No response

Duplicate feature

  • This feature has not been requested yet.

[Feature]: Accessing cloud storage providers

Feature Description

Include an option to access cloud storage providers like google drive , mega etc ( similar to mixplorer )

How can this feature be implemented?

No response

Duplicate feature

  • This feature has not been requested yet.

FEATURES

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

suggests

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

[Feature]: ability to make archive

Feature Description

Allow file explorer app to create archive with following popular or used format:

  • RAR, ZIP
  • 7z

Additionally you can set compression level from no compression to the best compression and allow user to enable solid archive + split into multiple volume

How can this feature be implemented?

No response

Duplicate feature

  • This feature has not been requested yet.

Crash when changing theme

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```

[Feature]: Add select none or invert selection button

Feature Description

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.

How can this feature be implemented?

  • If in selection mode, we should listen to those when the selection is being changed
  • If everything is in the selection, set another text for the button
  • If everything is in the selection, and the button is clicked, do it differently

Duplicate feature

  • This feature has not been requested yet.

[Feature]: Add multiple file selection

Feature Description

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.

How can this feature be implemented?

As easy as it is.

Duplicate feature

  • This feature has not been requested yet.

[Feature]: music

Feature Description

Allow user to play music directly from the app

App also have additional related feature:

  • repeat and shuffle the music
  • customizable music library

How can this feature be implemented?

No response

Duplicate feature

  • This feature has not been requested yet.

donation

maybe good idea doing donation system for dev work

paypal, .......

Mixplorer

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.

Encryption

Hi sir thank you for your hard work can you please implement file encryption 👍

Add swipe gesture to switch between tabs

Hi!
I know you're busy currently, but as another suggestion:

What

Swipe to the left to switch to the next tab to the left, and similar for rightwards swipe.

How

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.

Why

Makes usage quicker, e.g. when copying from one location to another.

[Feature]: Create Home Shortcut to folder

Feature Description

Enable users to create Home Shortcuts to folders

How can this feature be implemented?

  1. Long-click on a folder to bring up its actions pop-up. There will be a new action called "Create Home shortcut".
  2. Upon clicking the action, a Home Shortcut will be created for that folder. It works as follows:
  • If File Explorer is already launched, it will navigate to the chosen folder
  • Otherwise, File Explorer will be launched directly on the chosen folder

Duplicate feature

  • This feature has not been requested yet.

[FEATURE REQUEST] Add Font size options

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".

Go to sdcard no bug no log

Feature Description

sdcard data for sk pro.zip

To access the external space, use this project. Both the block and the library are available. Try

How can this feature be implemented?

No response

Duplicate feature

  • This feature has not been requested yet.

[Bug]: File Explorer opens uknown files as *.apk

What happened?

On clicking any uknown file, the explorer tried to open it as if it was an apk file

Screenrecorder-2023-03-14-21-30-24-198.mp4

What's the expected behavior?

It should let the system decide what actions are possible on that file

What version of File Explorer you are using?

latest GitHub action

Relevant log output

No response

Duplicate issues

  • This issue has not been reported yet.

This happen suddenly ,when I am searching file . And then click results file to show error.

[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)

[Feature]: Material You icon

Feature Description

Themed android 13 icon.

OOPS srry, fixed build just hasn't been released yet.

How can this feature be implemented?

No response

Duplicate feature

  • [] This feature has not been requested yet.

[Feature]: Access to samba(SMB) storage/Network Drives

Feature Description

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

How can this feature be implemented?

No response

Duplicate feature

  • This feature has not been requested yet.

PDF & checksum calculate

Please add PDF support and checksum calculate really wonderful app and please always leave it offline 👍👍

[Feature]: SAF Support

Feature Description

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

How can this feature be implemented?

file explorer should request to accessing specifics folder
like zarchiver or need SAF Support like Amaze File Manager

Duplicate feature

  • This feature has not been requested yet.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.