├── app
├── .gitignore
├── src
│ ├── main
│ │ ├── ic_launcher-web.png
│ │ ├── res
│ │ │ ├── mipmap-hdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ ├── ic_launcher_round.png
│ │ │ │ ├── ic_shortcut_box.png
│ │ │ │ ├── ic_shortcut_cloud.png
│ │ │ │ ├── ic_shortcut_drive.png
│ │ │ │ ├── ic_shortcut_local.png
│ │ │ │ ├── ic_shortcut_lock.png
│ │ │ │ ├── ic_shortcut_amazon.png
│ │ │ │ ├── ic_shortcut_dropbox.png
│ │ │ │ ├── ic_shortcut_google.png
│ │ │ │ ├── ic_shortcut_onedrive.png
│ │ │ │ ├── ic_shortcut_terminal.png
│ │ │ │ └── ic_shortcut_local_round.png
│ │ │ ├── mipmap-mdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ ├── ic_launcher_round.png
│ │ │ │ ├── ic_shortcut_box.png
│ │ │ │ ├── ic_shortcut_cloud.png
│ │ │ │ ├── ic_shortcut_drive.png
│ │ │ │ ├── ic_shortcut_local.png
│ │ │ │ ├── ic_shortcut_lock.png
│ │ │ │ ├── ic_shortcut_amazon.png
│ │ │ │ ├── ic_shortcut_dropbox.png
│ │ │ │ ├── ic_shortcut_google.png
│ │ │ │ ├── ic_shortcut_onedrive.png
│ │ │ │ ├── ic_shortcut_terminal.png
│ │ │ │ └── ic_shortcut_local_round.png
│ │ │ ├── mipmap-xhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ ├── ic_shortcut_box.png
│ │ │ │ ├── ic_shortcut_lock.png
│ │ │ │ ├── ic_launcher_round.png
│ │ │ │ ├── ic_shortcut_amazon.png
│ │ │ │ ├── ic_shortcut_cloud.png
│ │ │ │ ├── ic_shortcut_drive.png
│ │ │ │ ├── ic_shortcut_google.png
│ │ │ │ ├── ic_shortcut_local.png
│ │ │ │ ├── ic_shortcut_dropbox.png
│ │ │ │ ├── ic_shortcut_onedrive.png
│ │ │ │ ├── ic_shortcut_terminal.png
│ │ │ │ └── ic_shortcut_local_round.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ ├── ic_shortcut_box.png
│ │ │ │ ├── ic_launcher_round.png
│ │ │ │ ├── ic_shortcut_cloud.png
│ │ │ │ ├── ic_shortcut_drive.png
│ │ │ │ ├── ic_shortcut_local.png
│ │ │ │ ├── ic_shortcut_lock.png
│ │ │ │ ├── ic_shortcut_amazon.png
│ │ │ │ ├── ic_shortcut_dropbox.png
│ │ │ │ ├── ic_shortcut_google.png
│ │ │ │ ├── ic_shortcut_onedrive.png
│ │ │ │ ├── ic_shortcut_terminal.png
│ │ │ │ └── ic_shortcut_local_round.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ ├── ic_shortcut_box.png
│ │ │ │ ├── ic_shortcut_lock.png
│ │ │ │ ├── ic_launcher_round.png
│ │ │ │ ├── ic_shortcut_amazon.png
│ │ │ │ ├── ic_shortcut_cloud.png
│ │ │ │ ├── ic_shortcut_drive.png
│ │ │ │ ├── ic_shortcut_dropbox.png
│ │ │ │ ├── ic_shortcut_google.png
│ │ │ │ ├── ic_shortcut_local.png
│ │ │ │ ├── ic_shortcut_onedrive.png
│ │ │ │ ├── ic_shortcut_terminal.png
│ │ │ │ └── ic_shortcut_local_round.png
│ │ │ ├── drawable-hdpi
│ │ │ │ └── ic_notification.png
│ │ │ ├── drawable-mdpi
│ │ │ │ └── ic_notification.png
│ │ │ ├── drawable-v30
│ │ │ │ └── ic_intro_storage.png
│ │ │ ├── drawable-xhdpi
│ │ │ │ └── ic_notification.png
│ │ │ ├── drawable-xxhdpi
│ │ │ │ └── ic_notification.png
│ │ │ ├── values
│ │ │ │ ├── isTabletMode.xml
│ │ │ │ ├── ic_launcher_background.xml
│ │ │ │ ├── ic_shortcut_background.xml
│ │ │ │ ├── ids.xml
│ │ │ │ ├── defaults.xml
│ │ │ │ ├── dimens.xml
│ │ │ │ ├── attrs.xml
│ │ │ │ ├── drive_scope_items.xml
│ │ │ │ ├── arrays_translatable.xml
│ │ │ │ ├── custom_color_choices.xml
│ │ │ │ └── arrays.xml
│ │ │ ├── values-sw720dp
│ │ │ │ └── isTabletMode.xml
│ │ │ ├── xml
│ │ │ │ ├── virtual_content_provider_paths.xml
│ │ │ │ ├── file_provider_paths.xml
│ │ │ │ └── network_security_config.xml
│ │ │ ├── mipmap-anydpi-v26
│ │ │ │ ├── ic_launcher.xml
│ │ │ │ ├── ic_shortcut_box.xml
│ │ │ │ ├── ic_shortcut_amazon.xml
│ │ │ │ ├── ic_shortcut_box_round.xml
│ │ │ │ ├── ic_shortcut_cloud.xml
│ │ │ │ ├── ic_shortcut_drive.xml
│ │ │ │ ├── ic_shortcut_google.xml
│ │ │ │ ├── ic_shortcut_local.xml
│ │ │ │ ├── ic_shortcut_lock.xml
│ │ │ │ ├── ic_launcher_round.xml
│ │ │ │ ├── ic_shortcut_cloud_round.xml
│ │ │ │ ├── ic_shortcut_drive_round.xml
│ │ │ │ ├── ic_shortcut_dropbox.xml
│ │ │ │ ├── ic_shortcut_local_round.xml
│ │ │ │ ├── ic_shortcut_lock_round.xml
│ │ │ │ ├── ic_shortcut_onedrive.xml
│ │ │ │ ├── ic_shortcut_terminal.xml
│ │ │ │ ├── ic_shortcut_amazon_round.xml
│ │ │ │ ├── ic_shortcut_dropbox_round.xml
│ │ │ │ ├── ic_shortcut_google_round.xml
│ │ │ │ ├── ic_shortcut_onedrive_round.xml
│ │ │ │ └── ic_shortcut_terminal_round.xml
│ │ │ ├── drawable
│ │ │ │ ├── ic_add.xml
│ │ │ │ ├── ic_file_upload.xml
│ │ │ │ ├── ic_home.xml
│ │ │ │ ├── ic_file_download.xml
│ │ │ │ ├── ic_check.xml
│ │ │ │ ├── ic_circle.xml
│ │ │ │ ├── ic_sort.xml
│ │ │ │ ├── ic_arrow_right.xml
│ │ │ │ ├── ic_baseline_stop_24.xml
│ │ │ │ ├── ic_close.xml
│ │ │ │ ├── ic_menu.xml
│ │ │ │ ├── ic_warning.xml
│ │ │ │ ├── ic_arrow_back.xml
│ │ │ │ ├── ic_pin.xml
│ │ │ │ ├── ic_delete.xml
│ │ │ │ ├── ic_delete_black.xml
│ │ │ │ ├── ic_google_drive.xml
│ │ │ │ ├── ic_file_alert.xml
│ │ │ │ ├── ic_about.xml
│ │ │ │ ├── ic_cancel_white.xml
│ │ │ │ ├── ic_folder.xml
│ │ │ │ ├── ic_cancel_download.xml
│ │ │ │ ├── ic_file.xml
│ │ │ │ ├── ic_export.xml
│ │ │ │ ├── ic_file_black.xml
│ │ │ │ ├── ic_import.xml
│ │ │ │ ├── ic_libraries.xml
│ │ │ │ ├── ic_create_new_folder.xml
│ │ │ │ ├── ic_sd_storage.xml
│ │ │ │ ├── ic_folder_open.xml
│ │ │ │ ├── ic_heart_red_24dp.xml
│ │ │ │ ├── ic_cloud.xml
│ │ │ │ ├── ic_tablet_cellphone.xml
│ │ │ │ ├── ic_pref_header_general.xml
│ │ │ │ ├── ic_edit.xml
│ │ │ │ ├── ic_union_24dp.xml
│ │ │ │ ├── ic_properties.xml
│ │ │ │ ├── ic_cancel.xml
│ │ │ │ ├── ic_info_outline.xml
│ │ │ │ ├── ic_password_gen.xml
│ │ │ │ ├── ic_empty_box.xml
│ │ │ │ ├── ic_more_vert.xml
│ │ │ │ ├── ic_notifications.xml
│ │ │ │ ├── ic_pound.xml
│ │ │ │ ├── ic_folder_move.xml
│ │ │ │ ├── ic_refresh.xml
│ │ │ │ ├── ic_dropbox.xml
│ │ │ │ ├── ic_terminal.xml
│ │ │ │ ├── ic_search.xml
│ │ │ │ ├── ic_signal_wifi_off.xml
│ │ │ │ ├── ic_changelog.xml
│ │ │ │ ├── ic_google.xml
│ │ │ │ ├── ic_lock.xml
│ │ │ │ ├── ic_lock_black.xml
│ │ │ │ ├── ic_drive_foreground.xml
│ │ │ │ ├── ic_person_outline.xml
│ │ │ │ ├── ic_cloud_foreground.xml
│ │ │ │ ├── ic_local_foreground.xml
│ │ │ │ ├── ic_select_all.xml
│ │ │ │ ├── ic_lock_foreground.xml
│ │ │ │ ├── ic_dropbox_foreground.xml
│ │ │ │ ├── ic_terminal_foreground.xml
│ │ │ │ ├── ic_bug_report.xml
│ │ │ │ ├── ic_google_foreground.xml
│ │ │ │ ├── ic_look_and_feel.xml
│ │ │ │ ├── ic_contributor.xml
│ │ │ │ ├── ic_streaming.xml
│ │ │ │ ├── ic_onedrive.xml
│ │ │ │ ├── ic_mark_github.xml
│ │ │ │ ├── ic_onedrive_foreground.xml
│ │ │ │ ├── ic_settings.xml
│ │ │ │ ├── ic_amazon.xml
│ │ │ │ ├── ic_yandex_mono.xml
│ │ │ │ ├── ic_amazon_foreground.xml
│ │ │ │ ├── ic_box.xml
│ │ │ │ ├── ic_mega_logo_black.xml
│ │ │ │ ├── ic_open_drive.xml
│ │ │ │ ├── ic_box_foreground.xml
│ │ │ │ ├── ic_citrix_sharefile.xml
│ │ │ │ ├── ic_google_photos.xml
│ │ │ │ ├── ic_rclone_logo.xml
│ │ │ │ └── ic_backblaze_b2_black.xml
│ │ │ ├── layout
│ │ │ │ ├── dialog_color_picker.xml
│ │ │ │ ├── color_picker_row.xml
│ │ │ │ ├── spinner_dropdown_item.xml
│ │ │ │ ├── activity_onboarding.xml
│ │ │ │ ├── content_changelog.xml
│ │ │ │ ├── dialog_input.xml
│ │ │ │ ├── content_contributors.xml
│ │ │ │ ├── dialog_loading_indicator.xml
│ │ │ │ ├── dialog_number_picker.xml
│ │ │ │ ├── dialog_link.xml
│ │ │ │ ├── color_picker_item.xml
│ │ │ │ ├── fragment_share_remotes_list.xml
│ │ │ │ ├── config_form_template_spinner.xml
│ │ │ │ ├── content_sharing.xml
│ │ │ │ ├── content_remote_config.xml
│ │ │ │ ├── content_settings.xml
│ │ │ │ ├── file_picker_list.xml
│ │ │ │ ├── activity_remote_config.xml
│ │ │ │ ├── config_form_template_switch.xml
│ │ │ │ ├── content_about_libs.xml
│ │ │ │ ├── content_main.xml
│ │ │ │ ├── fragment_remotes_list.xml
│ │ │ │ ├── config_form_template_password.xml
│ │ │ │ ├── config_form_template_edit_text.xml
│ │ │ │ ├── config_form_template_text_field.xml
│ │ │ │ ├── nav_header_main.xml
│ │ │ │ ├── fragment_share_list.xml
│ │ │ │ ├── activity_about.xml
│ │ │ │ ├── activity_changelog.xml
│ │ │ │ ├── activity_about_libs.xml
│ │ │ │ ├── activity_contributors.xml
│ │ │ │ ├── activity_main.xml
│ │ │ │ ├── about_icon_item.xml
│ │ │ │ ├── search_bar.xml
│ │ │ │ ├── activity_settings.xml
│ │ │ │ ├── config_form_show_password.xml
│ │ │ │ ├── activity_sharing.xml
│ │ │ │ ├── no_internet_state.xml
│ │ │ │ ├── fragment_config_list.xml
│ │ │ │ ├── locked_config.xml
│ │ │ │ └── activity_file_picker.xml
│ │ │ ├── menu
│ │ │ │ ├── remote_fragment_menu.xml
│ │ │ │ ├── fragment_share_menu.xml
│ │ │ │ ├── remote_options.xml
│ │ │ │ ├── file_picker_menu.xml
│ │ │ │ ├── file_explorer_menu.xml
│ │ │ │ └── file_explorer_folder_menu.xml
│ │ │ ├── anim
│ │ │ │ ├── fade_out_animation.xml
│ │ │ │ └── fade_in_animation.xml
│ │ │ ├── layout-sw720dp
│ │ │ │ ├── file_picker_list.xml
│ │ │ │ ├── content_about_libs.xml
│ │ │ │ ├── activity_changelog.xml
│ │ │ │ ├── activity_about.xml
│ │ │ │ └── fragment_share_list.xml
│ │ │ └── values-de
│ │ │ │ └── arrays_translatable.xml
│ │ ├── java
│ │ │ └── ca
│ │ │ │ └── pkay
│ │ │ │ └── rcloneexplorer
│ │ │ │ ├── util
│ │ │ │ ├── LargeParcel.java
│ │ │ │ └── Rfc3339Deserializer.java
│ │ │ │ ├── BroadcastReceivers
│ │ │ │ ├── SyncCancelAction.java
│ │ │ │ ├── MoveCancelAction.java
│ │ │ │ ├── DeleteCancelAction.java
│ │ │ │ ├── ServeCancelAction.java
│ │ │ │ ├── UploadCancelAction.java
│ │ │ │ └── DownloadCancelAction.java
│ │ │ │ ├── Dialogs
│ │ │ │ └── Dialogs.java
│ │ │ │ ├── ChangelogActivity.java
│ │ │ │ └── ContributorActivity.java
│ │ └── assets
│ │ │ └── contributors.md
│ ├── oss
│ │ └── res
│ │ │ └── values
│ │ │ ├── strings.xml
│ │ │ └── defaults.xml
│ └── test
│ │ └── java
│ │ └── ca
│ │ └── pkay
│ │ └── rcloneexplorer
│ │ └── ExampleUnitTest.java
└── proguard-rules.pro
├── safdav
├── .gitignore
├── src
│ └── main
│ │ ├── res
│ │ └── values
│ │ │ └── strings.xml
│ │ ├── AndroidManifest.xml
│ │ └── java
│ │ └── io
│ │ └── github
│ │ └── x0b
│ │ └── safdav
│ │ ├── file
│ │ ├── ItemExistsException.java
│ │ ├── SafConstants.java
│ │ ├── ItemNotFoundException.java
│ │ ├── SafException.java
│ │ ├── FileAccessError.java
│ │ └── SafItem.java
│ │ └── package-info.java
├── proguard-rules.pro
└── build.gradle
├── rclone
└── .gitignore
├── settings.gradle
├── fastlane
└── metadata
│ └── android
│ └── en-US
│ ├── title.txt
│ ├── short_description.txt
│ ├── images
│ └── phoneScreenshots
│ │ ├── 1.png
│ │ ├── 2.png
│ │ ├── 3.png
│ │ └── 4.png
│ └── full_description.txt
├── docs
├── smartphone.png
├── screenshot_1.png
├── screenshot_10.png
├── screenshot_11.png
├── screenshot_2.png
├── screenshot_3.png
├── screenshot_4.png
├── screenshot_5.png
├── screenshot_6.png
├── screenshot_7.png
├── screenshot_8.png
├── screenshot_9.png
├── cloud-computing.png
└── locked-padlock.png
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── crowdin.yml
├── .github
├── ISSUE_TEMPLATE
│ ├── config.yml
│ ├── feature-request.md
│ └── bug-report.md
└── workflows
│ └── android.yml
├── gradle.properties
├── LICENSE_rcloneExplorer-1.7.4
├── .gitignore
└── SECURITY.md
/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/safdav/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/rclone/.gitignore:
--------------------------------------------------------------------------------
1 | /gopath
2 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app', ':safdav', ':rclone'
2 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/title.txt:
--------------------------------------------------------------------------------
1 | RCX - Rclone for Android
--------------------------------------------------------------------------------
/docs/smartphone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/docs/smartphone.png
--------------------------------------------------------------------------------
/docs/screenshot_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/docs/screenshot_1.png
--------------------------------------------------------------------------------
/docs/screenshot_10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/docs/screenshot_10.png
--------------------------------------------------------------------------------
/docs/screenshot_11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/docs/screenshot_11.png
--------------------------------------------------------------------------------
/docs/screenshot_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/docs/screenshot_2.png
--------------------------------------------------------------------------------
/docs/screenshot_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/docs/screenshot_3.png
--------------------------------------------------------------------------------
/docs/screenshot_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/docs/screenshot_4.png
--------------------------------------------------------------------------------
/docs/screenshot_5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/docs/screenshot_5.png
--------------------------------------------------------------------------------
/docs/screenshot_6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/docs/screenshot_6.png
--------------------------------------------------------------------------------
/docs/screenshot_7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/docs/screenshot_7.png
--------------------------------------------------------------------------------
/docs/screenshot_8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/docs/screenshot_8.png
--------------------------------------------------------------------------------
/docs/screenshot_9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/docs/screenshot_9.png
--------------------------------------------------------------------------------
/docs/cloud-computing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/docs/cloud-computing.png
--------------------------------------------------------------------------------
/docs/locked-padlock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/docs/locked-padlock.png
--------------------------------------------------------------------------------
/app/src/main/ic_launcher-web.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/ic_launcher-web.png
--------------------------------------------------------------------------------
/app/src/oss/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/short_description.txt:
--------------------------------------------------------------------------------
1 | A file manager for Android, using rclone for the heavy lifting.
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_notification.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/drawable-hdpi/ic_notification.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_notification.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/drawable-mdpi/ic_notification.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v30/ic_intro_storage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/drawable-v30/ic_intro_storage.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_shortcut_box.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-hdpi/ic_shortcut_box.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_shortcut_cloud.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-hdpi/ic_shortcut_cloud.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_shortcut_drive.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-hdpi/ic_shortcut_drive.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_shortcut_local.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-hdpi/ic_shortcut_local.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_shortcut_lock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-hdpi/ic_shortcut_lock.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_shortcut_box.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-mdpi/ic_shortcut_box.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_shortcut_cloud.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-mdpi/ic_shortcut_cloud.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_shortcut_drive.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-mdpi/ic_shortcut_drive.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_shortcut_local.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-mdpi/ic_shortcut_local.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_shortcut_lock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-mdpi/ic_shortcut_lock.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_shortcut_box.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xhdpi/ic_shortcut_box.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_shortcut_lock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xhdpi/ic_shortcut_lock.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_shortcut_box.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xxhdpi/ic_shortcut_box.png
--------------------------------------------------------------------------------
/safdav/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | Android SAF WebDAV adapter
3 |
4 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_notification.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/drawable-xhdpi/ic_notification.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_notification.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/drawable-xxhdpi/ic_notification.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_shortcut_amazon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-hdpi/ic_shortcut_amazon.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_shortcut_dropbox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-hdpi/ic_shortcut_dropbox.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_shortcut_google.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-hdpi/ic_shortcut_google.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_shortcut_amazon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-mdpi/ic_shortcut_amazon.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_shortcut_dropbox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-mdpi/ic_shortcut_dropbox.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_shortcut_google.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-mdpi/ic_shortcut_google.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_shortcut_amazon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xhdpi/ic_shortcut_amazon.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_shortcut_cloud.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xhdpi/ic_shortcut_cloud.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_shortcut_drive.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xhdpi/ic_shortcut_drive.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_shortcut_google.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xhdpi/ic_shortcut_google.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_shortcut_local.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xhdpi/ic_shortcut_local.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_shortcut_cloud.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xxhdpi/ic_shortcut_cloud.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_shortcut_drive.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xxhdpi/ic_shortcut_drive.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_shortcut_local.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xxhdpi/ic_shortcut_local.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_shortcut_lock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xxhdpi/ic_shortcut_lock.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_shortcut_box.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_shortcut_box.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_shortcut_lock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_shortcut_lock.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_shortcut_onedrive.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-hdpi/ic_shortcut_onedrive.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_shortcut_terminal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-hdpi/ic_shortcut_terminal.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_shortcut_onedrive.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-mdpi/ic_shortcut_onedrive.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_shortcut_terminal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-mdpi/ic_shortcut_terminal.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_shortcut_dropbox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xhdpi/ic_shortcut_dropbox.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_shortcut_onedrive.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xhdpi/ic_shortcut_onedrive.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_shortcut_terminal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xhdpi/ic_shortcut_terminal.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_shortcut_amazon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xxhdpi/ic_shortcut_amazon.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_shortcut_dropbox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xxhdpi/ic_shortcut_dropbox.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_shortcut_google.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xxhdpi/ic_shortcut_google.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_shortcut_onedrive.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xxhdpi/ic_shortcut_onedrive.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_shortcut_terminal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xxhdpi/ic_shortcut_terminal.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_shortcut_amazon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_shortcut_amazon.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_shortcut_cloud.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_shortcut_cloud.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_shortcut_drive.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_shortcut_drive.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_shortcut_dropbox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_shortcut_dropbox.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_shortcut_google.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_shortcut_google.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_shortcut_local.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_shortcut_local.png
--------------------------------------------------------------------------------
/app/src/main/res/values/isTabletMode.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | false
4 |
--------------------------------------------------------------------------------
/safdav/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_shortcut_local_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-hdpi/ic_shortcut_local_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_shortcut_local_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-mdpi/ic_shortcut_local_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_shortcut_local_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xhdpi/ic_shortcut_local_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_shortcut_onedrive.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_shortcut_onedrive.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_shortcut_terminal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_shortcut_terminal.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_shortcut_local_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xxhdpi/ic_shortcut_local_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_shortcut_local_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_shortcut_local_round.png
--------------------------------------------------------------------------------
/app/src/main/res/values-sw720dp/isTabletMode.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | true
4 |
--------------------------------------------------------------------------------
/app/src/oss/res/values/defaults.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | false
4 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/fastlane/metadata/android/en-US/images/phoneScreenshots/2.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/fastlane/metadata/android/en-US/images/phoneScreenshots/3.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/x0b/rcx/HEAD/fastlane/metadata/android/en-US/images/phoneScreenshots/4.png
--------------------------------------------------------------------------------
/app/src/main/res/values/ic_launcher_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #4CAF50
4 |
--------------------------------------------------------------------------------
/app/src/main/res/values/ic_shortcut_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #F5F5F5
4 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/virtual_content_provider_paths.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
--------------------------------------------------------------------------------
/app/src/main/res/values/ids.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/crowdin.yml:
--------------------------------------------------------------------------------
1 | files:
2 | - source: app/src/main/res/values/strings.xml
3 | translation: app/src/main/res/values-%android_code%/%original_file_name%
4 | translatable_elements:
5 | - /ressources/string
6 |
--------------------------------------------------------------------------------
/app/src/main/res/values/defaults.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 20971520
4 | true
5 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/file_provider_paths.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/safdav/src/main/java/io/github/x0b/safdav/file/ItemExistsException.java:
--------------------------------------------------------------------------------
1 | package io.github.x0b.safdav.file;
2 |
3 | public class ItemExistsException extends SafException {
4 | public ItemExistsException() {
5 | super("Item already exists");
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_shortcut_box.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_shortcut_amazon.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_shortcut_box_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_shortcut_cloud.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_shortcut_drive.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_shortcut_google.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_shortcut_local.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_shortcut_lock.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_shortcut_cloud_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_shortcut_drive_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_shortcut_dropbox.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_shortcut_local_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_shortcut_lock_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_shortcut_onedrive.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_shortcut_terminal.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_shortcut_amazon_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_shortcut_dropbox_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_shortcut_google_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_shortcut_onedrive_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_shortcut_terminal_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: false
2 | contact_links:
3 | - name: Rclone Forum
4 | url: https://forum.rclone.org/
5 | about: For questions around rclone itself.
6 | - name: Rclone Issue Tracker
7 | url: https://github.com/rclone/rclone/issues
8 | about: When you are sure rclone does not work correctly.
--------------------------------------------------------------------------------
/app/src/main/res/xml/network_security_config.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 127.0.0.1
5 | localhost
6 |
7 |
--------------------------------------------------------------------------------
/safdav/src/main/java/io/github/x0b/safdav/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Provides a standardized abstraction to access Android Storage Access
3 | * Framework targets using a subset of WebDAV APIs. This is especially useful
4 | * for native libraries and other non-JVM binaries where SAF is not easily
5 | * accessible.
6 | */
7 | package io.github.x0b.safdav;
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_add.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/dialog_color_picker.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_file_upload.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/safdav/src/main/java/io/github/x0b/safdav/file/SafConstants.java:
--------------------------------------------------------------------------------
1 | package io.github.x0b.safdav.file;
2 |
3 | public class SafConstants {
4 | public static final String SAF_REMOTE_NAME = "local-saf";
5 | public static final String SAF_REMOTE_URL = "http://localhost:40404/";
6 | // TODO: introduce availability checking
7 | public static final int SAF_REMOTE_PORT = 40404;
8 | }
9 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/remote_fragment_menu.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_home.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/color_picker_row.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
--------------------------------------------------------------------------------
/safdav/src/main/java/io/github/x0b/safdav/file/ItemNotFoundException.java:
--------------------------------------------------------------------------------
1 | package io.github.x0b.safdav.file;
2 |
3 | public class ItemNotFoundException extends SafException {
4 | public ItemNotFoundException() {
5 | super("Item not found or no longer accessible for user");
6 | }
7 |
8 | public ItemNotFoundException(Throwable cause) {
9 | super(cause);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_file_download.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_check.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_circle.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_sort.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_arrow_right.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_baseline_stop_24.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_close.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_menu.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_warning.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | zipStoreBase=GRADLE_USER_HOME
4 | zipStorePath=wrapper/dists
5 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.9-bin.zip
6 | # Warning: Update checksum when updating gradle, or Android Studio will crash!
7 | distributionSha256Sum=765442b8069c6bee2ea70713861c027587591c6b1df2c857a23361512560894e
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_arrow_back.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_pin.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/safdav/src/main/java/io/github/x0b/safdav/file/SafException.java:
--------------------------------------------------------------------------------
1 | package io.github.x0b.safdav.file;
2 |
3 | public class SafException extends RuntimeException {
4 |
5 | public SafException() {
6 | super("Unknown Error");
7 | }
8 |
9 | public SafException(String message){
10 | super(message);
11 | }
12 |
13 | public SafException(Throwable cause) {
14 | super(cause);
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_delete.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/fragment_share_menu.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/fade_out_animation.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
12 |
13 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_delete_black.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_google_drive.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_file_alert.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_about.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 16dp
4 | 16dp
5 | 8dp
6 | 176dp
7 | 16dp
8 | 32dp
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_cancel_white.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_folder.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_cancel_download.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_file.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/spinner_dropdown_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/values/attrs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_export.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_file_black.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_import.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_libraries.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_create_new_folder.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_sd_storage.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_folder_open.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_heart_red_24dp.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/fade_in_animation.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
8 |
9 |
13 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_cloud.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_tablet_cellphone.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_pref_header_general.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/java/ca/pkay/rcloneexplorer/util/LargeParcel.java:
--------------------------------------------------------------------------------
1 | package ca.pkay.rcloneexplorer.util;
2 |
3 | import android.os.Bundle;
4 | import android.os.Parcel;
5 |
6 | import androidx.annotation.NonNull;
7 |
8 | public class LargeParcel {
9 |
10 | public static int calculateBundleSize(@NonNull Bundle bundle) {
11 | Parcel parcel = Parcel.obtain();
12 | parcel.writeBundle(bundle);
13 | int size = parcel.dataSize();
14 | parcel.recycle();
15 | return size;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_edit.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_union_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/test/java/ca/pkay/rcloneexplorer/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package ca.pkay.rcloneexplorer;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.junit.Assert.*;
6 |
7 | /**
8 | * Example local unit test, which will execute on the development machine (host).
9 | *
10 | * @see Testing documentation
11 | */
12 | public class ExampleUnitTest {
13 | @Test
14 | public void addition_isCorrect() throws Exception {
15 | assertEquals(4, 2 + 2);
16 | }
17 | }
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_properties.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_cancel.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_info_outline.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_password_gen.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_empty_box.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_more_vert.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_notifications.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_pound.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_onboarding.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_folder_move.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_refresh.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_dropbox.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_terminal.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/java/ca/pkay/rcloneexplorer/BroadcastReceivers/SyncCancelAction.java:
--------------------------------------------------------------------------------
1 | package ca.pkay.rcloneexplorer.BroadcastReceivers;
2 |
3 | import android.content.BroadcastReceiver;
4 | import android.content.Context;
5 | import android.content.Intent;
6 |
7 | import ca.pkay.rcloneexplorer.Services.SyncService;
8 |
9 | public class SyncCancelAction extends BroadcastReceiver {
10 | @Override
11 | public void onReceive(Context context, Intent intent) {
12 | Intent syncIntent = new Intent(context, SyncService.class);
13 | context.stopService(syncIntent);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/app/src/main/java/ca/pkay/rcloneexplorer/BroadcastReceivers/MoveCancelAction.java:
--------------------------------------------------------------------------------
1 | package ca.pkay.rcloneexplorer.BroadcastReceivers;
2 |
3 | import android.content.BroadcastReceiver;
4 | import android.content.Context;
5 | import android.content.Intent;
6 |
7 | import ca.pkay.rcloneexplorer.Services.MoveService;
8 |
9 | public class MoveCancelAction extends BroadcastReceiver {
10 |
11 | @Override
12 | public void onReceive(Context context, Intent intent) {
13 | Intent moveIntent = new Intent(context, MoveService.class);
14 | context.stopService(moveIntent);
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_search.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_signal_wifi_off.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/java/ca/pkay/rcloneexplorer/BroadcastReceivers/DeleteCancelAction.java:
--------------------------------------------------------------------------------
1 | package ca.pkay.rcloneexplorer.BroadcastReceivers;
2 |
3 | import android.content.BroadcastReceiver;
4 | import android.content.Context;
5 | import android.content.Intent;
6 |
7 | import ca.pkay.rcloneexplorer.Services.DeleteService;
8 |
9 | public class DeleteCancelAction extends BroadcastReceiver {
10 |
11 | @Override
12 | public void onReceive(Context context, Intent intent) {
13 | Intent deleteIntent = new Intent(context, DeleteService.class);
14 | context.stopService(deleteIntent);
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/app/src/main/java/ca/pkay/rcloneexplorer/BroadcastReceivers/ServeCancelAction.java:
--------------------------------------------------------------------------------
1 | package ca.pkay.rcloneexplorer.BroadcastReceivers;
2 |
3 | import android.content.BroadcastReceiver;
4 | import android.content.Context;
5 | import android.content.Intent;
6 |
7 | import ca.pkay.rcloneexplorer.Services.StreamingService;
8 |
9 | public class ServeCancelAction extends BroadcastReceiver {
10 |
11 | @Override
12 | public void onReceive(Context context, Intent intent) {
13 | Intent serveIntent = new Intent(context, StreamingService.class);
14 | context.stopService(serveIntent);
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/app/src/main/java/ca/pkay/rcloneexplorer/BroadcastReceivers/UploadCancelAction.java:
--------------------------------------------------------------------------------
1 | package ca.pkay.rcloneexplorer.BroadcastReceivers;
2 |
3 | import android.content.BroadcastReceiver;
4 | import android.content.Context;
5 | import android.content.Intent;
6 |
7 | import ca.pkay.rcloneexplorer.Services.UploadService;
8 |
9 | public class UploadCancelAction extends BroadcastReceiver {
10 |
11 | @Override
12 | public void onReceive(Context context, Intent intent) {
13 | Intent uploadIntent = new Intent(context, UploadService.class);
14 | context.stopService(uploadIntent);
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_changelog.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/java/ca/pkay/rcloneexplorer/BroadcastReceivers/DownloadCancelAction.java:
--------------------------------------------------------------------------------
1 | package ca.pkay.rcloneexplorer.BroadcastReceivers;
2 |
3 | import android.content.BroadcastReceiver;
4 | import android.content.Context;
5 | import android.content.Intent;
6 |
7 | import ca.pkay.rcloneexplorer.Services.DownloadService;
8 |
9 | public class DownloadCancelAction extends BroadcastReceiver {
10 |
11 | @Override
12 | public void onReceive(Context context, Intent intent) {
13 | Intent downloadIntent = new Intent(context, DownloadService.class);
14 | context.stopService(downloadIntent);
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_google.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/values/drive_scope_items.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | - Full access to all files, excluding Application Data Folder
5 | - Read-only access to file metadata and file contents
6 | - Access to files created by rclone only (visible from drive website)
7 | - Allows read and write access to the Application Data Folder
8 | - Allows read-only access to file metadata but does not allow any access to read or download file content
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_lock.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_lock_black.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/content_changelog.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/dialog_input.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
14 |
15 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_drive_foreground.xml:
--------------------------------------------------------------------------------
1 |
6 |
8 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_person_outline.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_cloud_foreground.xml:
--------------------------------------------------------------------------------
1 |
6 |
8 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/content_contributors.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_local_foreground.xml:
--------------------------------------------------------------------------------
1 |
6 |
8 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_select_all.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/safdav/src/main/java/io/github/x0b/safdav/file/FileAccessError.java:
--------------------------------------------------------------------------------
1 | package io.github.x0b.safdav.file;
2 |
3 | import io.github.x0b.safdav.file.SafException;
4 |
5 | /**
6 | * A general file access error, often a result of an {@link java.io.IOException}.
7 | */
8 | public class FileAccessError extends SafException {
9 |
10 | /**
11 | * Create a new FileAccessError with cause
12 | * @param cause the actual Throwable
13 | */
14 | public FileAccessError(Throwable cause) {
15 | super(cause);
16 | }
17 |
18 | /**
19 | * Create a new FileAccessError without a specific cause
20 | */
21 | public FileAccessError() {
22 | super("Could not access file");
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_lock_foreground.xml:
--------------------------------------------------------------------------------
1 |
6 |
8 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_dropbox_foreground.xml:
--------------------------------------------------------------------------------
1 |
6 |
8 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_terminal_foreground.xml:
--------------------------------------------------------------------------------
1 |
6 |
8 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_bug_report.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/full_description.txt:
--------------------------------------------------------------------------------
1 | RCX helps you to mange your files, everywhere you go, on your local device or on most cloud providers.
2 |
3 | File Management
4 | You can list, view, download, upload, move, rename, delete files and folders
5 |
6 | Streaming
7 | Stream media files, serve files and directories over FTP, HTTP, WebDAV or DLNA
8 |
9 | Material Design
10 | Supports dark theme, custom primary and accent colors
11 |
12 | Access almost everything
13 | Supports Storage Access Framework (SAF) for SD card and USB device access, regular storage devices and of course any cloud compatible with rclone.
14 |
15 | Runs on almost everything
16 | All architectures (runs on ARM, ARM64, x86 and x64 devices, Android 7+ / 5+)
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_google_foreground.xml:
--------------------------------------------------------------------------------
1 |
6 |
8 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/safdav/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/dialog_loading_indicator.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
12 |
13 |
22 |
23 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/dialog_number_picker.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
14 |
22 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_look_and_feel.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/dialog_link.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
17 |
18 |
24 |
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Gradle settings configured through the IDE *will override*
5 | # any settings specified in this file.
6 |
7 | # For more details on how to configure your build environment visit
8 | # http://www.gradle.org/docs/current/userguide/build_environment.html
9 |
10 | # Specifies the JVM arguments used for the daemon process.
11 | # The setting is particularly useful for tweaking memory settings.
12 | android.enableJetifier=false
13 | android.useAndroidX=true
14 | # android.enableR8=true
15 | # android.enableR8.fullMode=true
16 | org.gradle.jvmargs=-Xmx1536m
17 |
18 | # When configured, Gradle will run in incubating parallel mode.
19 | # This option should only be used with decoupled projects. More details, visit
20 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
21 | # org.gradle.parallel=true
22 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/remote_options.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_contributor.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_streaming.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/color_picker_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
15 |
23 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_onedrive.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature-request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest a new feature or enhancement for RCX
4 | ---
5 |
6 | ---
7 | **If this is your first feature request, read our [contribution guidelines](../blob/master/CONTRIBUTING.md#requesting-a-new-feature).**
8 |
9 | ---
10 |
11 | #### Pre-Submission checklist
12 |
13 |
14 | - [ ] There is no existing issue that already asks for this feature.
15 | - [ ] The feature already exists in rclone (on your PC or in Termux)
16 | - [ ] I am prepared to help make this feature
17 |
18 | #### What version of RCX are you using (About -> App version)?
19 |
20 |
21 |
22 | #### What problem are you trying to solve?
23 |
24 |
25 |
26 | #### What should RCX be able to do differently to help with this problem?
27 |
28 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/fragment_share_remotes_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
19 |
20 |
--------------------------------------------------------------------------------
/app/src/main/java/ca/pkay/rcloneexplorer/Dialogs/Dialogs.java:
--------------------------------------------------------------------------------
1 | package ca.pkay.rcloneexplorer.Dialogs;
2 |
3 | import androidx.annotation.Nullable;
4 | import androidx.fragment.app.DialogFragment;
5 |
6 | public class Dialogs {
7 |
8 | /**
9 | * Dismiss a dialog, but only if it is still attached to a host activity.
10 | *
11 | * This should be used especially in callbacks, since they have a higher
12 | * chance of being executed in a different lifecycle phase and thus an
13 | * elevated propability of calling DialogFrament.dismiss() on an invalid
14 | * fragment.
15 | * @param dialog the dialog to dismiss
16 | */
17 | public static void dismissSilently(@Nullable DialogFragment dialog) {
18 | if(dialog != null) {
19 | if(dialog.isStateSaved()){
20 | dialog.dismissAllowingStateLoss();
21 | } else if(dialog.isAdded()) {
22 | dialog.dismiss();
23 | }
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/config_form_template_spinner.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
12 |
17 |
22 |
23 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_mark_github.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/file_picker_menu.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/content_sharing.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/content_remote_config.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/content_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/file_picker_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
12 |
13 |
15 |
16 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/layout-sw720dp/file_picker_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
12 |
13 |
15 |
16 |
25 |
26 |
--------------------------------------------------------------------------------
/LICENSE_rcloneExplorer-1.7.4:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018 Patryk Kaczmarkiewicz
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_onedrive_foreground.xml:
--------------------------------------------------------------------------------
1 |
6 |
8 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_settings.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_remote_config.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
14 |
15 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
23 | # don't change names - this is open source anyways, and the biggest size
24 | # contributor are native libs which we can't shrink.
25 | -dontobfuscate
26 |
27 | # ignore okhttp conscrypt warning
28 | -dontwarn okhttp3.internal.platform.ConscryptPlatform
29 |
30 | # keep model classes
31 | # -keep public class ca.pkay.rcloneexplorer.RcloneRcd.*
32 | -keep class ca.pkay.rcloneexplorer.** { *; }
33 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/config_form_template_switch.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
14 |
21 |
26 |
27 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/content_about_libs.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/app/src/main/assets/contributors.md:
--------------------------------------------------------------------------------
1 | ### Intro
2 | This application was created by [Patryk Kaczmarkiewicz](https://github.com/kaczmarkiewiczp). Your current build is maintained by [x0b](https://github.com/x0b).
3 |
4 | ### Github contributors
5 | Additionally, these people have contributed towards making RCX better:
6 |
7 | * [buywetwok](https://github.com/buywetwok)
8 | * [davsinghm](https://github.com/davsinghm)
9 | * [alyssadev](https://github.com/alyssadev)
10 |
11 | [Join us now on Github.](https://github.com/x0b/rcx)
12 |
13 | ## License
14 |
15 | Copyright (C) 2018-2020 x0b
16 |
17 | This program is free software: you can redistribute it and/or modify
18 | it under the terms of the GNU General Public License as published by
19 | the Free Software Foundation, either version 3 of the License, or
20 | (at your option) any later version.
21 |
22 | This program is distributed in the hope that it will be useful,
23 | but WITHOUT ANY WARRANTY; without even the implied warranty of
24 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25 | GNU General Public License for more details.
26 |
27 | You should have received a copy of the GNU General Public License
28 | along with this program. If not, see .
29 |
--------------------------------------------------------------------------------
/app/src/main/java/ca/pkay/rcloneexplorer/util/Rfc3339Deserializer.java:
--------------------------------------------------------------------------------
1 | package ca.pkay.rcloneexplorer.util;
2 |
3 | import com.fasterxml.jackson.core.JsonParser;
4 | import com.fasterxml.jackson.core.JsonProcessingException;
5 | import com.fasterxml.jackson.databind.DeserializationContext;
6 | import com.fasterxml.jackson.databind.JsonNode;
7 | import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
8 |
9 | import java.io.IOException;
10 | import java.text.ParseException;
11 |
12 | import ca.pkay.rcloneexplorer.RcloneRcd;
13 | import io.github.x0b.rfc3339parser.Rfc3339Parser;
14 | import io.github.x0b.rfc3339parser.Rfc3339Strict;
15 |
16 | public class Rfc3339Deserializer extends StdDeserializer {
17 |
18 | private Rfc3339Parser rfc3339Parser;
19 |
20 | protected Rfc3339Deserializer() {
21 | super(Rfc3339Deserializer.class);
22 | rfc3339Parser = new Rfc3339Strict();
23 | }
24 |
25 | @Override
26 | public Long deserialize(JsonParser parser, DeserializationContext ctxt) throws IOException, JsonProcessingException {
27 | JsonNode timeNode = parser.getCodec().readTree(parser);
28 | try {
29 | return rfc3339Parser.parseCalendar(timeNode.asText()).getTimeInMillis();
30 | } catch (ParseException e) {
31 | return 0L;
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/content_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/app/src/main/java/ca/pkay/rcloneexplorer/ChangelogActivity.java:
--------------------------------------------------------------------------------
1 | package ca.pkay.rcloneexplorer;
2 |
3 | import android.os.Bundle;
4 | import androidx.appcompat.app.ActionBar;
5 | import androidx.appcompat.app.AppCompatActivity;
6 | import androidx.appcompat.widget.Toolbar;
7 |
8 | import ca.pkay.rcloneexplorer.util.MarkdownView;
9 |
10 | public class ChangelogActivity extends AppCompatActivity {
11 |
12 | @Override
13 | protected void onCreate(Bundle savedInstanceState) {
14 | super.onCreate(savedInstanceState);
15 | ActivityHelper.applyTheme(this);
16 | try {
17 | setContentView(R.layout.activity_changelog);
18 | } catch (Exception e) {
19 | MarkdownView.closeOnMissingWebView(this, e);
20 | }
21 | Toolbar toolbar = findViewById(R.id.toolbar);
22 | setSupportActionBar(toolbar);
23 | ActionBar actionBar = getSupportActionBar();
24 | if (actionBar != null) {
25 | actionBar.setDisplayHomeAsUpEnabled(true);
26 | actionBar.setDisplayShowHomeEnabled(true);
27 | }
28 |
29 | MarkdownView markdownView = findViewById(R.id.markdownView);
30 | markdownView.loadAsset("changelog.md");
31 | }
32 |
33 | @Override
34 | public boolean onSupportNavigateUp() {
35 | onBackPressed();
36 | return true;
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/app/src/main/java/ca/pkay/rcloneexplorer/ContributorActivity.java:
--------------------------------------------------------------------------------
1 | package ca.pkay.rcloneexplorer;
2 |
3 | import android.os.Bundle;
4 | import androidx.appcompat.app.ActionBar;
5 | import androidx.appcompat.app.AppCompatActivity;
6 | import androidx.appcompat.widget.Toolbar;
7 | import ca.pkay.rcloneexplorer.util.MarkdownView;
8 |
9 |
10 | public class ContributorActivity extends AppCompatActivity {
11 |
12 | @Override
13 | protected void onCreate(Bundle savedInstanceState) {
14 | super.onCreate(savedInstanceState);
15 | ActivityHelper.applyTheme(this);
16 | try {
17 | setContentView(R.layout.activity_contributors);
18 | } catch (Exception e) {
19 | MarkdownView.closeOnMissingWebView(this, e);
20 | }
21 | Toolbar toolbar = findViewById(R.id.toolbar);
22 | setSupportActionBar(toolbar);
23 | ActionBar actionBar = getSupportActionBar();
24 | if (actionBar != null) {
25 | actionBar.setDisplayHomeAsUpEnabled(true);
26 | actionBar.setDisplayShowHomeEnabled(true);
27 | }
28 |
29 | MarkdownView markdownView = findViewById(R.id.markdownView);
30 | markdownView.loadAsset("contributors.md");
31 | }
32 |
33 | @Override
34 | public boolean onSupportNavigateUp() {
35 | onBackPressed();
36 | return true;
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/fragment_remotes_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
19 |
20 |
27 |
28 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/config_form_template_password.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
12 |
20 |
30 |
31 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_amazon.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/config_form_template_edit_text.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
12 |
19 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/config_form_template_text_field.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
14 |
23 |
30 |
31 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/nav_header_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
14 |
15 |
22 |
23 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/fragment_share_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
13 |
14 |
19 |
20 |
28 |
29 |
30 |
32 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_about.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
14 |
15 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_changelog.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
14 |
15 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_about_libs.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
14 |
15 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/safdav/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 |
3 | android {
4 | compileSdkVersion 30
5 |
6 |
7 | defaultConfig {
8 | minSdkVersion 21
9 | targetSdkVersion 30
10 | versionCode 1
11 | versionName "1.0"
12 |
13 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
14 |
15 | }
16 |
17 | testOptions {
18 | unitTests.returnDefaultValues = true
19 | }
20 |
21 | buildTypes {
22 | release {
23 | minifyEnabled false
24 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
25 | }
26 | }
27 |
28 | compileOptions {
29 | sourceCompatibility JavaVersion.VERSION_1_8
30 | targetCompatibility JavaVersion.VERSION_1_8
31 | }
32 | }
33 |
34 | repositories {
35 | mavenCentral()
36 | }
37 |
38 | task prepareKotlinBuildScriptModel {
39 | // ignore, does not build from kotlin sources
40 | }
41 |
42 | dependencies {
43 | implementation fileTree(include: ['*.jar'], dir: 'libs')
44 | implementation 'org.nanohttpd:nanohttpd:2.3.1'
45 | implementation 'androidx.appcompat:appcompat:1.2.0'
46 | implementation 'androidx.documentfile:documentfile:1.0.1'
47 | implementation 'androidx.preference:preference:1.1.1'
48 | testImplementation 'junit:junit:4.13.1'
49 | androidTestImplementation 'androidx.test:runner:1.3.0'
50 | androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
51 | }
52 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_contributors.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
14 |
15 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/app/src/main/res/layout-sw720dp/content_about_libs.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
15 |
16 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/about_icon_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
16 |
17 |
25 |
26 |
31 |
32 |
40 |
41 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/file_explorer_menu.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Built application files
2 | *.apk
3 | *.ap_
4 |
5 | # Files for the ART/Dalvik VM
6 | *.dex
7 |
8 | # Java class files
9 | *.class
10 |
11 | # Generated files
12 | bin/
13 | gen/
14 | out/
15 |
16 | # Gradle files
17 | .gradle/
18 | build/
19 |
20 | # Local configuration file (sdk path, etc)
21 | local.properties
22 |
23 | # Proguard folder generated by Eclipse
24 | proguard/
25 |
26 | # Log Files
27 | *.log
28 |
29 | # Android Studio Navigation editor temp files
30 | .navigation/
31 |
32 | # Android Studio captures folder
33 | captures/
34 |
35 | # Intellij
36 | *.iml
37 | .idea/assetWizardSettings.xml
38 | .idea/workspace.xml
39 | .idea/tasks.xml
40 | .idea/gradle.xml
41 | .idea/dictionaries
42 | .idea/libraries
43 | .idea/caches
44 |
45 | # Keystore files
46 | *.jks
47 |
48 | # External native build folder generated in Android Studio 2.2 and later
49 | .externalNativeBuild
50 |
51 | # Google Services (e.g. APIs or Firebase)
52 | google-services.json
53 |
54 | # Freeline
55 | freeline.py
56 | freeline/
57 | freeline_project_description.json
58 |
59 | # Don't version native libraries or IDE artifacts. Module config should be done in gradle.
60 | # Generated artifacts (apks, libraries) just slow down cloning and can be recreated from source
61 | # anyways.
62 | app/lib/
63 | release/
64 |
65 | .idea/encodings.xml
66 | .idea/caches/build_file_checksums.ser
67 | .idea/misc.xml
68 | .idea/modules.xml
69 | .idea/codeStyles/Project.xml
70 | .idea/codeStyles/codeStyleConfig.xml
71 | .idea/inspectionProfiles/Project_Default.xml
72 | .idea/
73 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/file_explorer_folder_menu.xml:
--------------------------------------------------------------------------------
1 |
2 |
48 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/search_bar.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
22 |
23 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_yandex_mono.xml:
--------------------------------------------------------------------------------
1 |
3 |
5 |
8 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
15 |
16 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_amazon_foreground.xml:
--------------------------------------------------------------------------------
1 |
6 |
8 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_box.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_mega_logo_black.xml:
--------------------------------------------------------------------------------
1 |
3 |
5 |
7 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/config_form_show_password.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
14 |
15 |
23 |
24 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_open_drive.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_sharing.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
16 |
17 |
23 |
24 |
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/app/src/main/res/layout-sw720dp/activity_changelog.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
14 |
15 |
21 |
22 |
23 |
24 |
31 |
32 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_box_foreground.xml:
--------------------------------------------------------------------------------
1 |
6 |
8 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/app/src/main/res/layout-sw720dp/activity_about.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
14 |
15 |
21 |
22 |
23 |
24 |
32 |
33 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_citrix_sharefile.xml:
--------------------------------------------------------------------------------
1 |
3 |
5 |
7 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/no_internet_state.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
14 |
15 |
18 |
24 |
31 |
32 |
33 |
40 |
41 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_google_photos.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/layout-sw720dp/fragment_share_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
13 |
14 |
20 |
21 |
29 |
30 |
31 |
43 |
--------------------------------------------------------------------------------
/.github/workflows/android.yml:
--------------------------------------------------------------------------------
1 | name: Android CI
2 |
3 | on:
4 | push:
5 | branches:
6 | - 'dev'
7 | pull_request:
8 | branches-ignore:
9 | - 'dev'
10 |
11 | jobs:
12 | build-all:
13 |
14 | runs-on: ubuntu-20.04
15 |
16 | steps:
17 | - uses: actions/checkout@v2
18 | - name: Set up JDK 1.8
19 | uses: actions/setup-java@v1
20 | with:
21 | java-version: 1.8
22 | - name: Set up Go 1.16
23 | uses: actions/setup-go@v1
24 | with:
25 | go-version: 1.16
26 | id: go
27 | - name: Force NDK version
28 | run: echo "y" | sudo ${ANDROID_HOME}/tools/bin/sdkmanager --install "ndk;22.1.7171670"
29 | - name: Build rclone
30 | run: ./gradlew rclone:buildNative
31 | - name: Build app
32 | run: ./gradlew assembleOssDebug
33 | - name: Upload APK (arm)
34 | uses: actions/upload-artifact@v2
35 | with:
36 | name: arm.apk
37 | path: app/build/outputs/apk/oss/debug/app-oss-armeabi-v7a-debug.apk
38 | retention-days: 3
39 | - name: Upload APK (arm64)
40 | uses: actions/upload-artifact@v2
41 | with:
42 | name: arm64.apk
43 | path: app/build/outputs/apk/oss/debug/app-oss-arm64-v8a-debug.apk
44 | retention-days: 3
45 | - name: Upload APK (x86)
46 | uses: actions/upload-artifact@v2
47 | with:
48 | name: x86.apk
49 | path: app/build/outputs/apk/oss/debug/app-oss-x86-debug.apk
50 | retention-days: 3
51 | - name: Upload APK (arm)
52 | uses: actions/upload-artifact@v2
53 | with:
54 | name: x64.apk
55 | path: app/build/outputs/apk/oss/debug/app-oss-x86_64-debug.apk
56 | retention-days: 3
57 | - name: Upload APK (universal)
58 | uses: actions/upload-artifact@v2
59 | with:
60 | name: universal.apk
61 | path: app/build/outputs/apk/oss/debug/app-oss-universal-debug.apk
62 | retention-days: 14
--------------------------------------------------------------------------------
/app/src/main/res/values/arrays_translatable.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | - Box
5 | - Backblaze B2
6 | - Dropbox
7 | - FTP
8 | - HTTP
9 | - HubiC
10 | - pCloud
11 | - SFTP
12 | - Yandex Disk
13 | - WebDAV
14 | - Microsoft OneDrive
15 | - Alias
16 | - Crypt
17 | - QingCloud QingStor
18 | - Microsoft Azure Blob Storage
19 | - Cache
20 | - Local
21 | - Google Drive
22 | - Google Photos
23 | - Union
24 | - Mega
25 |
26 |
27 |
28 | - Cloud file storage
29 | - Cloud file storage
30 | - Cloud file storage
31 | - File server access
32 | - HTTP server access
33 | - Cloud file storage
34 | - Cloud file storage
35 | - SFTP server access
36 | - Cloud file storage
37 | - WebDAV server access
38 | - Cloud file storage
39 | - Set a new name for a remote or path
40 | - Encrypt files in any remote
41 | - Cloud object storage
42 | - Cloud object storage
43 | - Cache files locally for faster access
44 | - Access the (emulated) SD card
45 | - Cloud file storage
46 | - Cloud Photo Storage
47 | - Merge multiple remotes into one
48 | - Cloud file storage
49 |
50 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug-report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Report an error in RCX
4 | ---
5 |
6 | ---
7 | **If this is your first bug report, read our [contribution guidelines](../blob/master/CONTRIBUTING.md#reporting-a-bug).**
8 |
9 | ---
10 |
11 |
24 |
25 | #### What version of RCX are you using (About -> App version)?
26 |
27 |
28 |
29 | #### What is your Android version, phone model and manufacturer?
30 |
31 |
32 |
33 |
34 | #### Which steps are required to reproduce this issue?
35 |
43 |
44 | #### What is your configuration (`rclone.conf`)?
45 |
46 |
47 | #### Does the same issue also occur when using the same configuration on a PC or in Termux?
48 |
49 |
50 | #### What are the contents of ```Android/data/io.github.x0b.rcx/files/logs/log.txt```?
51 | log.txt (click to expand)
52 |
53 |
54 |
55 |
56 |
57 |
58 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/fragment_config_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
13 |
14 |
19 |
20 |
21 |
22 |
31 |
32 |
41 |
42 |
--------------------------------------------------------------------------------
/app/src/main/res/values-de/arrays_translatable.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | - Box
5 | - Backblaze B2
6 | - Dropbox
7 | - FTP
8 | - HTTP
9 | - HubiC
10 | - pCloud
11 | - SFTP
12 | - Yandex Disk
13 | - WebDAV
14 | - Microsoft OneDrive
15 | - Alias
16 | - Crypt
17 | - QingCloud QingStor
18 | - Microsoft Azure Blob Storage
19 | - Cache
20 | - Local
21 | - Google Drive
22 | - Google Photos
23 | - Union
24 | - Mega
25 |
26 |
27 |
28 | - Cloudspeicher
29 | - Cloudspeicher
30 | - Cloudspeicher
31 | - Zugriff auf Dateiserver
32 | - Zugriff auf einen HTTP-Server
33 | - Cloudspeicher
34 | - Cloudspeicher
35 | - Zugriff auf einen SFTP-Server
36 | - Cloudspeicher
37 | - Zugriff auf einen WebDAV-Server
38 | - Cloudspeicher
39 | - Einen neuen namen für eine Remote oder einen Pfad vergeben
40 | - Dateien auf anderen Remotes verschlüsseln
41 | - Cloud-Objektspeicher
42 | - Cloud-Objektspeicher
43 | - Zugriff durch lokales Zwischenspeichern beschleunigen
44 | - Zugriff auf "Externen Speicher"
45 | - Cloudspeicher
46 | - Cloud-Fotospeicher
47 | - Mehrere Remotes kombinieren
48 | - Cloudspeicher
49 |
50 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_rclone_logo.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
8 |
11 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_backblaze_b2_black.xml:
--------------------------------------------------------------------------------
1 |
3 |
5 |
7 |
9 |
11 |
12 |
--------------------------------------------------------------------------------
/SECURITY.md:
--------------------------------------------------------------------------------
1 | # Security Policy
2 |
3 | Please contact us directly about security issues: x0bdev+security@gmail.com. Please give appropriate time to respond.
4 |
5 | This is a community project without 24/7 operations or formal security review. While we try to make the app as secure as possible, we cannot offer any guarantees. Do not rely on the encryption for your safety.
6 |
7 | ## Supported Versions
8 |
9 | We only support the latest release version. Of course, we still like to hear about vulnerabilities in pre-release versions and older still-in-use versions.
10 |
11 | ## Security Model
12 | Since the app is a file browser with the keys to your cloud storage as well as local storage, we consider anything a security issue that...
13 | - allows unauthorized access to oauth tokens, passwords and other secrets,
14 | - allows unintended read/write access to cloud content,
15 | - allows access to private app storage, code or otherwise compromises the functionality.
16 |
17 |
18 | The app relies on the platform for protecting its private directories and executables. We therefore explicitly do not support rooted devices or devices with unpatched vulnerabilities. If it is technically feasable to add mitigations against platform vulnerabilites, we will consider it.
19 |
20 | ## Current state of security
21 | _While we do not consider those things security vulnerabilities, they are on our "security" todo list for new/improved protections._
22 | - The rclone configuration file is stored without additional encryption in app-private storage ([issue](https://github.com/x0b/rcx/issues/12)).
23 | - Some operations may use your flash storage as temporary storage location, if they are too large for app-internal storage. Depending on your Android version, those files may temporarily be available to other apps that you have granted external storage or storage manager permissions.
24 | - The upcoming SAF provider offers other apps direct access to your files. It is vital you do not install apps you do not trust 100%, since they may be able to impersonate apps you have previously granted file access to.
25 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/locked_config.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
17 |
26 |
27 |
36 |
37 |
45 |
46 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_file_picker.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
15 |
16 |
22 |
23 |
33 |
34 |
35 |
36 |
37 |
38 |
45 |
46 |
--------------------------------------------------------------------------------
/safdav/src/main/java/io/github/x0b/safdav/file/SafItem.java:
--------------------------------------------------------------------------------
1 | package io.github.x0b.safdav.file;
2 |
3 | import android.net.Uri;
4 |
5 | import java.util.List;
6 |
7 | public interface SafItem {
8 |
9 | /**
10 | * Provide a link to retrieve this item
11 | * @return
12 | */
13 | String getLink();
14 |
15 | /**
16 | * Get the last modified date as RFC 850-Formatted string
17 | * @return RFC 850 Date string
18 | */
19 | String getLastModified();
20 |
21 | /**
22 | * Creation date if available, otherwise alias to #getLastModified
23 | * @return
24 | */
25 | String getCreationDate();
26 |
27 | /**
28 | * Returns the item size. If the item is not a file, 0 may be returned
29 | * @return item size or -1 for non-file items
30 | */
31 | String getContentLength();
32 |
33 | /**
34 | * Get the name of the file for display purposes.
35 | * @return name string
36 | */
37 | String getName();
38 |
39 | /**
40 | * Get an appropriate file type
41 | * @return document type as mime type
42 | */
43 | String getContentType();
44 |
45 | /**
46 | * Indicate if the item may contain any child item. If getChildItem.length > 0, this should be true
47 | * @return true if the item is a directory, otherwise false
48 | */
49 | boolean isCollection();
50 |
51 | /**
52 | * Return a version token. May be derived from or aliased to {@link #getLastModified()}
53 | * @return a version tag
54 | */
55 | String getETag();
56 |
57 | /**
58 | * Indicate the HTTP status to be set for the file
59 | * @return a status string
60 | */
61 | String getStatus();
62 |
63 | /**
64 | * Get item length
65 | * @return length in bytes
66 | */
67 | long getLength();
68 |
69 | /**
70 | * Return any children of this this item
71 | * @return a {@link List} of children, if there are any
72 | */
73 | List extends SafItem> getChildren();
74 |
75 | /**
76 | * Get an uri that represents this item
77 | * @return an {@link Uri}
78 | */
79 | Uri getUri();
80 | }
81 |
--------------------------------------------------------------------------------
/app/src/main/res/values/custom_color_choices.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | - @color/colorPrimary_Red
5 | - @color/colorPrimary_Pink
6 | - @color/colorPrimary_Purple
7 | - @color/colorPrimary_DeepPurple
8 | - @color/colorPrimary_Indigo
9 | - @color/colorPrimary_Blue
10 | - @color/colorPrimary_LightBlue
11 | - @color/colorPrimary_Cyan
12 | - @color/colorPrimary_Teal
13 | - @color/colorPrimary_Green
14 | - @color/colorPrimary_LightGreen
15 | - @color/colorPrimary_Lime
16 | - @color/colorPrimary_Yellow
17 | - @color/colorPrimary_Amber
18 | - @color/colorPrimary_Orange
19 | - @color/colorPrimary_DeepOrange
20 | - @color/colorPrimary_Brown
21 | - @color/colorPrimary_Grey
22 | - @color/colorPrimary_BlueGrey
23 |
24 |
25 |
26 | - @color/colorAccent_Red
27 | - @color/colorAccent_Pink
28 | - @color/colorAccent_Purple
29 | - @color/colorAccent_DeepPurple
30 | - @color/colorAccent_Indigo
31 | - @color/colorAccent_Blue
32 | - @color/colorAccent_LightBlue
33 | - @color/colorAccent_Cyan
34 | - @color/colorAccent_Teal
35 | - @color/colorAccent_Green
36 | - @color/colorAccent_LightGreen
37 | - @color/colorAccent_Lime
38 | - @color/colorAccent_Yellow
39 | - @color/colorAccent_Amber
40 | - @color/colorAccent_Orange
41 | - @color/colorAccent_DeepOrange
42 | - @color/colorAccent_Brown
43 | - @color/colorAccent_Grey
44 | - @color/colorAccent_BlueGrey
45 |
46 |
--------------------------------------------------------------------------------
/app/src/main/res/values/arrays.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | - http
5 | - https
6 | - socks5
7 |
8 |
9 |
10 | - en-US
11 | - de-DE
12 |
13 |
14 |
15 | - BOX
16 | - B2
17 | - DROPBOX
18 | - FTP
19 | - HTTP
20 | - HUBIC
21 | - PCLOUD
22 | - SFTP
23 | - YANDEX
24 | - WEBDAV
25 | - ONEDRIVE
26 | - ALIAS
27 | - CRYPT
28 | - QINGSTOR
29 | - AZUREBLOB
30 | - CACHE
31 | - LOCAL
32 | - DRIVE
33 | - GOOGLE_PHOTOS
34 | - UNION
35 | - MEGA
36 |
37 |
38 |
39 | - @drawable/ic_box
40 | - @drawable/ic_backblaze_b2_black
41 | - @drawable/ic_dropbox
42 | - @drawable/ic_cloud
43 | - @drawable/ic_cloud
44 | - @drawable/ic_hubic_black
45 | - @drawable/ic_pcloud
46 | - @drawable/ic_terminal
47 | - @drawable/ic_yandex_mono
48 | - @drawable/ic_webdav
49 | - @drawable/ic_onedrive
50 | - @drawable/ic_rclone_logo
51 | - @drawable/ic_lock_black
52 | - @drawable/ic_cloud
53 | - @drawable/ic_azure_storage_blob_logo
54 | - @drawable/ic_rclone_logo
55 | - @drawable/ic_tablet_cellphone
56 | - @drawable/ic_google_drive
57 | - @drawable/ic_google_photos
58 | - @drawable/ic_union_24dp
59 | - @drawable/ic_mega_logo_black
60 |
61 |
--------------------------------------------------------------------------------