├── app ├── .gitignore ├── libs │ ├── zip4j_1.3.2.jar │ └── commons-io-2.5.jar ├── src │ ├── main │ │ ├── res │ │ │ ├── drawable │ │ │ │ ├── file.png │ │ │ │ ├── folder.png │ │ │ │ ├── header_back_green.png │ │ │ │ ├── divider.xml │ │ │ │ └── fab_label_background.xml │ │ │ ├── mipmap-hdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_add_black_24dp.png │ │ │ │ ├── ic_done_black_24dp.png │ │ │ │ ├── ic_home_black_24dp.png │ │ │ │ ├── ic_menu_black_24dp.png │ │ │ │ ├── ic_menu_white_24dp.png │ │ │ │ ├── ic_file_grey600_48dp.png │ │ │ │ ├── ic_image_black_24dp.png │ │ │ │ ├── ic_search_black_24dp.png │ │ │ │ ├── ic_search_white_24dp.png │ │ │ │ ├── ic_download_black_24dp.png │ │ │ │ ├── ic_folder_grey600_48dp.png │ │ │ │ ├── ic_settings_black_24dp.png │ │ │ │ ├── ic_headphones_black_24dp.png │ │ │ │ └── ic_headphones_grey600_48dp.png │ │ │ ├── mipmap-mdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_add_black_24dp.png │ │ │ │ ├── ic_home_black_24dp.png │ │ │ │ ├── ic_menu_black_24dp.png │ │ │ │ ├── ic_menu_white_24dp.png │ │ │ │ ├── ic_file_grey600_48dp.png │ │ │ │ ├── ic_image_black_24dp.png │ │ │ │ ├── ic_search_black_24dp.png │ │ │ │ ├── ic_search_white_24dp.png │ │ │ │ ├── ic_download_black_24dp.png │ │ │ │ ├── ic_folder_grey600_48dp.png │ │ │ │ ├── ic_settings_black_24dp.png │ │ │ │ ├── ic_headphones_black_24dp.png │ │ │ │ └── ic_headphones_grey600_48dp.png │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_add_black_24dp.png │ │ │ │ ├── ic_home_black_24dp.png │ │ │ │ ├── ic_image_black_24dp.png │ │ │ │ ├── ic_menu_black_24dp.png │ │ │ │ ├── ic_menu_white_24dp.png │ │ │ │ ├── ic_download_black_24dp.png │ │ │ │ ├── ic_file_grey600_48dp.png │ │ │ │ ├── ic_folder_grey600_48dp.png │ │ │ │ ├── ic_search_black_24dp.png │ │ │ │ ├── ic_search_white_24dp.png │ │ │ │ ├── ic_settings_black_24dp.png │ │ │ │ ├── ic_headphones_black_24dp.png │ │ │ │ └── ic_headphones_grey600_48dp.png │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_add_black_24dp.png │ │ │ │ ├── ic_home_black_24dp.png │ │ │ │ ├── ic_menu_black_24dp.png │ │ │ │ ├── ic_menu_white_24dp.png │ │ │ │ ├── ic_file_grey600_48dp.png │ │ │ │ ├── ic_image_black_24dp.png │ │ │ │ ├── ic_search_black_24dp.png │ │ │ │ ├── ic_search_white_24dp.png │ │ │ │ ├── ic_download_black_24dp.png │ │ │ │ ├── ic_folder_grey600_48dp.png │ │ │ │ ├── ic_settings_black_24dp.png │ │ │ │ ├── ic_headphones_black_24dp.png │ │ │ │ └── ic_headphones_grey600_48dp.png │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── wallpaper_47.png │ │ │ │ ├── ic_launcher_mat.png │ │ │ │ ├── wallpaper_1088.png │ │ │ │ ├── wallpaper_1376.png │ │ │ │ ├── wallpaper_5114.png │ │ │ │ ├── wallpaper_5870.png │ │ │ │ ├── wallpaper_6713.png │ │ │ │ ├── header_back_green.png │ │ │ │ ├── ic_add_black_24dp.png │ │ │ │ ├── ic_file_grey600_48dp.png │ │ │ │ ├── ic_home_black_24dp.png │ │ │ │ ├── ic_image_black_24dp.png │ │ │ │ ├── ic_menu_black_24dp.png │ │ │ │ ├── ic_menu_white_24dp.png │ │ │ │ ├── ic_search_black_24dp.png │ │ │ │ ├── ic_search_white_24dp.png │ │ │ │ ├── ic_download_black_24dp.png │ │ │ │ ├── ic_folder_grey600_48dp.png │ │ │ │ ├── ic_settings_black_24dp.png │ │ │ │ ├── ic_headphones_black_24dp.png │ │ │ │ └── ic_headphones_grey600_48dp.png │ │ │ ├── xml │ │ │ │ ├── provider_paths.xml │ │ │ │ └── preference_hierarchy.xml │ │ │ ├── values │ │ │ │ ├── dimens.xml │ │ │ │ ├── arrays.xml │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ ├── layout │ │ │ │ ├── fragment_newfile.xml │ │ │ │ ├── header.xml │ │ │ │ ├── developer_prefs.xml │ │ │ │ ├── fragment_main.xml │ │ │ │ ├── recycler_row_no_checkbox.xml │ │ │ │ ├── fragment_copy.xml │ │ │ │ ├── fragment_long_click_multipleselection.xml │ │ │ │ ├── recycler_row.xml │ │ │ │ ├── fragment_long_click.xml │ │ │ │ └── activity_main.xml │ │ │ └── menu │ │ │ │ └── drawer.xml │ │ ├── java │ │ │ └── app │ │ │ │ └── android │ │ │ │ └── com │ │ │ │ └── materialfilemanager │ │ │ │ ├── VerticalSpaceRecycler.java │ │ │ │ ├── SettingsFragment.java │ │ │ │ ├── Item.java │ │ │ │ ├── DividerItemRecycler.java │ │ │ │ ├── DialogSearch.java │ │ │ │ ├── DialogNewFile.java │ │ │ │ ├── DialogLongPress.java │ │ │ │ ├── FileAdapter.java │ │ │ │ ├── CopyMoveFragment.java │ │ │ │ ├── DownloadDrawerFragment.java │ │ │ │ ├── MusicDrawerFragment.java │ │ │ │ ├── ImagesDrawerFragment.java │ │ │ │ ├── MainFragment.java │ │ │ │ └── SearchResultsFragment.java │ │ └── AndroidManifest.xml │ ├── test │ │ └── java │ │ │ └── app │ │ │ └── android │ │ │ └── com │ │ │ └── materialfilemanager │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── app │ │ └── android │ │ └── com │ │ └── materialfilemanager │ │ └── ApplicationTest.java ├── proguard-rules.pro └── build.gradle ├── settings.gradle ├── .idea ├── copyright │ └── profiles_settings.xml ├── encodings.xml ├── vcs.xml ├── modules.xml ├── runConfigurations.xml ├── compiler.xml ├── gradle.xml └── misc.xml ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .gitignore ├── gradle.properties ├── README.md ├── gradlew.bat ├── gradlew └── License.md /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /app/libs/zip4j_1.3.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/libs/zip4j_1.3.2.jar -------------------------------------------------------------------------------- /app/libs/commons-io-2.5.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/libs/commons-io-2.5.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/drawable/file.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/drawable/folder.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/header_back_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/drawable/header_back_green.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/wallpaper_47.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxxhdpi/wallpaper_47.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_add_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-hdpi/ic_add_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_done_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-hdpi/ic_done_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_home_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-hdpi/ic_home_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_menu_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-hdpi/ic_menu_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_menu_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-hdpi/ic_menu_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_add_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-mdpi/ic_add_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_home_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-mdpi/ic_home_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_menu_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-mdpi/ic_menu_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_menu_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-mdpi/ic_menu_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_add_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xhdpi/ic_add_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_mat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_mat.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/wallpaper_1088.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxxhdpi/wallpaper_1088.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/wallpaper_1376.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxxhdpi/wallpaper_1376.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/wallpaper_5114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxxhdpi/wallpaper_5114.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/wallpaper_5870.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxxhdpi/wallpaper_5870.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/wallpaper_6713.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxxhdpi/wallpaper_6713.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_file_grey600_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-hdpi/ic_file_grey600_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_image_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-hdpi/ic_image_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_search_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-hdpi/ic_search_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_search_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-hdpi/ic_search_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_file_grey600_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-mdpi/ic_file_grey600_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_image_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-mdpi/ic_image_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_search_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-mdpi/ic_search_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_search_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-mdpi/ic_search_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_home_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xhdpi/ic_home_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_image_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xhdpi/ic_image_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_menu_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xhdpi/ic_menu_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_menu_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xhdpi/ic_menu_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_add_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxhdpi/ic_add_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_home_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxhdpi/ic_home_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_menu_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxhdpi/ic_menu_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_menu_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxhdpi/ic_menu_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/header_back_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxxhdpi/header_back_green.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_add_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_add_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_download_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-hdpi/ic_download_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_folder_grey600_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-hdpi/ic_folder_grey600_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_settings_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-hdpi/ic_settings_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_download_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-mdpi/ic_download_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_folder_grey600_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-mdpi/ic_folder_grey600_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_settings_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-mdpi/ic_settings_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_download_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xhdpi/ic_download_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_file_grey600_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xhdpi/ic_file_grey600_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_folder_grey600_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xhdpi/ic_folder_grey600_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_search_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xhdpi/ic_search_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_search_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xhdpi/ic_search_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_settings_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xhdpi/ic_settings_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_file_grey600_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxhdpi/ic_file_grey600_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_image_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxhdpi/ic_image_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_search_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxhdpi/ic_search_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_search_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxhdpi/ic_search_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_file_grey600_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_file_grey600_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_home_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_home_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_image_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_image_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_menu_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_menu_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_menu_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_menu_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_search_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_search_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_search_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_search_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_headphones_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-hdpi/ic_headphones_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_headphones_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-mdpi/ic_headphones_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_headphones_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xhdpi/ic_headphones_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_download_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxhdpi/ic_download_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_folder_grey600_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxhdpi/ic_folder_grey600_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_settings_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxhdpi/ic_settings_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_download_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_download_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_folder_grey600_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_folder_grey600_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_settings_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_settings_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/xml/provider_paths.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_headphones_grey600_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-hdpi/ic_headphones_grey600_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_headphones_grey600_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-mdpi/ic_headphones_grey600_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_headphones_grey600_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xhdpi/ic_headphones_grey600_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_headphones_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxhdpi/ic_headphones_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_headphones_grey600_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxhdpi/ic_headphones_grey600_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_headphones_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_headphones_black_24dp.png -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_headphones_grey600_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosimoSguanci/Material-File-Manager/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_headphones_grey600_48dp.png -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/divider.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sat Dec 24 01:18:29 GMT 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-3.2-all.zip 7 | -------------------------------------------------------------------------------- /app/src/main/res/values/arrays.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Green 7 | Red 8 | Yellow 9 | Blue 10 | Orange 11 | Dark 12 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/test/java/app/android/com/materialfilemanager/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package app.android.com.materialfilemanager; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.assertEquals; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /app/src/androidTest/java/app/android/com/materialfilemanager/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package app.android.com.materialfilemanager; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_newfile.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 16 | 17 | -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in C:\Users\shind\AppData\Local\Android\Sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/fab_label_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 19 | -------------------------------------------------------------------------------- /app/src/main/java/app/android/com/materialfilemanager/VerticalSpaceRecycler.java: -------------------------------------------------------------------------------- 1 | package app.android.com.materialfilemanager; 2 | 3 | import android.graphics.Rect; 4 | import android.support.v7.widget.RecyclerView; 5 | import android.view.View; 6 | 7 | /** 8 | * Created by Cosimo Sguanci on 12/09/2016. 9 | */ 10 | public class VerticalSpaceRecycler extends RecyclerView.ItemDecoration { 11 | private final int mVerticalSpaceHeight; 12 | 13 | public VerticalSpaceRecycler(int mVerticalSpaceHeight) { 14 | this.mVerticalSpaceHeight = mVerticalSpaceHeight; 15 | } 16 | 17 | @Override 18 | public void getItemOffsets(Rect outRect, View view, RecyclerView parent, 19 | RecyclerView.State state) { 20 | outRect.bottom = mVerticalSpaceHeight; 21 | } 22 | } 23 | 24 | -------------------------------------------------------------------------------- /app/src/main/res/layout/header.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | # Default value: -Xmx10248m -XX:MaxPermSize=256m 10 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 11 | # When configured, Gradle will run in incubating parallel mode. 12 | # This option should only be used with decoupled projects. More details, visit 13 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 14 | # org.gradle.parallel=true -------------------------------------------------------------------------------- /app/src/main/res/layout/developer_prefs.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 15 | 16 | 24 | 25 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_main.xml: -------------------------------------------------------------------------------- 1 | 10 | 11 | 21 | 22 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /app/src/main/res/menu/drawer.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 12 | 16 | 17 | 21 | 22 | 26 | 27 | 28 | 29 | 32 | 33 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 24 5 | buildToolsVersion "24.0.1" 6 | 7 | defaultConfig { 8 | applicationId "app.android.com.materialfilemanager" 9 | minSdkVersion 21 10 | targetSdkVersion 24 11 | versionCode 4 12 | versionName "1.5" 13 | multiDexEnabled true 14 | } 15 | dexOptions { 16 | incremental true 17 | javaMaxHeapSize "4g" 18 | } 19 | buildTypes { 20 | release { 21 | minifyEnabled false 22 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 23 | } 24 | } 25 | } 26 | 27 | dependencies { 28 | compile fileTree(dir: 'libs', include: ['*.jar']) 29 | compile files('libs/commons-io-2.5.jar') 30 | compile files('libs/zip4j_1.3.2.jar') 31 | 32 | compile 'com.android.support:appcompat-v7:24.2.1' 33 | compile 'com.android.support:recyclerview-v7:24.2.1' 34 | compile 'com.android.support:design:24.2.1' 35 | compile 'com.android.support:support-v4:24.2.1' 36 | compile 'com.github.clans:fab:1.6.4' 37 | compile 'com.github.bumptech.glide:glide:3.7.0' 38 | compile 'fr.tvbarthel.blurdialogfragment:lib:2.2.0' 39 | testCompile 'junit:junit:4.12' 40 | compile 'com.google.android.gms:play-services-appindexing:8.4.0' 41 | compile 'com.android.support:multidex:1.0.0' 42 | compile 'com.android.support:cardview-v7:24.0.0' 43 | } 44 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #4CAF50 4 | #388E3C 5 | #FF9800 6 | #C8E6C9 7 | #646464 8 | 9 | #D32F2F 10 | #B71C1C 11 | #607D8B 12 | #FFCDD2 13 | 14 | #FFEB3B 15 | #FFD600 16 | #00E676 17 | #FFF9C4 18 | 19 | #3F51B5 20 | #1A237E 21 | #E91E63 22 | #9FA8DA 23 | 24 | #F57C00 25 | #E65100 26 | #5D4037 27 | #FFE0B2 28 | 29 | #000 30 | #000 31 | #000 32 | #fff 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | ![ic_launcher](https://cloud.githubusercontent.com/assets/22922339/19536712/64a0cf28-964d-11e6-8e8c-bce64766c5b2.png) 3 | # Material File Manager 4 | A simple, smooth and elegant Android File Manager with Material Design UI. 5 | I started to develop this App as my first Android Project. I focalized mainly about three things: 6 | - Material Design UI patterns; 7 | - Providing a fast and responsive experience for the user. 8 | - Give the user the possibility to customize the experience with various themes. 9 | 10 | It has also the most common functions as a File Explorer, like: 11 | - Multiple files selection; 12 | - Create new files or directories; 13 | - Copy, Move, Delete, or Rename files or directories; 14 | - Zip and Unzip files and directories; 15 | - Global search of files and directories in the phone memory. 16 | 17 | I think also that customization is a fundamental part of an Android App, so i've given the user the opportunity to change the drawer shortcut paths (to Images folder, Music folder, and Download folder). 18 | 19 | Material File Manager is on the Play Store: 20 | Get it on Google Play
21 | 22 | UI Example: 23 | ![screenshot_20161030-230519_framed](https://cloud.githubusercontent.com/assets/22922339/19840445/2f214aa6-9ef6-11e6-99a8-93bb316eb98b.png) 24 | -------------------------------------------------------------------------------- /app/src/main/java/app/android/com/materialfilemanager/SettingsFragment.java: -------------------------------------------------------------------------------- 1 | package app.android.com.materialfilemanager; 2 | 3 | import android.graphics.Color; 4 | import android.os.Bundle; 5 | import android.preference.ListPreference; 6 | import android.preference.Preference; 7 | import android.preference.PreferenceFragment; 8 | import android.view.LayoutInflater; 9 | import android.view.View; 10 | import android.view.ViewGroup; 11 | 12 | 13 | public class SettingsFragment extends PreferenceFragment { 14 | 15 | private ListPreference mListPreference; 16 | 17 | @Override 18 | public void onCreate(Bundle savedInstanceState) { 19 | super.onCreate(savedInstanceState); 20 | addPreferencesFromResource(R.xml.preference_hierarchy); 21 | } 22 | 23 | @Override 24 | public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 25 | 26 | View view = super.onCreateView(inflater, container, savedInstanceState); 27 | view.setBackgroundColor(Color.WHITE); 28 | mListPreference = (ListPreference) getPreferenceManager().findPreference("theme"); 29 | mListPreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { 30 | @Override 31 | public boolean onPreferenceChange(Preference preference, Object newValue) { 32 | getActivity().recreate(); 33 | return true; 34 | } 35 | }); 36 | 37 | 38 | return view; 39 | 40 | 41 | } 42 | 43 | @Override 44 | public void onStop() { 45 | super.onStop(); 46 | } 47 | 48 | 49 | } -------------------------------------------------------------------------------- /app/src/main/java/app/android/com/materialfilemanager/Item.java: -------------------------------------------------------------------------------- 1 | package app.android.com.materialfilemanager; 2 | 3 | /** 4 | * Created by Cosimo Sguanci on 08/09/2016. 5 | */ 6 | public class Item implements Comparable { 7 | private String name; 8 | private String data; //number of data (Dirs), size of file (Files) 9 | private String date; 10 | private String path; 11 | private String image; 12 | public boolean isSelected=false; 13 | 14 | public Item(String name, String data, String date, String path, String image) { 15 | this.name = name; 16 | this.data = data; 17 | this.date = date; 18 | this.path = path; 19 | this.image = image; 20 | } 21 | 22 | public String getName() { 23 | return name; 24 | } 25 | 26 | public void setName(String name){ 27 | this.name=name; 28 | } 29 | 30 | public String getData() { 31 | return data; 32 | } 33 | 34 | public String getDate() { 35 | return date; 36 | } 37 | 38 | public String getPath() { 39 | return path; 40 | } 41 | 42 | public String getImage() { 43 | return image; 44 | } 45 | 46 | public int compareTo(Item x) { 47 | if (this.name != null) 48 | return this.name.toLowerCase().compareTo(x.getName().toLowerCase()); 49 | else 50 | throw new IllegalArgumentException(); 51 | } 52 | 53 | public void setSelected(boolean isSelected){ 54 | this.isSelected=isSelected; 55 | } 56 | 57 | public boolean isSelected(){ 58 | return isSelected; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 27 | 30 | 31 | 32 | 34 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /app/src/main/res/xml/preference_hierarchy.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 11 | 16 | 21 | 22 | 23 | 24 | 25 | 26 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /app/src/main/res/layout/recycler_row_no_checkbox.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 15 | 16 | 19 | 20 | 27 | 28 | 34 | 35 | 36 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /app/src/main/java/app/android/com/materialfilemanager/DividerItemRecycler.java: -------------------------------------------------------------------------------- 1 | package app.android.com.materialfilemanager; 2 | 3 | import android.content.Context; 4 | import android.content.res.TypedArray; 5 | import android.graphics.Canvas; 6 | import android.graphics.drawable.Drawable; 7 | import android.support.v4.content.ContextCompat; 8 | import android.support.v7.widget.RecyclerView; 9 | import android.view.View; 10 | 11 | /** 12 | * Created by Cosimo Sguanci on 12/09/2016. 13 | */ 14 | public class DividerItemRecycler extends RecyclerView.ItemDecoration { 15 | private static final int[] ATTRS = new int[]{android.R.attr.listDivider}; 16 | 17 | private Drawable mDivider; 18 | 19 | /** 20 | * Default divider will be used 21 | */ 22 | public DividerItemRecycler(Context context) { 23 | final TypedArray styledAttributes = context.obtainStyledAttributes(ATTRS); 24 | mDivider = styledAttributes.getDrawable(0); 25 | styledAttributes.recycle(); 26 | } 27 | 28 | /** 29 | * Custom divider will be used 30 | */ 31 | public DividerItemRecycler(Context context, int resId) { 32 | mDivider = ContextCompat.getDrawable(context, resId); 33 | } 34 | 35 | 36 | @Override 37 | public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) { 38 | int left = parent.getPaddingLeft(); 39 | int right = parent.getWidth() - parent.getPaddingRight(); 40 | 41 | int childCount = parent.getChildCount(); 42 | for (int i = 0; i < childCount - 1; i++) { 43 | View child = parent.getChildAt(i); 44 | 45 | RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) child.getLayoutParams(); 46 | 47 | int top = child.getBottom() + params.bottomMargin; 48 | int bottom = top + mDivider.getIntrinsicHeight(); 49 | 50 | mDivider.setBounds(left, top, right, bottom); 51 | mDivider.draw(c); 52 | } 53 | } 54 | 55 | } 56 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_copy.xml: -------------------------------------------------------------------------------- 1 | 10 | 11 | 21 | 22 | 25 | 26 | 32 | 33 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_long_click_multipleselection.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 |