df1e / simpleexplorer Goto Github PK
View Code? Open in Web Editor NEWOpen Source Filemanager
Home Page: http://forum.xda-developers.com/showthread.php?t=2330864
License: GNU General Public License v3.0
Open Source Filemanager
Home Page: http://forum.xda-developers.com/showthread.php?t=2330864
License: GNU General Public License v3.0
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.
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
Fileobserver isn't working in directorys which need root access (e.g. /data).
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.
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:
- 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+.
Please add Support to browse USB devices via otg through the storage Access framework api to acess data there without root!
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)
Displays as follows:
EditText
: R.id.group
EditText
: R.id.owner
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)
Device and Software
Steps to Reproduce
BrowserActivity
) Tap the Search button (magnifying glass icon) in the Action Bar to display the SearchActivity
SearchActivity
) Tap the Back buttonExpected Behavior
The SearchActivity
should close, and the previous BrowserActivity
should be displayed.
Observed Behavior
The SearchActivity
stays open and unchanged.
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.
When I rename a file and long-click onto the file name to copy, cut or paste text, I only see a check mark on the left top. Only when I rotate into landscape mode do I see the label "Text selection" next to the check mark, and the buttons "SELECT ALL", "CUT", "COPY" and "PASTE".
No install lolipop 5.0.3 LG L90, Can this fix?
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.
Steps to reproduce
CHOICE_MODE_SINGLE
@DF1E , since CHOICE_MODE_SINGLE is in the new feature I'm implementing, I'll look into this once the feature is solid.
You can retrieve them from this library: Material Design icons or from this tool: Android Asset Studio.
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):
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.
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
Desired behavior
Intent
(ACTION_GET_CONTENT
)DocumentsActivity
(KitKat or later) or ResolverActivity
(pre-KitKat) with SimpleExplorer presented as an optionActivity
in SimpleExplorerEXTRA_ALLOW_MULTIPLE
included, api 18 JELLY_BEAN_MR2
and above)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.
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)
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
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
When I perform these sequences of events, the search widget changes state and I loose the input I entered:
How to exact Zip file ?
it would be nice to be able to set different statrtup paths to rows: root and sd1, sd and sd1...
In some directories couldn't work with root because of SELinux. I will add more infos when I have more time..
[3] dark theme - visible again
Thanks
Josh
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 ?
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.
Steps to reproduce
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.
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
"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.
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.
No install lolipop in 5.0.3 LG L90
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.
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.
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
Hi, I came across your browser while looking for an alternative to this as the author stopped development on it. Looks really good, may I include it in my rom? I have a list of feature request that you may want to consider adding to the todo. Thanks in advance for your hard work!
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 :) 👍
Can you provide a link for any app store?
[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
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.
on files/ folder with spaces in name (e.g. "hello world")
Crashes while trying to "Change Group/ Owner" for any empty folder
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.