GithubHelp home page GithubHelp logo

df1e / simpleexplorer Goto Github PK

View Code? Open in Web Editor NEW
138.0 138.0 62.0 5.18 MB

Open Source Filemanager

Home Page: http://forum.xda-developers.com/showthread.php?t=2330864

License: GNU General Public License v3.0

Java 100.00%

simpleexplorer's People

Contributors

bryant1410 avatar connorrigby avatar flossingisimportant avatar igxactly avatar mary-kate avatar matthewbooth avatar pylersm avatar robi772 avatar taocp avatar unrulygnu 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

simpleexplorer's Issues

The app crashes on the "details" window

When I select a file/folder, then select "details" option. When I press the "ok" button on the details window, the app crashes and closes. It always happens to me.
I'm using CyanogenMod 11 Kitkat.

File provider doesn't work properly on Android N

When trying to press on any kind of media files the shared uri will only work with the Google Music app, but will fail with any other existing player (VLC, MX Player, PowerAmp, ...)
Example of an uri returned by the file provider:

content://com.dnielfe.manager.debug.fileprovider/share/Media/audio/music.mp3

This works fine on a device running Android 6 or if changing the target SDK to 23

"Empty" root folders

Root folders are shown as "empty" even after giving them root permissions. I'm pretty sure they are not empty.
EDIT: Screenshots from one of my friends phones.
img-20150303-wa0005

Fileobserver bug

Fileobserver isn't working in directorys which need root access (e.g. /data).

Release binaries to github

Hi, first of all thanks for the great app. I'd been using one of the popular proprietary file managers for several years, until they started spamming me with notifications about viruses in the status bar. Then I found Simple Explorer and it's perfect.

Could you please consider uploading your binary releases to github, as this is a lot more convenient than XDA. Google Play would be even more convenient, as I almost didn't find simple explorer in my search for a FOSS file manager. Non-developers might have trouble finding it on XDA or F-Droid.

It's relatively simple to automate uploads to both github and play in your release script, so I'd encourage you to do so.

License clash: junrar is incompatible with GPL

Hello,
Simple Explorer is licensed under GPL2.0 so it cannot use the junrar library, whose license is non-free and incompatible with the GPL:

  1. The UnRAR sources may be used in any software to handle RAR
    archives without limitations free of charge, but cannot be used
    to re-create the RAR compression algorithm, which is proprietary.
    Distribution of modified UnRAR sources in separate form or as a
    part of other software is permitted, provided that it is clearly
    stated in the documentation and source comments that the code may
    not be used to develop a RAR (WinRAR) compatible archiver.

BTW, the "Apache Commons" libraries are under Apache v2.0 which is incompatible with GPL2.0.
I know that SimpleExplorer AFAIK uses the "or later" clause (at least on some files) so everything should be all right (and no action is neccessary, IANAL). However, it should be explicitly stated in Readme.md that SimpleExplorer is under GPL2.0+.

permission

I have Toast message "Cannot read folder due to permissions" and this log on my Android emulator API-23

java.io.IOException: Error running exec(). Command: [su] Working Directory: null Environment: null
09-15 15:05:24.890    3260-3287/com.dnielfe.manager.debug W/System.err﹕ at java.lang.ProcessManager.exec(ProcessManager.java:211)
09-15 15:05:24.890    3260-3287/com.dnielfe.manager.debug W/System.err﹕ at java.lang.Runtime.exec(Runtime.java:174)
09-15 15:05:24.890    3260-3287/com.dnielfe.manager.debug W/System.err﹕ at java.lang.Runtime.exec(Runtime.java:247)
09-15 15:05:24.890    3260-3287/com.dnielfe.manager.debug W/System.err﹕ at java.lang.Runtime.exec(Runtime.java:190)
09-15 15:05:24.890    3260-3287/com.dnielfe.manager.debug W/System.err﹕ at com.stericson.RootShell.execution.Shell.<init>(Shell.java:144)
09-15 15:05:24.890    3260-3287/com.dnielfe.manager.debug W/System.err﹕ at com.stericson.RootShell.execution.Shell.startRootShell(Shell.java:848)
09-15 15:05:24.890    3260-3287/com.dnielfe.manager.debug W/System.err﹕ at com.stericson.RootShell.execution.Shell.startRootShell(Shell.java:834)
09-15 15:05:24.890    3260-3287/com.dnielfe.manager.debug W/System.err﹕ at com.stericson.RootShell.execution.Shell.startRootShell(Shell.java:826)
09-15 15:05:24.890    3260-3287/com.dnielfe.manager.debug W/System.err﹕ at com.stericson.RootShell.RootShell.isAccessGiven(RootShell.java:372)
09-15 15:05:24.890    3260-3287/com.dnielfe.manager.debug W/System.err﹕ at com.stericson.RootTools.RootTools.isAccessGiven(RootTools.java:616)
09-15 15:05:24.890    3260-3287/com.dnielfe.manager.debug W/System.err﹕ at com.dnielfe.manager.dialogs.DirectoryInfoDialog$PartitionInfoTask.doInBackground(DirectoryInfoDialog.java:100)
09-15 15:05:24.890    3260-3287/com.dnielfe.manager.debug W/System.err﹕ at com.dnielfe.manager.dialogs.DirectoryInfoDialog$PartitionInfoTask.doInBackground(DirectoryInfoDialog.java:81)
09-15 15:05:24.890    3260-3287/com.dnielfe.manager.debug W/System.err﹕ at android.os.AsyncTask$2.call(AsyncTask.java:295)
09-15 15:05:24.890    3260-3287/com.dnielfe.manager.debug W/System.err﹕ at java.util.concurrent.FutureTask.run(FutureTask.java:237)
09-15 15:05:24.890    3260-3287/com.dnielfe.manager.debug W/System.err﹕ at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
09-15 15:05:24.890    3260-3287/com.dnielfe.manager.debug W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
09-15 15:05:24.890    3260-3287/com.dnielfe.manager.debug W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
09-15 15:05:24.890    3260-3287/com.dnielfe.manager.debug W/System.err﹕ at java.lang.Thread.run(Thread.java:818)
09-15 15:05:24.890    3260-3287/com.dnielfe.manager.debug W/System.err﹕ Caused by: java.io.IOException: Permission denied
09-15 15:05:24.890    3260-3287/com.dnielfe.manager.debug W/System.err﹕ at java.lang.ProcessManager.exec(Native Method)
09-15 15:05:24.890    3260-3287/com.dnielfe.manager.debug W/System.err﹕ at java.lang.ProcessManager.exec(ProcessManager.java:209)

Issue #23 [Android 4.4.2] Reboot

My device (Samsung GT-N7100) is rooted.

java.lang.IllegalArgumentException: Bad permission line
at com.dnielfe.manager.h.e.(Unknown Source)
at com.dnielfe.manager.c.w.a(Unknown Source)
at com.dnielfe.manager.c.w.c(Unknown Source)
at com.dnielfe.manager.c.w.a(Unknown Source)
at com.dnielfe.manager.c.ab.a(Unknown Source)
at android.support.v4.view.ViewPager.a(Unknown Source)
at android.support.v4.view.ViewPager.a(Unknown Source)
at android.support.v4.view.ViewPager.c(Unknown Source)
at android.support.v4.view.ViewPager.onMeasure(Unknown Source)
at android.view.View.measure(View.java:17495)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5363)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1410)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
at android.view.View.measure(View.java:17495)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5363)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at android.view.View.measure(View.java:17495)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5363)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at android.view.View.measure(View.java:17495)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5363)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1410)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
at android.view.View.measure(View.java:17495)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5363)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at android.view.View.measure(View.java:17495)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5363)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at android.view.View.measure(View.java:17495)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5363)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2548)
at android.view.View.measure(View.java:17495)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2285)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1371)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1595)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1254)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6637)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:814)
at android.view.Choreographer.doCallbacks(Choreographer.java:614)
at android.view.Choreographer.doFrame(Choreographer.java:584)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:800)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:146)
at android.app.ActivityThread.main(ActivityThread.java:5602)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
at dalvik.system.NativeStart.main(Native Method)

Back button has no effect in SearchActivity (Up button works, however)

Device and Software

  • Google Nexus 5 D820
  • Android 5.1 LMY47I stock; no superuser
  • Simple Explorer 2.2.5

Steps to Reproduce

  1. Launch Simple Explorer
  2. (BrowserActivity) Tap the Search button (magnifying glass icon) in the Action Bar to display the SearchActivity
  3. (SearchActivity) Tap the Back button

screenshot_2015-04-13-00-01-20

Expected Behavior

The SearchActivity should close, and the previous BrowserActivity should be displayed.

Observed Behavior

The SearchActivity stays open and unchanged.

Crash on return from recents.

When returning to the app from the recents or when the app is paused by OOM, then returned to, Simple Explorer crashes.

I find that this occurs when the app calls cursor.close(); in onPause or onDestroy.

To test this, try running the app with a minSdk and targetSdk of 10 or less then run it.

Showing files of specific type

Hi. First of all, thanks for such a great project. I am integrating your project in one of my apps. In my app, I have a special requirement. In my app there is an Activity having three buttons namely Pictures, Music and Videos. When user will click on Pictures, I want to show all the photos in the phone. Same for Music and Videos. How can I achieve this?
In it possible with your current project? Will you upgrade your app for such a functionality? I will really appreciate that.

Selected list item remains checked on directory navigation in CHOICE_MODE_SINGLE

Steps to reproduce

  1. Ensure list choice mode is set to CHOICE_MODE_SINGLE
  2. Tap a directory with more entries than its position/id in the current view
  3. Observe the tapped item's remaining checked in the refreshed view
  4. Tap the back button
  5. Observe the previous view's checked item remaining checked in the refreshed view

side-by-side

@DF1E , since CHOICE_MODE_SINGLE is in the new feature I'm implementing, I'll look into this once the feature is solid.

Not able to browse the subdirectories of /data/media/ on a rooted Asus Fonepad 7 (ME372CG)

I own a rooted Asus Fonepad 7 (ME372CG). With SimpleExplorer, I'm able to view the /data/media/ directory and see that there are four "files" (all of which are actually directories, I believe):

  • 0
  • cache
  • legacy
  • obb

I know for a fact that /data/media/obb/com.microsoft.office.word, for example, is a directory that exists and contains one file, since I've manually created that directory (via adb and su). As said, SimpleExplorer displays the contents of the /data/media/ directory as "files" with an unknown file type, not as folders, so tapping on the obb folder brings up the "Complete action using" menu, and the listed options contain merely the built-in apps (which is useless, since the Fonepad's built-in file explorer claims that /data/ is empty even after rooting the device, so no point in trying to open /data/media/obb/ with the built-in file manager).

Using version 2.2.5 of SimpleExplorer; "Enable root access" is checked in SimpleExplorer's settings.

Add sort preference: "Folders before files"

Hi everybody, it would be great to add a new item to "sort preferences" in the settings menu: Sort "Folders before files" would be great, as many people prefere that way of sorting files. Thanks a lot in advance!
Spectas

Feature: Enable other apps to browse and choose files via implicit Intent

Desired behavior

  1. In a third-party app, initiate "Choose file" (or similar action)
  2. Third-party app sends an implicit Intent (ACTION_GET_CONTENT)
  3. System displays a DocumentsActivity (KitKat or later) or ResolverActivity (pre-KitKat) with SimpleExplorer presented as an option
  4. Select SimpleExplorer
  5. System starts "Choose a file" Activity in SimpleExplorer
  6. Browse and choose a file in SimpleExplorer (allow multiple selections if EXTRA_ALLOW_MULTIPLE included, api 18 JELLY_BEAN_MR2 and above)
  7. System restarts third-party app Activity with chosen file Uri in Intent

Implementation

Implementing this feature shouldn't impact performance at all, nor should it require any additional permissions, and it should reuse existing components with only minor updates.

@DF1E, if you don't have any objections, I'll start working on this in the next couple of days. If it looks like it will require more significant changes than anticipated, I'll post here.

Copying from internal storage to external (microSDXC card) fails

I sent a file from another device to my Fonepad over Bluetooth; the file was placed in /storage/emulated/0/bluetooth/, which appears to be Fonepad's default directory where to place files received over Bluetooth. Attempting to copy this file into /storage/MicroSD/DCIM/ de facto fails, though SimpleExplorer claims that it was copied successfully (the copysuccsess internationalization message). Copying the same file with the Fonepad's built-in file manager works as it shows up in the directory right away, as you'd expect.

Device: Asus Fonepad 7 (ME372CG), rooted
OS: KitKat (4.4.2)
SimpleExplorer version: 2.2.5 (root access enabled in app settings)

Cannot move file to Real External SD card

I cannot cut/copy a file from storage of Phone to real external SD card (with phone support external sd card). Also cannot create a file/folder in real external SD card
Tested with version 2.3.1

[Solution] Lag when scrolling above directory with a lot of files

There is a simple solution for this problem. First off, we need to implement Picasso pibrary, because, why do we invent wheel when it's already invented ? So this is how the getFileIcon method looks now:

public static void getFileIcon(File file, final ImageView icon, int numberOfFiles) {
            if (Settings.showThumbnail() & isvalidMimeType(file)) {
            Picasso.with(mContext).load(file).into(icon);
        } else {
            loadFromRes(file, icon, numberOfFiles);
        }
    }

here is improved version of loadFromRes() method, where we already know number of files so we don't count them again (We save a lot of memory):

private static void loadFromRes(final File file, final ImageView icon, final int numberOfFiles) {
        Drawable mimeIcon = null;
        if (file != null) {
            if (file.isDirectory()) {
                if (file.canRead() && numberOfFiles > 0) {
                    mimeIcon = mResources.getDrawable(R.drawable.type_folder);
                } else {
                    mimeIcon = mResources.getDrawable(R.drawable.type_folder_empty);
                }
            } else if (file.isFile()) {
                final String fileExt = SimpleUtils.getExtension(file.getName());
                mimeIcon = mMimeTypeIconCache.get(fileExt);

                if (mimeIcon == null) {
                    final int mimeIconId = MimeTypes.getIconForExt(fileExt);
                    if (mimeIconId != 0) {
                        mimeIcon = mResources.getDrawable(mimeIconId);
                        mMimeTypeIconCache.put(fileExt, mimeIcon);
                    }
                }
            }
        }
        if (mimeIcon != null) {
            icon.setImageDrawable(mimeIcon);
        } else {
            // default icon
            icon.setImageResource(R.drawable.type_unknown);
        }
    }  

and finally, my solution to loading file information with icon, yeah as you already guessed, we need AsyncTask with a callback:

static class CountFiles extends AsyncTask<File, Void, Integer> {
        public AsyncResponse delegate = null;


        public interface AsyncResponse {
            void processFinish(int output);
        }

        public CountFiles(AsyncResponse delegate) {
            this.delegate = delegate;
        }

        @Override
        protected Integer doInBackground(File... params) {
            File data = params[0];
            if (data != null && data.isDirectory()) {
                return data.list().length;
            } else {
                return 0;
            }
        }

        @Override
        protected void onPostExecute(Integer count) {
            delegate.processFinish(count);
        }
    }

and last piece of code:

AsyncTask<File, Void, Integer> numberOfFiles = new CountFiles(new CountFiles.AsyncResponse() {
            @Override
            public void processFinish(int output) {
                IconPreview.getFileIcon(file, mViewHolder.icon, output);

                if (file.isFile()) {
                    // Shows the size of File
                    mViewHolder.bottomView.setText(SimpleUtils.formatCalculatedSize(file.length()));
                } else {
                    // show the number of files in Folder
                    mViewHolder.bottomView.setText(output
                            + mResources.getString(R.string.files));
                }
            }
        }).execute(file);

that should be all, enjoy

several problems with root

In some directories couldn't work with root because of SELinux. I will add more infos when I have more time..

2.2.5 F-droid ver. // White shading at top

[2] dark theme - invisible
invisible

[3] dark theme - visible again
visible-again

Thanks
Josh

Lag on large directory

Hello, I'm using your code in my own file explorer. And I am encountering issue with large directories. Once a directory has more than 1k subFiles when I scroll to it I got lag for 1 second. My tested directory has 17k subFiles and I lag very hard when scrolling over it. Can you please resolve it ?

[feature-request] Optional tool bar at bottom for one hand users

i try to operate my device with one hand whenever possible (that's why i always buy smaller sized phones) but it's hard to manage files with one hand if you have tool bar placed at top. coluld you please make an option to place tool bar at the bottom when files/folders are selected? the description of how many files are selected would stay at top, only the bar with tools would appear at the bottom.

ActionMode keeps selection when changing directory by navigation buttons

Steps to reproduce

  1. Long-press an element in the list to activate ActionMode (contextual action bar)
  2. Tap a navigation button to change directory
  3. Observe that ActionMode is still active, with the same element selected, now a different file

sidebyeach

I'm deep in Juractionmode Park with the feature I'm working on (refactoring ActionModeController, etc), so I will have a solution in my production pull request.

incorrectly says "successully moved"

When I try to copy or cut a file in my SD card, the message when pasting says "successfully moved" but nothing actually happened.
Other file managers have no problem performing the same operation.

Specs :
Simple Explorer version : 2.3.1
OS : /e/ version 0.13-2020120989402
Android version : 7.1.2
Device : Fairphone 2

[feature request] Open files that are not linked to a default app

"Unknown" files cannot be opened with SE, it simply displays a toast saying "Cannot open this file". It would be helpful, if SE could let the user choose which app to open a file with (=> list of all apps). Even better would be a dialogue that lets the user choose as what kind of file a file should be opened as. This way, the list of possible apps to choose from would be shorter.

Example:
I want to open "script.sh" and click onto the file
=> SE asks me as what file type I would like to open script.sh.
I choose "open as text file"
=> SE shows a list of all apps that can open text files.

Portuguese translation

Hi,

I would like to contribute with Portuguese language.

Is anyone working on it?

If not, I will fork Your repo and when done I´ll make an pull request.

What's your plan for Android Q?

Hello fellow FOSS developer, I build the Manyverse app which is also on F-Droid.

Have you heard of Google's schedule to deprecate shared external directories? See this article.

Your app uses Environment.getExternalStorageDirectory() which Google is deprecating in API level 29.

return mPrefs.getString("defaultdir", Environment.getExternalStorageDirectory().getPath());

I think this is terrible news from Google, and I'd like to use getExternalStorageDirectory() too. This change in Android Q will affect all File Managers and significantly change the UX and possible features for users. I would like to know if you have any ideas what could be done.

Zero length files after delete

After deleting file on external SD card - appears file with the same name, but with zero length.
Samsung Galaxy S 2 GT-I9100, Android 4.1.2. App v 2.2.6

Frequent Crashes

Crashes a lot after giving root permissions on xhdpi devices. Tried on various emulators.
Suggest to implement libraries from here - https://github.com/kshark27/UltraExplorer
Will update issue after trying to fix this bug. Supporting as much as possible
thanks for this awesome File Explorer :) 👍

Crashed while deleting video file

[Samsung GT-N7100/Android 4.4.2]

This one happened a few minutes ago and once yesterday:

java.lang.IllegalArgumentException: Bad permission line
at com.dnielfe.manager.h.e.(Unknown Source)
at com.dnielfe.manager.c.w.a(Unknown Source)
at com.dnielfe.manager.c.w.c(Unknown Source)
at com.dnielfe.manager.c.w.a(Unknown Source)
at com.dnielfe.manager.c.ab.a(Unknown Source)
at android.support.v4.view.ViewPager.a(Unknown Source)
at android.support.v4.view.ViewPager.a(Unknown Source)
at android.support.v4.view.ViewPager.c(Unknown Source)
at android.support.v4.view.ViewPager.onMeasure(Unknown Source)
at android.view.View.measure(View.java:17495)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5363)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1410)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
at android.view.View.measure(View.java:17495)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5363)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at android.view.View.measure(View.java:17495)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5363)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at android.view.View.measure(View.java:17495)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5363)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1410)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
at android.view.View.measure(View.java:17495)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5363)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at android.view.View.measure(View.java:17495)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5363)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at android.view.View.measure(View.java:17495)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5363)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2548)
at android.view.View.measure(View.java:17495)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2285)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1371)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1595)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1254)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6637)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:814)
at android.view.Choreographer.doCallbacks(Choreographer.java:614)
at android.view.Choreographer.doFrame(Choreographer.java:584)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:800)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:146)
at android.app.ActivityThread.main(ActivityThread.java:5602)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
at dalvik.system.NativeStart.main(Native Method)

This one happened twice two days ago and once on Jan 2nd:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.dnielfe.manager/com.dnielfe.manager.BrowserActivity}: java.lang.RuntimeException: Parcel android.os.Parcel@430b9660: Unmarshalling unknown type code 2131558484 at offset 508
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2413)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2471)
at android.app.ActivityThread.access$900(ActivityThread.java:175)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:146)
at android.app.ActivityThread.main(ActivityThread.java:5602)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.RuntimeException: Parcel android.os.Parcel@430b9660: Unmarshalling unknown type code 2131558484 at offset 508
at android.os.Parcel.readValue(Parcel.java:2087)
at android.os.Parcel.readSparseArrayInternal(Parcel.java:2382)
at android.os.Parcel.readSparseArray(Parcel.java:1742)
at android.os.Parcel.readValue(Parcel.java:2077)
at android.os.Parcel.readArrayMapInternal(Parcel.java:2321)
at android.os.Bundle.unparcel(Bundle.java:249)
at android.os.Bundle.getSparseParcelableArray(Bundle.java:1273)
at com.android.internal.policy.impl.PhoneWindow.restoreHierarchyState(PhoneWindow.java:1949)
at android.app.Activity.onRestoreInstanceState(Activity.java:983)
at android.app.Activity.performRestoreInstanceState(Activity.java:955)
at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1144)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2391)
... 12 more

Improvement : Browse network

Hello,

It would be great to be able to browse samba / AFP / others network to open / download / push files on other devices, like a classic PC browser.

Crash Report

Crashes while trying to "Change Group/ Owner" for any empty folder

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.