OSDN Git Service

cmfm: secure storage and other improvements
authorJorge Ruesga <jorge@ruesga.com>
Tue, 28 Oct 2014 02:26:42 +0000 (03:26 +0100)
committerJorge Ruesga <jorge@ruesga.com>
Mon, 10 Nov 2014 23:16:25 +0000 (23:16 +0000)
commit877d4660622ebcaa992f05396237169c289470c4
treeb254cb04803096aa9695f42e1bcc914ba09e12fd
parentfcb4908c2c949f55ec966e09a0a91210dff2ca3f
cmfm: secure storage and other improvements

This patch adds support for virtual filesystems and implements a SecureStorage
filesystem (a password protected area) mounted in /storage or /sdcard/storage
(in chrooted environments).
Also includes a better print support and a cleanup of the code and design of
the menu drawer.
Bump version to 2.0.0

Required: https://github.com/jruesga/android_external_libtruezip located
in external/libtruezip

Patchset 4: Fix selection of unmounted virtual storages.
            Fix actions on virtual mount points folders.
            Fix strings and typos. Change drop for delete secure storage.
Patchset 5: Move actionbar buttons to navigation drawer
            Remove history position
Patchset 6: Update theme preview images
            Fix filesystem status image on theme change
Patchset 7: Fix binary file detection in editor (including unicode files)
Patchset 8: Fix unsafe operations in virtual mountpoint logic
Patchset 9: Rebase

Change-Id: I65511352ca649dcbf238c8b07cf8c22465296e8e
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
157 files changed:
Android.mk
AndroidManifest.xml
CHANGELOG.md
README.md
proguard.flags
res/drawable-hdpi/ic_holo_light_delete.png [new file with mode: 0644]
res/drawable-hdpi/ic_holo_light_print.png [new file with mode: 0644]
res/drawable-hdpi/ic_holo_light_remote.png [new file with mode: 0644]
res/drawable-hdpi/ic_holo_light_secure.png [new file with mode: 0644]
res/drawable-hdpi/ic_holo_light_settings.png [new file with mode: 0644]
res/drawable-hdpi/ic_overlay_remote.png [new file with mode: 0644]
res/drawable-hdpi/ic_overlay_secure.png [new file with mode: 0644]
res/drawable-mdpi/ic_holo_light_delete.png [new file with mode: 0644]
res/drawable-mdpi/ic_holo_light_print.png [new file with mode: 0644]
res/drawable-mdpi/ic_holo_light_remote.png [new file with mode: 0644]
res/drawable-mdpi/ic_holo_light_secure.png [new file with mode: 0644]
res/drawable-mdpi/ic_holo_light_settings.png [new file with mode: 0644]
res/drawable-mdpi/ic_overlay_remote.png [new file with mode: 0644]
res/drawable-mdpi/ic_overlay_secure.png [new file with mode: 0644]
res/drawable-nodpi/theme_preview.png
res/drawable-xhdpi/ic_holo_light_delete.png [new file with mode: 0644]
res/drawable-xhdpi/ic_holo_light_print.png [new file with mode: 0644]
res/drawable-xhdpi/ic_holo_light_remote.png [new file with mode: 0644]
res/drawable-xhdpi/ic_holo_light_secure.png [new file with mode: 0644]
res/drawable-xhdpi/ic_holo_light_settings.png [new file with mode: 0644]
res/drawable-xhdpi/ic_overlay_remote.png [new file with mode: 0644]
res/drawable-xhdpi/ic_overlay_secure.png [new file with mode: 0644]
res/drawable-xxhdpi/ic_holo_light_delete.png [new file with mode: 0644]
res/drawable-xxhdpi/ic_holo_light_print.png [new file with mode: 0644]
res/drawable-xxhdpi/ic_holo_light_remote.png [new file with mode: 0644]
res/drawable-xxhdpi/ic_holo_light_secure.png [new file with mode: 0644]
res/drawable-xxhdpi/ic_holo_light_settings.png [new file with mode: 0644]
res/drawable-xxhdpi/ic_overlay_remote.png [new file with mode: 0644]
res/drawable-xxhdpi/ic_overlay_secure.png [new file with mode: 0644]
res/drawable/fso_folder_remote.xml [new file with mode: 0644]
res/drawable/fso_folder_secure.xml [new file with mode: 0644]
res/drawable/holo_button_selector.xml
res/layout/associations_dialog.xml
res/layout/color_picker_pref_item.xml
res/layout/history_item.xml
res/layout/navigation_drawer.xml
res/layout/simple_customtitle.xml
res/layout/unlock_dialog_message.xml [new file with mode: 0644]
res/menu/actions.xml
res/menu/drawer.xml [deleted file]
res/menu/navigation.xml
res/raw/changelog
res/values/colors.xml
res/values/overlay.xml
res/values/strings.xml
res/values/theme.xml
res/xml/preferences_headers.xml
res/xml/preferences_storage.xml [new file with mode: 0644]
src/com/cyanogenmod/filemanager/FileManagerApplication.java
src/com/cyanogenmod/filemanager/activities/EditorActivity.java
src/com/cyanogenmod/filemanager/activities/NavigationActivity.java
src/com/cyanogenmod/filemanager/activities/SearchActivity.java
src/com/cyanogenmod/filemanager/activities/preferences/StoragePreferenceFragment.java [new file with mode: 0644]
src/com/cyanogenmod/filemanager/adapters/SearchResultAdapter.java
src/com/cyanogenmod/filemanager/commands/ConcurrentAsyncResultListener.java [new file with mode: 0644]
src/com/cyanogenmod/filemanager/commands/ExecutableCreator.java
src/com/cyanogenmod/filemanager/commands/java/FindCommand.java
src/com/cyanogenmod/filemanager/commands/java/JavaExecutableCreator.java
src/com/cyanogenmod/filemanager/commands/secure/ChecksumCommand.java [new file with mode: 0644]
src/com/cyanogenmod/filemanager/commands/secure/CopyCommand.java [new file with mode: 0644]
src/com/cyanogenmod/filemanager/commands/secure/CreateDirCommand.java [new file with mode: 0644]
src/com/cyanogenmod/filemanager/commands/secure/CreateFileCommand.java [new file with mode: 0644]
src/com/cyanogenmod/filemanager/commands/secure/DeleteDirCommand.java [new file with mode: 0644]
src/com/cyanogenmod/filemanager/commands/secure/DeleteFileCommand.java [new file with mode: 0644]
src/com/cyanogenmod/filemanager/commands/secure/FindCommand.java [new file with mode: 0644]
src/com/cyanogenmod/filemanager/commands/secure/FolderUsageCommand.java [new file with mode: 0644]
src/com/cyanogenmod/filemanager/commands/secure/ListCommand.java [new file with mode: 0644]
src/com/cyanogenmod/filemanager/commands/secure/MoveCommand.java [new file with mode: 0644]
src/com/cyanogenmod/filemanager/commands/secure/ParentDirCommand.java [new file with mode: 0644]
src/com/cyanogenmod/filemanager/commands/secure/Program.java [new file with mode: 0644]
src/com/cyanogenmod/filemanager/commands/secure/ReadCommand.java [new file with mode: 0644]
src/com/cyanogenmod/filemanager/commands/secure/SecureExecutableCreator.java [new file with mode: 0644]
src/com/cyanogenmod/filemanager/commands/secure/SecureExecutableFactory.java [new file with mode: 0644]
src/com/cyanogenmod/filemanager/commands/secure/WriteCommand.java [new file with mode: 0644]
src/com/cyanogenmod/filemanager/commands/shell/AsyncResultProgram.java
src/com/cyanogenmod/filemanager/commands/shell/Program.java
src/com/cyanogenmod/filemanager/commands/shell/Shell.java
src/com/cyanogenmod/filemanager/commands/shell/ShellExecutableCreator.java
src/com/cyanogenmod/filemanager/console/AuthenticationFailedException.java [new file with mode: 0644]
src/com/cyanogenmod/filemanager/console/CancelledOperationException.java [new file with mode: 0644]
src/com/cyanogenmod/filemanager/console/Console.java
src/com/cyanogenmod/filemanager/console/VirtualConsole.java [new file with mode: 0644]
src/com/cyanogenmod/filemanager/console/VirtualMountPointConsole.java [new file with mode: 0644]
src/com/cyanogenmod/filemanager/console/java/JavaConsole.java
src/com/cyanogenmod/filemanager/console/remote/RemoteConsole.java [new file with mode: 0644]
src/com/cyanogenmod/filemanager/console/secure/SecureConsole.java [new file with mode: 0644]
src/com/cyanogenmod/filemanager/console/secure/SecureStorageDriver.java [new file with mode: 0644]
src/com/cyanogenmod/filemanager/console/secure/SecureStorageDriverProvider.java [new file with mode: 0644]
src/com/cyanogenmod/filemanager/console/secure/SecureStorageKeyManagerProvider.java [new file with mode: 0644]
src/com/cyanogenmod/filemanager/console/secure/SecureStorageKeyPromptDialog.java [new file with mode: 0644]
src/com/cyanogenmod/filemanager/console/shell/ShellConsole.java
src/com/cyanogenmod/filemanager/listeners/OnRequestRefreshListener.java
src/com/cyanogenmod/filemanager/model/Bookmark.java
src/com/cyanogenmod/filemanager/model/FileSystemObject.java
src/com/cyanogenmod/filemanager/model/History.java
src/com/cyanogenmod/filemanager/model/MountPoint.java
src/com/cyanogenmod/filemanager/model/Permissions.java
src/com/cyanogenmod/filemanager/model/Query.java
src/com/cyanogenmod/filemanager/parcelables/SearchInfoParcelable.java
src/com/cyanogenmod/filemanager/preferences/FileManagerSettings.java
src/com/cyanogenmod/filemanager/preferences/Preferences.java
src/com/cyanogenmod/filemanager/providers/SecureResourceProvider.java [new file with mode: 0644]
src/com/cyanogenmod/filemanager/ui/dialogs/ActionsDialog.java
src/com/cyanogenmod/filemanager/ui/dialogs/AssociationsDialog.java
src/com/cyanogenmod/filemanager/ui/dialogs/ComputeChecksumDialog.java
src/com/cyanogenmod/filemanager/ui/dialogs/FilesystemInfoDialog.java
src/com/cyanogenmod/filemanager/ui/dialogs/FsoPropertiesDialog.java
src/com/cyanogenmod/filemanager/ui/dialogs/MessageProgressDialog.java
src/com/cyanogenmod/filemanager/ui/policy/IntentsActionPolicy.java
src/com/cyanogenmod/filemanager/ui/policy/PrintActionPolicy.java
src/com/cyanogenmod/filemanager/ui/preferences/ColorPickerPreference.java
src/com/cyanogenmod/filemanager/ui/preferences/ThemeSelectorPreference.java
src/com/cyanogenmod/filemanager/ui/widgets/ActionBarDrawerToggle.java
src/com/cyanogenmod/filemanager/ui/widgets/BreadcrumbView.java
src/com/cyanogenmod/filemanager/ui/widgets/DiskUsageGraph.java
src/com/cyanogenmod/filemanager/ui/widgets/FlingerListView.java
src/com/cyanogenmod/filemanager/ui/widgets/NavigationView.java
src/com/cyanogenmod/filemanager/util/AIDHelper.java
src/com/cyanogenmod/filemanager/util/AndroidHelper.java
src/com/cyanogenmod/filemanager/util/BookmarksHelper.java
src/com/cyanogenmod/filemanager/util/CommandHelper.java
src/com/cyanogenmod/filemanager/util/DialogHelper.java
src/com/cyanogenmod/filemanager/util/ExceptionUtil.java
src/com/cyanogenmod/filemanager/util/FileHelper.java
src/com/cyanogenmod/filemanager/util/MimeTypeHelper.java
src/com/cyanogenmod/filemanager/util/ParseHelper.java
src/com/cyanogenmod/filemanager/util/StringHelper.java
tests/src/com/cyanogenmod/filemanager/commands/shell/FindCommandTest.java
themes/res/drawable-hdpi/ic_holo_dark_delete.png [new file with mode: 0644]
themes/res/drawable-hdpi/ic_holo_dark_print.png [new file with mode: 0644]
themes/res/drawable-hdpi/ic_holo_dark_remote.png [new file with mode: 0644]
themes/res/drawable-hdpi/ic_holo_dark_secure.png [new file with mode: 0755]
themes/res/drawable-hdpi/ic_holo_dark_settings.png [new file with mode: 0644]
themes/res/drawable-mdpi/ic_holo_dark_delete.png [new file with mode: 0644]
themes/res/drawable-mdpi/ic_holo_dark_print.png [new file with mode: 0644]
themes/res/drawable-mdpi/ic_holo_dark_remote.png [new file with mode: 0644]
themes/res/drawable-mdpi/ic_holo_dark_secure.png [new file with mode: 0644]
themes/res/drawable-mdpi/ic_holo_dark_settings.png [new file with mode: 0644]
themes/res/drawable-nodpi/dark_background_disabled.9.png [new file with mode: 0644]
themes/res/drawable-nodpi/dark_theme_preview.png
themes/res/drawable-xhdpi/ic_holo_dark_delete.png [new file with mode: 0644]
themes/res/drawable-xhdpi/ic_holo_dark_print.png [new file with mode: 0644]
themes/res/drawable-xhdpi/ic_holo_dark_remote.png [new file with mode: 0644]
themes/res/drawable-xhdpi/ic_holo_dark_secure.png [new file with mode: 0644]
themes/res/drawable-xhdpi/ic_holo_dark_settings.png [new file with mode: 0644]
themes/res/drawable-xxhdpi/ic_holo_dark_delete.png [new file with mode: 0644]
themes/res/drawable-xxhdpi/ic_holo_dark_print.png [new file with mode: 0644]
themes/res/drawable-xxhdpi/ic_holo_dark_remote.png [new file with mode: 0644]
themes/res/drawable-xxhdpi/ic_holo_dark_secure.png [new file with mode: 0644]
themes/res/drawable-xxhdpi/ic_holo_dark_settings.png [new file with mode: 0644]
themes/res/drawable/dark_holo_button_selector.xml
themes/res/values/dark_theme.xml