teamamaze / amazefilemanager Goto Github PK
View Code? Open in Web Editor NEWMaterial design file manager for Android
Home Page: https://teamamaze.xyz
License: GNU General Public License v3.0
Material design file manager for Android
Home Page: https://teamamaze.xyz
License: GNU General Public License v3.0
When selecting "open with", the user will expect to be presented with a choice among ALL applications with intent filters to handle the file. AmazeFileManager currently only uses the "set" handler, i.e. "open with" --> "From now on".
When choosing "open with", the user should always be presented with a choice among all handlers.
Please see;
http://developer.android.com/guide/components/intents-filters.html#ForceChooser
when i run my app i get an error
Error:(19, 13) Failed to resolve: com.afollestad:material-dialogs:0.4.4
when i run my app i get an error
Error:(19, 13) Failed to resolve: com.afollestad:material-dialogs:0.4.4
this my build code
buildscript {
repositories {
mavenCentral()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.0.0'
}
}
apply plugin: 'com.android.application'
repositories {
mavenCentral()
jcenter()
}
dependencies {
compile 'com.readystatesoftware.systembartint:systembartint:1.0.3'
compile 'com.android.support:appcompat-v7:21.0.+'
compile 'com.afollestad:material-dialogs:0.6.1.5'
compile 'com.melnykov:floatingactionbutton:1.0.7'
compile 'com.nineoldandroids:library:2.4.0'
compile 'com.github.junrar:junrar:0.7'
compile 'org.apache.commons:commons-compress:1.8.1'
// Google Play Services
compile 'com.google.android.gms:play-services-plus:6.5.87'
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.3'
compile project(":library1")
compile fileTree(include: '*.jar', dir: 'libs')
}
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
packagingOptions {
exclude 'proguard-project.txt'
exclude 'project.properties'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/DEPENDENCIES.txt'
exclude 'META-INF/DEPENDENCIES'
}
signingConfigs {
release
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
lintOptions {
abortOnError false
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
// Move the tests to tests/java, tests/res, etc...
instrumentTest.setRoot('tests')
// Move the build types to build-types/<type>
// For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
// This moves them out of them default location under src/<type>/... which would
// conflict with src/ being used by the main source set.
// Adding new build types or product flavors should be accompanied
// by a similar customization.
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
}
def Properties props = new Properties()
def propFile = new File('signing.properties')
if (propFile.canRead()){
props.load(new FileInputStream(propFile))
if (props !=null &&
props.containsKey('STORE_FILE') &&
props.containsKey('STORE_PASSWORD') &&
props.containsKey('KEY_ALIAS') &&
props.containsKey('KEY_PASSWORD'))
{
android.signingConfigs.release.storeFile = file(props['STORE_FILE'])
android.signingConfigs.release.storePassword = props['STORE_PASSWORD']
android.signingConfigs.release.keyAlias = props['KEY_ALIAS']
android.signingConfigs.release.keyPassword = props['KEY_PASSWORD']
} else {
println 'signing.properties found but some entries are missing'
android.buildTypes.release.signingConfig = null
}
}else {
println 'signing.properties not found'
android.buildTypes.release.signingConfig = null
}
Latest code (6fa33b7) crashes when opening settings:
E/AndroidRuntime( 5083): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.amaze.filemanager/com.amaze.filemanager.activities.Preferences}: android.view.InflateException: Binary XML file line #35: Error inflating class fragment
E/AndroidRuntime( 5083): Caused by: android.view.InflateException: Binary XML file line #35: Error inflating class fragment
As described in title. If I try to open a Database Amaze crashes…
Well with my username I've gotta say something about that: As good as your app is right now, there are some features which in my opinion are either useless or with so few usecases they can easily be removed from your app and won't clutter your UI (especially the options menu). A few of these are:
Other thing I just noticed that I'm too lazy to create new issues (don't want to flood you with them and don't have the time to fix it right away):
I think that was it, sorry that I can't help you more, but I hope at least I can guide you in the right direction a bit.
I cannot open any of the configuration files from /data/data/*, except for files under /data/data/com.amaze.filemanager
. Error report is just: "Error". I guess this could be due to file permissions.
Note: root access is enabled, and I can open text/xml files under /system, for example.
FrameLayout.MarginLayoutParams p = (ViewGroup.MarginLayoutParams) findViewById(R.id.texteditor).getLayoutParams(); ====> null pointer here
Please check it !
Caused by: java.lang.NullPointerException
at com.amaze.filemanager.activities.DbViewer.onCreate(DbViewer.java:94)
at android.app.Activity.performCreate(Activity.java)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java)
I think it's a very useful function for a file manager.
Keep up the good work! =D
Skin settings are not retained, upon leaving settings activity skin is back to default.
When selecting App Manager form the drawer and then quickly, you change orientation of device in the middle of loading process, the list view of AppsList fragment will not be update after the async task finished and it shows an empty list screen.
This happens because when the orientation change, the fragment will be destroyed and a new fragment instance will be created. Meanwhile, the LoadListTask instance still holds references to member variables of the old fragment instance.
Calling setRetainInstance(true) for the fragment would work.
I could create a pull request if you want to fix this.
One can create a shortcut on the home screen for a folder.
Clicking it starts the filemanager but
and in both cases the selected directory is not opened.
Version v2.0.5
Android 4.2.1
As discussed on IRC, fdroid cannot build apps with play-services. Providing a gradle build flavor will most likely work if you don't overly use play-services. Have a look at http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Product-flavors as a guide. Also look at the other app you mentioned on how to integrate them.
From a quick glance I see you update your build.gradle with:
productFlavors {
fdroid {
}
play {
}
}
Make non-free dependencies a playCompile
instead of compile
and add source sets, basically moving all code for non-free stuff to a specific source directory. E.g. QuickLyrics uses QuickLyric/src/play/java/com/
.
As I said, I am not an Android developer, but this should guide you in the right direction.
What do you guys think about using an webservice to manage translations?
I use it to translate some OSS. You can use transifex, crowdin and onesky.
First two provide free hosting to OSS, the latest one I don´t know.
The feature Settings -> Feedback does not work: Clicking causes the App to crash (closes, Android Dialog that it exited).
Version v2.0.5
Android 4.2.1
I get these errors:
/home/user/AndroidProjects/AmazeFileManager/src/main/java/com/amaze/filemanager/utils/Futils.java:569: error: cannot find symbol
m.extractFile(f);
^
symbol: method extractFile(File)
location: variable m of type MainActivity
/home/user/AndroidProjects/AmazeFileManager/src/main/java/com/amaze/filemanager/utils/Futils.java:625: error: cannot find symbol
m.compressFiles(new File(name),b);
^
symbol: method compressFiles(File,ArrayList<String>)
location: variable m of type MainActivity
/home/user/AndroidProjects/AmazeFileManager/src/main/java/com/amaze/filemanager/fragments/Main.java:939: error: cannot find symbol
mainActivity.extractFile(new File(list.get(plist.get(0)).getDesc()));
^
symbol: method extractFile(File)
location: variable mainActivity of type MainActivity
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
3 errors
I don't know how about other password types but at least aes256 password protected zip files are not working
It is hard to explain this properly in the issue title. I will explain by example;
When clicking on an "ods" file (libreoffice/openoffice spreadsheet), the file is correctly loaded in LibreOffice Viewer.
https://play.google.com/store/apps/details?id=com.collabora.libreoffice
However, when clicking on an "odt" file (libreoffice/openoffice word processor document), it is loaded in the file manager's integrated text editor. Of course, it is a binary file, so this does not work. It is possible to open it in libreoffice from the file manager only by long-press --> menu --> open with. HOWEVER, even when setting "open with" to always use libreoffice to open the file, it persists in opening it with the text editor. It just removes the choice from when you select open with.
odt file should always open with libreoffice when clicking. In fact, all binary files should not open with the integrated text editor, but rather skip directly to "open with".
In Google Play store various 5.0.x releases are listed.
All the code seems to be on github too, but it would be very nice if you could mark the according versions as release on github, so they can be built for F-Droid.
While you can use the Properties page to view long file names, it's a bit inconvenient, especially if you are sorting through a number of files with the beginnings of the names similar, and it's pretty common for file names to get cut off.
Would it be possible to add some sort of scrolling or hover or expand or something?
Please add support for 7-Zip (.7z) archives. Preferably also support encrypted ones.
Is this intentional? It does not look as functional to me.
I would like to add Portuguese translation. If no one is working on it I can for the project ad make a pull request afterwards.
Is anyone working on Portuguese translation?
I played around and clicked on an .kdb-Keepassfile (used with KeepassX) and in the option "open with" I clicked "Database" and then the file disappeared
With new release there are some untranslated strings:
From above of the drawer and below appbar:
Directories
Files
From settings:
Show Dividers
Settings (in appbar)
Please add support for .tar.gz, .tar.bz2 and .tar.xz archives. Also .tar (non-compressed one) seems to be supported, but View is disabled, I can only Extract it. Please also enable View (for both .tar and compressed variants like .tar.gz, .tar.bz2 and .tar.xz).
When opening a document (which opens another app), after hitting the back-butt, not only the document (other app) closes but also the filemanager, returning to the home screen.
Instead one should return to the filemanager, at the same state where it was left.
Version v3.0.0
Android 4.2.1
I can only open text-files in /data/data* in /data or /data/misc or else, nothing happens…
Is it possible to compile this project in AIDE? The gradle thing looks strange and ive a lot of errors
Try searching something in sdcard, while searching is processing we rotate the screen. It will get force close.
Please check it !
Hi
Apologies to create a new issue. When I meant Secure Storage I meant like "Create a local encfs based file system". Similar to https://github.com/neurodroid/cryptonite
I agree "entire android" is becoming encrypted, but it has some impact on performance[1]. Whether or not [1] is solved (by a better hardware, software); it would be nice to have a local encrypted folder mounted via encfs.
Even if one has fully encrypted phone, it would be useful to move confidential photos/PDF to this folder. Then when you show your Gallery/Pics/Docs to others these will not pop up. This applies to for example your CV, resume, or confidential docs.
Great work. Would be nice to have a secure storage like CMFile manager.
When browsing /storage/emulated/0/ and pressing either the in-browser or softkey "back" Amaze wants to close the app.
When browsing /storage/sdcard1/ and pressing either the in-browser or softkey "back" Amaze goes up to /storage and then to /
It should probablly behave the same way, no matter which folder is browsed.
Either add / as bookmark, so it can be browsed, also on devices without external sdcard, and make the app close when pressing "back", or use the back button to go one folder up.
and should be "moving file(s)".
I used the scissors icon for "cut". When I read "copying" I was confused and had to check if the file was actually moved.
I'm using BlissPop v3.5 unofficial for LG Optimus 4x HD. Amaze version 2.0.5 from F-Droid repo.
Problem is that I can't move or copy into system partition, instead it displays some strange dialog to open a root folder (?). Am I missing something? I'll try to pull out some logs.
It should be possible to duplicate files, e.g., by copy&paste, with a rename request if file already exists.
Amaze has a left and a right pane, right. I would like to have some kind of visual indication of which one I'm currently in.
It is for example useful to know if I should swipe left or right next, in order to reach the other pane.
One possibility would be to let the path and used/free lines be both justified to the left side if I'm in the left pane, and justified right if I'm in the right.
It will be easier sharing files between phone and computer without a USB cable, and yet I haven't ever found an open-source Android file manager with CIFS support. The only open-source Android application about which I know with CIFS support is XBMC, but pitifully it can't only download files from the computer and play it directly. The remote share can be treated as a "folder" in parallel with the local storage.
The Website of the library is http://jcifs.samba.org/
As long as this project is developed via Android Studio, it may be a good idea to share the regulation file out in order to have better uniformity in the code style.
This is the procedure:
Open File
| Settings
| Editor
| Code Style
Set Scheme
to Project
Add .idea/codeStyleSettings.xml
into the source control
Thank you!
When a home directory is set, regardless whether the filemanager was opened directly or via a different home screen shortcut, the following behaviour can be observed:
I would expect to be able to navigate further up in the file hierarchy.
The option "Back navigation" does not change anything (Another hint: The description for this option is unclear, I don't know what it does).
Version v3.0.0
Android 4.2.1
Currently this project uses java.util.zip, but this package use UTF-8 by default and provides no other choices. Consequently it doesn't work correctly when extracting zip archives from a Windows computer in CJK, because the charset of the archive is CP936 in the Simplified Chinese version of Windows. Meanwhile the library supports more formats like ar, arj, cpio, dump, tar, 7z, zip, bzip2, Pack200, XZ, gzip, lzma and Z. Looking forward to your commit.
Lets say I have a directory full of OpenDocument files (.odt for libreoffice/openoffice) and I want to open one of them in LibreOfficeViewer.
Currently, I can click on the file, and it opens in an internal viewer that is only capable of displaying TEXT files, or I can long-click it and get a copy/paste menu with no option to "open with".
If I go into astro file manager, I can click on the file, it asks me what program I would like to open it with, and offers the option for "always" for that file type.
This is critical functionality that a file browser CAN'T do without. It is, effectively, the entire purpose of a file browser.
I would love it, if amaze filemanager could manage mor archives. For instance .7z .tar .rar etc. The most amazing thing for me would be, if it would support all archives 7zip or peazip supports.
When opening the file properties Amaze is frozen until the MD5 sum of the file is calculated.
Even on relatively modern phones this easily results in a extremely long period that the whole file manager is not responding, when showing the properties of large files.
One solution would be to caluclate the MD5 in a separate thread and display it when ready.
Maybe better: insert a button to trigger the MD5 caluclation, as it is rarely needed.
Crash upon start, commit: 6d118f7
u0_a16@android:/ $ su
u0_a16@android:/ # logcat *:E
--------- beginning of /dev/log/system
E/ActivityThread(21240): Failed to find provider info for browser
E/AndroidRuntime(21383): FATAL EXCEPTION: main
E/AndroidRuntime(21383): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.amaze.filemanager/com.amaze.filemanager.activities.MainActivity}: java.lang.NullPointerException
E/AndroidRuntime(21383): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2343)
E/AndroidRuntime(21383): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2395)
E/AndroidRuntime(21383): at android.app.ActivityThread.access$600(ActivityThread.java:162)
E/AndroidRuntime(21383): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364)
E/AndroidRuntime(21383): at android.os.Handler.dispatchMessage(Handler.java:107)
E/AndroidRuntime(21383): at android.os.Looper.loop(Looper.java:194)
E/AndroidRuntime(21383): at android.app.ActivityThread.main(ActivityThread.java:5371)
E/AndroidRuntime(21383): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(21383): at java.lang.reflect.Method.invoke(Method.java:525)
E/AndroidRuntime(21383): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
E/AndroidRuntime(21383): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
E/AndroidRuntime(21383): at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
E/AndroidRuntime(21383): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(21383): Caused by: java.lang.NullPointerException
E/AndroidRuntime(21383): at com.amaze.filemanager.fragments.TabFragment.addTab(TabFragment.java:297)
E/AndroidRuntime(21383): at com.amaze.filemanager.fragments.TabFragment.onCreateView(TabFragment.java:139)
E/AndroidRuntime(21383): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1786)
E/AndroidRuntime(21383): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:947)
E/AndroidRuntime(21383): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1126)
E/AndroidRuntime(21383): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739)
E/AndroidRuntime(21383): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1489)
E/AndroidRuntime(21383): at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:548)
E/AndroidRuntime(21383): at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1167)
E/AndroidRuntime(21383): at android.app.Activity.performStart(Activity.java:5132)
E/AndroidRuntime(21383): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2316)
E/AndroidRuntime(21383): ... 12 more
E/AppErrorDialog( 5243): Failed to get ILowStorageHandle instance
Edit: Cleared app data and it started normally.
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.