├── .gitignore ├── .ignore ├── LICENSE ├── README.md ├── app ├── app.iml ├── build.gradle ├── proguard-rules.txt └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── lgallardo │ │ └── qbittorrentclient │ │ └── MainActivityTest.java │ ├── free │ ├── free.iml │ └── res │ │ ├── layout-large-port │ │ ├── activity_main.xml │ │ ├── row.xml │ │ ├── torrent_details.xml │ │ └── torrent_details_old.xml │ │ ├── layout-large │ │ ├── activity_main.xml │ │ ├── activity_main_original.xml │ │ ├── row.xml │ │ ├── torrent_details.xml │ │ └── torrent_details_old.xml │ │ ├── layout-sw600dp │ │ ├── about.xml │ │ ├── row.xml │ │ ├── torrent_details.xml │ │ └── torrent_details_old.xml │ │ ├── layout │ │ ├── activity_main.xml │ │ ├── activity_rssfeed.xml │ │ ├── activity_rssitem.xml │ │ ├── row.xml │ │ ├── torrent_details.xml │ │ └── torrent_details_old.xml │ │ ├── values-es │ │ ├── arrays.xml │ │ └── strings.xml │ │ ├── values-eu │ │ ├── arrays.xml │ │ └── strings.xml │ │ ├── values-fr │ │ ├── arrays.xml │ │ └── strings.xml │ │ ├── values-hu │ │ ├── arrays.xml │ │ └── strings.xml │ │ ├── values-it-rIT │ │ ├── arrays.xml │ │ └── strings.xml │ │ ├── values-ja │ │ ├── arrays.xml │ │ └── strings.xml │ │ ├── values-pl │ │ ├── arrays.xml │ │ └── strings.xml │ │ ├── values-pt-rBR │ │ ├── arrays.xml │ │ └── strings.xml │ │ ├── values-pt-rPT │ │ ├── arrays.xml │ │ └── strings.xml │ │ ├── values-ru │ │ ├── arrays.xml │ │ └── strings.xml │ │ ├── values-sv │ │ ├── arrays.xml │ │ └── strings.xml │ │ ├── values-tr │ │ ├── arrays.xml │ │ └── strings.xml │ │ ├── values │ │ ├── arrays.xml │ │ └── strings.xml │ │ └── xml │ │ └── help.xml │ ├── main │ ├── AndroidManifest.xml │ ├── gen │ │ └── com │ │ │ └── lgallardo │ │ │ └── qbittorrentclient │ │ │ ├── BuildConfig.java │ │ │ ├── Manifest.java │ │ │ └── R.java │ ├── ic_launcher-web.png │ ├── java │ │ └── com │ │ │ └── lgallardo │ │ │ └── qbittorrentclient │ │ │ ├── AboutActivity.java │ │ │ ├── AboutFragment.java │ │ │ ├── Api.java │ │ │ ├── Category.java │ │ │ ├── Common.java │ │ │ ├── ContentFile.java │ │ │ ├── ContentFilesRecyclerViewAdapter.java │ │ │ ├── Cookie.java │ │ │ ├── CustomLogger.java │ │ │ ├── CustomMultipartRequest.java │ │ │ ├── CustomObjectRequest.java │ │ │ ├── CustomObjectResult.java │ │ │ ├── CustomStringRequest.java │ │ │ ├── CustomStringResult.java │ │ │ ├── DeviceBootReceiver.java │ │ │ ├── DrawerItem.java │ │ │ ├── DrawerItemRecyclerViewAdapter.java │ │ │ ├── GeneralInfo.java │ │ │ ├── GeneralInfoItem.java │ │ │ ├── GeneralInfoOld.java │ │ │ ├── GeneralInfoRecyclerViewAdapter.java │ │ │ ├── Header.java │ │ │ ├── HelpActivity.java │ │ │ ├── HelpFragment.java │ │ │ ├── ItemstFragment.java │ │ │ ├── MainActivity.java │ │ │ ├── MySSLSocketFactory.java │ │ │ ├── MyTrustManager.java │ │ │ ├── NotifierService.java │ │ │ ├── Options.java │ │ │ ├── OptionsActivity.java │ │ │ ├── ServerState.java │ │ │ ├── SettingsActivity.java │ │ │ ├── TimePreference.java │ │ │ ├── Torrent.java │ │ │ ├── TorrentAddedOnComparator.java │ │ │ ├── TorrentAddedOnTimestampComparator.java │ │ │ ├── TorrentCompletedOnComparator.java │ │ │ ├── TorrentCompletedOnTimestampComparator.java │ │ │ ├── TorrentDetailsFragment.java │ │ │ ├── TorrentDetailsItem.java │ │ │ ├── TorrentDownloadSpeedComparator.java │ │ │ ├── TorrentEtaComparator.java │ │ │ ├── TorrentListAdapter.java │ │ │ ├── TorrentNameComparator.java │ │ │ ├── TorrentPriorityComparator.java │ │ │ ├── TorrentProgressComparator.java │ │ │ ├── TorrentRatioComparator.java │ │ │ ├── TorrentSizeComparator.java │ │ │ ├── TorrentUploadSpeedComparator.java │ │ │ ├── Tracker.java │ │ │ ├── TrackersRecyclerViewAdapter.java │ │ │ ├── TransferInfo.java │ │ │ ├── UrlsMultipartRequest.java │ │ │ └── VolleySingleton.java │ ├── main.iml │ └── res │ │ ├── drawable-anydpi │ │ └── ic_action_force_start.xml │ │ ├── drawable-hdpi-v11 │ │ ├── ic_notification.png │ │ ├── ic_rss_notification.png │ │ └── ic_stat_completed.png │ │ ├── drawable-hdpi-v9 │ │ ├── ic_notification.png │ │ ├── ic_rss_notification.png │ │ └── ic_stat_completed.png │ │ ├── drawable-hdpi │ │ ├── downloading.png │ │ ├── error.png │ │ ├── error2.png │ │ ├── ic_action_add.png │ │ ├── ic_action_add_rss.png │ │ ├── ic_action_decrease_prio.png │ │ ├── ic_action_delete.png │ │ ├── ic_action_delete_drive.png │ │ ├── ic_action_force_start.png │ │ ├── ic_action_increase_prio.png │ │ ├── ic_action_max_prio.png │ │ ├── ic_action_min_prio.png │ │ ├── ic_action_options.png │ │ ├── ic_action_pause.png │ │ ├── ic_action_recheck.png │ │ ├── ic_action_refresh.png │ │ ├── ic_action_resume.png │ │ ├── ic_action_sort.png │ │ ├── ic_arrow.png │ │ ├── ic_drawer.png │ │ ├── ic_drawer_active.png │ │ ├── ic_drawer_all.png │ │ ├── ic_drawer_categories.png │ │ ├── ic_drawer_completed.png │ │ ├── ic_drawer_downloading.png │ │ ├── ic_drawer_help.png │ │ ├── ic_drawer_inactive.png │ │ ├── ic_drawer_paused.png │ │ ├── ic_drawer_pro.png │ │ ├── ic_drawer_seeding.png │ │ ├── ic_drawer_servers.png │ │ ├── ic_drawer_settings.png │ │ ├── ic_drawer_subitem.png │ │ ├── ic_notification.png │ │ ├── ic_refresh.png │ │ ├── ic_rss_notification.png │ │ ├── ic_stat_completed.png │ │ ├── okay.png │ │ ├── paused.png │ │ ├── queued.png │ │ ├── stalleddl.png │ │ ├── stalledup.png │ │ └── uploading.png │ │ ├── drawable-mdpi-v11 │ │ ├── ic_notification.png │ │ ├── ic_rss_notification.png │ │ └── ic_stat_completed.png │ │ ├── drawable-mdpi-v9 │ │ ├── ic_notification.png │ │ ├── ic_rss_notification.png │ │ └── ic_stat_completed.png │ │ ├── drawable-mdpi │ │ ├── downloading.png │ │ ├── error.png │ │ ├── error2.png │ │ ├── ic_action_add.png │ │ ├── ic_action_add_rss.png │ │ ├── ic_action_decrease_prio.png │ │ ├── ic_action_delete.png │ │ ├── ic_action_delete_drive.png │ │ ├── ic_action_force_start.png │ │ ├── ic_action_increase_prio.png │ │ ├── ic_action_max_prio.png │ │ ├── ic_action_min_prio.png │ │ ├── ic_action_options.png │ │ ├── ic_action_pause.png │ │ ├── ic_action_recheck.png │ │ ├── ic_action_refresh.png │ │ ├── ic_action_resume.png │ │ ├── ic_action_sort.png │ │ ├── ic_arrow.png │ │ ├── ic_drawer.png │ │ ├── ic_drawer_active.png │ │ ├── ic_drawer_all.png │ │ ├── ic_drawer_categories.png │ │ ├── ic_drawer_completed.png │ │ ├── ic_drawer_downloading.png │ │ ├── ic_drawer_help.png │ │ ├── ic_drawer_inactive.png │ │ ├── ic_drawer_paused.png │ │ ├── ic_drawer_pro.png │ │ ├── ic_drawer_seeding.png │ │ ├── ic_drawer_servers.png │ │ ├── ic_drawer_settings.png │ │ ├── ic_drawer_subitem.png │ │ ├── ic_notification.png │ │ ├── ic_refresh.png │ │ ├── ic_rss_notification.png │ │ ├── ic_stat_completed.png │ │ ├── okay.png │ │ ├── paused.png │ │ ├── queued.png │ │ ├── stalleddl.png │ │ ├── stalledup.png │ │ └── uploading.png │ │ ├── drawable-xhdpi-v11 │ │ ├── ic_notification.png │ │ ├── ic_rss_notification.png │ │ └── ic_stat_completed.png │ │ ├── drawable-xhdpi-v9 │ │ ├── ic_notification.png │ │ ├── ic_rss_notification.png │ │ └── ic_stat_completed.png │ │ ├── drawable-xhdpi │ │ ├── downloading.png │ │ ├── error.png │ │ ├── error2.png │ │ ├── ic_action_add.png │ │ ├── ic_action_add_rss.png │ │ ├── ic_action_decrease_prio.png │ │ ├── ic_action_delete.png │ │ ├── ic_action_delete_drive.png │ │ ├── ic_action_force_start.png │ │ ├── ic_action_increase_prio.png │ │ ├── ic_action_max_prio.png │ │ ├── ic_action_min_prio.png │ │ ├── ic_action_options.png │ │ ├── ic_action_pause.png │ │ ├── ic_action_recheck.png │ │ ├── ic_action_refresh.png │ │ ├── ic_action_resume.png │ │ ├── ic_action_sort.png │ │ ├── ic_arrow.png │ │ ├── ic_drawer.png │ │ ├── ic_drawer_active.png │ │ ├── ic_drawer_all.png │ │ ├── ic_drawer_categories.png │ │ ├── ic_drawer_completed.png │ │ ├── ic_drawer_downloading.png │ │ ├── ic_drawer_help.png │ │ ├── ic_drawer_inactive.png │ │ ├── ic_drawer_paused.png │ │ ├── ic_drawer_pro.png │ │ ├── ic_drawer_seeding.png │ │ ├── ic_drawer_servers.png │ │ ├── ic_drawer_settings.png │ │ ├── ic_drawer_subitem.png │ │ ├── ic_notification.png │ │ ├── ic_refresh.png │ │ ├── ic_rss_notification.png │ │ ├── ic_stat_completed.png │ │ ├── okay.png │ │ ├── paused.png │ │ ├── queued.png │ │ ├── stalleddl.png │ │ ├── stalledup.png │ │ └── uploading.png │ │ ├── drawable-xxhdpi-v11 │ │ ├── ic_notification.png │ │ ├── ic_rss_notification.png │ │ └── ic_stat_completed.png │ │ ├── drawable-xxhdpi-v9 │ │ ├── ic_notification.png │ │ ├── ic_rss_notification.png │ │ └── ic_stat_completed.png │ │ ├── drawable-xxhdpi │ │ ├── downloading.png │ │ ├── error.png │ │ ├── error2.png │ │ ├── ic_action_add.png │ │ ├── ic_action_add_rss.png │ │ ├── ic_action_decrease_prio.png │ │ ├── ic_action_delete.png │ │ ├── ic_action_delete_drive.png │ │ ├── ic_action_force_start.png │ │ ├── ic_action_increase_prio.png │ │ ├── ic_action_max_prio.png │ │ ├── ic_action_min_prio.png │ │ ├── ic_action_options.png │ │ ├── ic_action_pause.png │ │ ├── ic_action_recheck.png │ │ ├── ic_action_refresh.png │ │ ├── ic_action_resume.png │ │ ├── ic_action_sort.png │ │ ├── ic_arrow.png │ │ ├── ic_drawer.png │ │ ├── ic_drawer_active.png │ │ ├── ic_drawer_all.png │ │ ├── ic_drawer_categories.png │ │ ├── ic_drawer_completed.png │ │ ├── ic_drawer_downloading.png │ │ ├── ic_drawer_help.png │ │ ├── ic_drawer_inactive.png │ │ ├── ic_drawer_paused.png │ │ ├── ic_drawer_pro.png │ │ ├── ic_drawer_seeding.png │ │ ├── ic_drawer_servers.png │ │ ├── ic_drawer_settings.png │ │ ├── ic_drawer_subitem.png │ │ ├── ic_notification.png │ │ ├── ic_refresh.png │ │ ├── ic_rss_notification.png │ │ ├── ic_stat_completed.png │ │ ├── okay.png │ │ ├── paused.png │ │ ├── queued.png │ │ ├── stalleddl.png │ │ ├── stalledup.png │ │ └── uploading.png │ │ ├── drawable │ │ ├── background_drawer_selector_dark.xml │ │ ├── background_drawer_selector_light.xml │ │ ├── background_selector_dark.xml │ │ ├── background_selector_light.xml │ │ ├── gmd_shadow_dark.xml │ │ ├── gmd_shadow_light.xml │ │ └── ic_launcher_background.xml │ │ ├── layout-large │ │ └── tablet_help.xml │ │ ├── layout │ │ ├── about.xml │ │ ├── about_qbitorrentclient.xml │ │ ├── activity_main_original.xml │ │ ├── add_rss.xml │ │ ├── add_torrent.xml │ │ ├── add_tracker.xml │ │ ├── app_bar.xml │ │ ├── contentfile_row.xml │ │ ├── download_rate_limit.xml │ │ ├── drawer_header.xml │ │ ├── drawer_row.xml │ │ ├── drawer_row_active.xml │ │ ├── drawer_servers_row.xml │ │ ├── drawer_subitem_active_row.xml │ │ ├── drawer_subitem_row.xml │ │ ├── generalinfo_row.xml │ │ ├── rss_channel_row.xml │ │ ├── rss_item_row.xml │ │ ├── send_report.xml │ │ ├── send_torrent.xml │ │ ├── set_category.xml │ │ ├── tracker_row.xml │ │ └── upload_rate_limit.xml │ │ ├── menu │ │ ├── main.xml │ │ ├── main_contextual_action_bar.xml │ │ ├── menu_file_contextual.xml │ │ ├── menu_rssfeed.xml │ │ └── menu_rssrow_contextual.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_background.png │ │ ├── ic_launcher_foreground.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_background.png │ │ ├── ic_launcher_foreground.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_background.png │ │ ├── ic_launcher_foreground.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_background.png │ │ ├── ic_launcher_foreground.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_background.png │ │ ├── ic_launcher_foreground.png │ │ └── ic_launcher_round.png │ │ ├── values-sw600dp │ │ └── dimens.xml │ │ ├── values-sw720dp-land │ │ └── dimens.xml │ │ ├── values-w820dp │ │ └── dimens.xml │ │ ├── values │ │ ├── attrs.xml │ │ ├── colors.xml │ │ ├── colors_dark.xml │ │ ├── dimens.xml │ │ ├── ic_launcher_background.xml │ │ └── styles.xml │ │ └── xml │ │ ├── options.xml │ │ ├── preferences.xml │ │ └── searchable.xml │ └── pro │ ├── java │ └── pro.iml │ └── res │ ├── layout-large-port │ ├── activity_main.xml │ ├── row.xml │ ├── torrent_details.xml │ └── torrent_details_old.xml │ ├── layout-large │ ├── activity_main.xml │ ├── activity_main_original.xml │ ├── row.xml │ ├── torrent_details.xml │ └── torrent_details_old.xml │ ├── layout-sw600dp │ ├── about.xml │ ├── row.xml │ ├── torrent_details.xml │ └── torrent_details_old.xml │ ├── layout │ ├── activity_main.xml │ ├── activity_rssfeed.xml │ ├── activity_rssitem.xml │ ├── row.xml │ ├── torrent_details.xml │ └── torrent_details_old.xml │ ├── values-es │ ├── arrays.xml │ └── strings.xml │ ├── values-eu │ ├── arrays.xml │ └── strings.xml │ ├── values-fr │ ├── arrays.xml │ └── strings.xml │ ├── values-hu │ ├── arrays.xml │ └── strings.xml │ ├── values-it-rIT │ ├── arrays.xml │ └── strings.xml │ ├── values-ja │ ├── arrays.xml │ └── strings.xml │ ├── values-pl │ ├── arrays.xml │ └── strings.xml │ ├── values-pt-rBR │ ├── arrays.xml │ └── strings.xml │ ├── values-pt-rPT │ ├── arrays.xml │ └── strings.xml │ ├── values-ru │ ├── arrays.xml │ └── strings.xml │ ├── values-sv │ ├── arrays.xml │ └── strings.xml │ ├── values-tr │ ├── arrays.xml │ └── strings.xml │ ├── values │ ├── arrays.xml │ └── strings.xml │ └── xml │ └── help.xml ├── build.gradle ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── import-summary.txt ├── qBittorrent-Client.iml ├── qBittorrent-Controller.iml ├── qBittorrentClient.iml └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- 1 | app/app.iml 2 | # Built application files 3 | *.apk 4 | *.ap_ 5 | 6 | # Files for the Dalvik VM 7 | *.dex 8 | 9 | # Java class files 10 | *.class 11 | 12 | # Gradle files 13 | .gradle/ 14 | /.idea/libraries 15 | build/ 16 | */build/ 17 | .idea/libraries 18 | 19 | # Local configuration name (sdk path, etc) 20 | local.properties 21 | 22 | # Proguard folder generated by Eclipse 23 | proguard/ 24 | 25 | # Log Files 26 | *.log 27 | 28 | .idea/* 29 | .idea/workspace.xml 30 | .idea/ 31 | 32 | -------------------------------------------------------------------------------- /.ignore: -------------------------------------------------------------------------------- 1 | # Built application files 2 | *.apk 3 | *.ap_ 4 | 5 | # Files for the Dalvik VM 6 | *.dex 7 | 8 | # Java class files 9 | *.class 10 | 11 | 12 | # Gradle files 13 | .gradle/ 14 | build/ 15 | */build/ 16 | 17 | # Local configuration name (sdk path, etc) 18 | local.properties 19 | 20 | # Proguard folder generated by Eclipse 21 | proguard/ 22 | 23 | # Log Files 24 | *.log 25 | 26 | .idea 27 | .idea/libraries/ 28 | .idea/workspace.xml 29 | app/app.iml 30 | app/build.gradle 31 | 32 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Luis M. Gallardo D. 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 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | qBittorrent-Controller 2 | ================== 3 | 4 | This is the repository for **_qBittorrent Controller_**, an Android app for manage for [qBittorrent](http://www.qbittorrent.org/) remotely. 5 | 6 | ## Features 7 | 8 | * See a two panel view (fragments) for torrent list and details in the same window 9 | * Drawer menu for switching between All, Downloading, Completed, Paused, Active and Inactive torrent list 10 | * Pause or resume all torrents from the selected list 11 | * Auto refresh torrent list after performing an action on a torrent (pause, resume, or delete) 12 | * Add URL directly or by clicking the torrent link on your device's browser 13 | * Pause, resume, or delete individual torrents with its downloaded data 14 | * Set and save a connection account 15 | 16 | ## Phone version 17 | ![](https://github.com/lgallard/lgallard.github.io/blob/master/images/qbc-phone-list.png) 18 | ![](https://github.com/lgallard/lgallard.github.io/blob/master/images/qbc-phone-torrentdetails.png) 19 | ![](https://github.com/lgallard/lgallard.github.io/blob/master/images/qbc-phone-list-dark.png) 20 | ![](https://github.com/lgallard/lgallard.github.io/blob/master/images/qbc-phone-list-detail-dark.png) 21 | 22 | ## Tablet version 23 | ![](https://github.com/lgallard/lgallard.github.io/blob/master/images/qbc-tablet-list.png) 24 | ![](https://github.com/lgallard/lgallard.github.io/blob/master/images/qbc-tablet-list-dark_o.png) 25 | 26 | ## Download 27 | * [Google Play Store](https://play.google.com/store/apps/details?id=com.lgallardo.qbittorrentclient) 28 | * [GitHub](https://github.com/lgallard/qBittorrent-Client/releases) 29 | -------------------------------------------------------------------------------- /app/proguard-rules.txt: -------------------------------------------------------------------------------- 1 | -keep class android.support.v4.** { *; } 2 | -keep interface android.support.v4.** { *; } 3 | 4 | -keep class android.support.v7.** { *; } 5 | -keep interface android.support.v7.** { *; } 6 | 7 | -dontwarn org.apache.http.** 8 | -dontwarn android.net.http.AndroidHttpClient 9 | -dontwarn com.google.android.gms.** -------------------------------------------------------------------------------- /app/src/free/free.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/free/res/layout-large-port/row.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 14 | 15 | 23 | 24 | 32 | 33 | 38 | 39 | 46 | 50 | 51 | 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /app/src/free/res/layout-large/activity_main_original.xml: -------------------------------------------------------------------------------- 1 | 9 | 16 | 17 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/free/res/layout-large/row.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 14 | 15 | 23 | 24 | 32 | 33 | 38 | 39 | 46 | 50 | 51 | 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /app/src/free/res/layout-sw600dp/row.xml: -------------------------------------------------------------------------------- 1 | 9 | 13 | 14 | 22 | 23 | 24 | 33 | 34 | 39 | 40 | 47 | 48 | 52 | 53 | 59 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /app/src/free/res/layout/activity_rssfeed.xml: -------------------------------------------------------------------------------- 1 | 9 | 15 | 16 | 20 | 21 | 24 | 25 | 32 | 33 | 34 | 42 | 43 | -------------------------------------------------------------------------------- /app/src/free/res/layout/activity_rssitem.xml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 17 | 18 | 21 | 22 | 29 | 30 | 31 | 32 | 40 | -------------------------------------------------------------------------------- /app/src/free/res/layout/row.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 14 | 15 | 24 | 25 | 34 | 35 | 40 | 41 | 48 | 49 | 53 | 54 | 60 | 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /app/src/free/res/xml/help.xml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 14 | 17 | 20 | 21 | 25 | 26 | 29 | 32 | 35 | 36 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /app/src/main/gen/com/lgallardo/qbittorrentclient/BuildConfig.java: -------------------------------------------------------------------------------- 1 | /*___Generated_by_IDEA___*/ 2 | 3 | package com.lgallardo.qbittorrentclient; 4 | 5 | /* This stub is only used by the IDE. It is NOT the BuildConfig class actually packed into the APK */ 6 | public final class BuildConfig { 7 | public final static boolean DEBUG = Boolean.parseBoolean(null); 8 | } -------------------------------------------------------------------------------- /app/src/main/gen/com/lgallardo/qbittorrentclient/Manifest.java: -------------------------------------------------------------------------------- 1 | /*___Generated_by_IDEA___*/ 2 | 3 | package com.lgallardo.qbittorrentclient; 4 | 5 | /* This stub is only used by the IDE. It is NOT the Manifest class actually packed into the APK */ 6 | public final class Manifest { 7 | } -------------------------------------------------------------------------------- /app/src/main/gen/com/lgallardo/qbittorrentclient/R.java: -------------------------------------------------------------------------------- 1 | /*___Generated_by_IDEA___*/ 2 | 3 | package com.lgallardo.qbittorrentclient; 4 | 5 | /* This stub is only used by the IDE. It is NOT the R class actually packed into the APK */ 6 | public final class R { 7 | } -------------------------------------------------------------------------------- /app/src/main/ic_launcher-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/ic_launcher-web.png -------------------------------------------------------------------------------- /app/src/main/java/com/lgallardo/qbittorrentclient/AboutActivity.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2015 Luis M. Gallardo D. 3 | * All rights reserved. This program and the accompanying materials 4 | * are made available under the terms of the GNU Lesser General Public License v3.0 5 | * which accompanies this distribution, and is available at 6 | * http://www.gnu.org/licenses/lgpl.html 7 | * 8 | */ 9 | 10 | package com.lgallardo.qbittorrentclient; 11 | 12 | import android.app.Activity; 13 | import android.os.Bundle; 14 | 15 | 16 | /** 17 | * Created by lgallard on 3/19/15. 18 | */ 19 | public class AboutActivity extends Activity { 20 | @Override 21 | public void onCreate(Bundle savedInstanceState) { 22 | super.onCreate(savedInstanceState); 23 | setContentView(R.layout.about_qbitorrentclient); 24 | 25 | 26 | } 27 | } -------------------------------------------------------------------------------- /app/src/main/java/com/lgallardo/qbittorrentclient/Api.java: -------------------------------------------------------------------------------- 1 | package com.lgallardo.qbittorrentclient; 2 | 3 | /** 4 | * Created by lgallard on 2/23/18. 5 | */ 6 | 7 | public class Api { 8 | 9 | String apiversion; 10 | 11 | public Api(String apiversion) { 12 | this.apiversion = apiversion; 13 | } 14 | 15 | public String getApiversion() { 16 | return apiversion; 17 | } 18 | 19 | public void setApiversion(String apiversion) { 20 | this.apiversion = apiversion; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /app/src/main/java/com/lgallardo/qbittorrentclient/Category.java: -------------------------------------------------------------------------------- 1 | package com.lgallardo.qbittorrentclient; 2 | 3 | public class Category { 4 | 5 | private String name; 6 | private String savePath; 7 | 8 | 9 | public Category(String name, String savePath) { 10 | this.name = name; 11 | this.savePath = savePath; 12 | } 13 | 14 | public String getName() { 15 | return name; 16 | } 17 | 18 | public void setName(String name) { 19 | this.name = name; 20 | } 21 | 22 | public String getSavePath() { 23 | return savePath; 24 | } 25 | 26 | public void setSavePath(String savePath) { 27 | this.savePath = savePath; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /app/src/main/java/com/lgallardo/qbittorrentclient/ContentFile.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2015 Luis M. Gallardo D. 3 | * All rights reserved. This program and the accompanying materials 4 | * are made available under the terms of the GNU Lesser General Public License v3.0 5 | * which accompanies this distribution, and is available at 6 | * http://www.gnu.org/licenses/lgpl.html 7 | * 8 | */ 9 | 10 | package com.lgallardo.qbittorrentclient; 11 | 12 | import com.google.gson.annotations.Expose; 13 | import com.google.gson.annotations.SerializedName; 14 | 15 | public class ContentFile { 16 | // New format 17 | @SerializedName("name") 18 | @Expose 19 | private String name; 20 | @SerializedName("size") 21 | @Expose 22 | private double size; 23 | @SerializedName("progress") 24 | @Expose 25 | private double progress; 26 | @SerializedName("priority") 27 | @Expose 28 | private int priority; 29 | @SerializedName("recyclerViewItemHeight") 30 | @Expose 31 | private int recyclerViewItemHeight; 32 | @SerializedName("isSeed") 33 | @Expose 34 | private boolean isSeed; 35 | @SerializedName("piece_range") 36 | @Expose 37 | private int[] piece_range; 38 | @SerializedName("douavailability") 39 | @Expose 40 | private double douavailability; 41 | 42 | public ContentFile(String name, double size, Double progress, int priority) { 43 | 44 | this.name = name; 45 | this.size = size; 46 | this.progress = progress; 47 | this.priority = priority; 48 | 49 | } 50 | 51 | public String getName() { 52 | return name; 53 | } 54 | 55 | public String getSize() { 56 | return Common.calculateSize(size); 57 | } 58 | 59 | public double getProgress() { 60 | return progress; 61 | } 62 | 63 | public int getPriority() { 64 | return priority; 65 | } 66 | 67 | public void setName(String name) { 68 | this.name = name; 69 | } 70 | 71 | public void setSize(double size) { 72 | this.size = size; 73 | } 74 | 75 | public void setProgress(Double progress) { 76 | this.progress = progress; 77 | } 78 | 79 | public void setPriority(int priority) { 80 | this.priority = priority; 81 | } 82 | 83 | public String getProgressAsString(){ 84 | return String.format("%.2f", this.progress * 100) + "%"; 85 | } 86 | 87 | public int getRecyclerViewItemHeight() { 88 | return recyclerViewItemHeight; 89 | } 90 | 91 | public void setRecyclerViewItemHeight(int recyclerViewItemHeight) { 92 | this.recyclerViewItemHeight = recyclerViewItemHeight; 93 | } 94 | 95 | public void setProgress(double progress) { 96 | this.progress = progress; 97 | } 98 | 99 | public boolean isSeed() { 100 | return isSeed; 101 | } 102 | 103 | public void setSeed(boolean seed) { 104 | isSeed = seed; 105 | } 106 | 107 | public int[] getPiece_range() { 108 | return piece_range; 109 | } 110 | 111 | public void setPiece_range(int[] piece_range) { 112 | this.piece_range = piece_range; 113 | } 114 | 115 | public double getDouavailability() { 116 | return douavailability; 117 | } 118 | 119 | public void setDouavailability(double douavailability) { 120 | this.douavailability = douavailability; 121 | } 122 | } 123 | -------------------------------------------------------------------------------- /app/src/main/java/com/lgallardo/qbittorrentclient/Cookie.java: -------------------------------------------------------------------------------- 1 | package com.lgallardo.qbittorrentclient; 2 | 3 | /** 4 | * Created by lgallard on 2/23/18. 5 | */ 6 | 7 | public class Cookie { 8 | 9 | String cookie; 10 | 11 | public Cookie(String cookie) { 12 | this.cookie = cookie; 13 | } 14 | 15 | public String getCookie() { 16 | return cookie; 17 | } 18 | 19 | public void setCookie(String cookie) { 20 | this.cookie = cookie; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /app/src/main/java/com/lgallardo/qbittorrentclient/CustomLogger.java: -------------------------------------------------------------------------------- 1 | package com.lgallardo.qbittorrentclient; 2 | /* 3 | * Copyright (c) 2014-2015 Luis M. Gallardo D. 4 | * All rights reserved. This program and the accompanying materials 5 | * are made available under the terms of the GNU Lesser General Public License v3.0 6 | * which accompanies this distribution, and is available at 7 | * http://www.gnu.org/licenses/lgpl.html 8 | * 9 | */ 10 | 11 | /** 12 | * Created by lgallard on 17/11/15. 13 | */ 14 | public class CustomLogger { 15 | 16 | 17 | public static String reportMainLog = ""; 18 | public static String reportNotifierLog = ""; 19 | public static String reportDescription = ""; 20 | 21 | public static boolean mainActivityReporting = false; 22 | 23 | 24 | public static void saveReportMessage(String tag, String message) { 25 | 26 | if(tag.equals("Main")){ 27 | 28 | if (CustomLogger.reportMainLog.equals("")){ 29 | 30 | CustomLogger.reportMainLog = "\n[" + tag + "]"; 31 | } 32 | CustomLogger.reportMainLog = CustomLogger.reportMainLog + "\n " + message; 33 | } 34 | 35 | if(tag.equals("Notifier")){ 36 | if (CustomLogger.reportNotifierLog.equals("")){ 37 | 38 | CustomLogger.reportNotifierLog = "\n[" + tag + "]"; 39 | } 40 | CustomLogger.reportNotifierLog = CustomLogger.reportNotifierLog + "\n " + message; 41 | 42 | } 43 | 44 | } 45 | 46 | public static String getReport() { 47 | 48 | String report = getReportDescription() + "\n\n" + reportMainLog + "\n" + reportNotifierLog; 49 | 50 | return report; 51 | } 52 | 53 | public static void deleteMainReport() { 54 | reportMainLog = ""; 55 | } 56 | 57 | public static void deleteNotifierReport() { 58 | reportNotifierLog = ""; 59 | } 60 | 61 | 62 | public static boolean isMainActivityReporting() { 63 | return mainActivityReporting; 64 | } 65 | 66 | public static void setMainActivityReporting(boolean mainActivityReporting) { 67 | CustomLogger.mainActivityReporting = mainActivityReporting; 68 | } 69 | 70 | 71 | public static String getReportDescription() { 72 | return reportDescription; 73 | } 74 | 75 | public static void setReportDescription(String reportDescription) { 76 | CustomLogger.reportDescription = reportDescription; 77 | } 78 | } -------------------------------------------------------------------------------- /app/src/main/java/com/lgallardo/qbittorrentclient/CustomMultipartRequest.java: -------------------------------------------------------------------------------- 1 | package com.lgallardo.qbittorrentclient; 2 | 3 | import com.android.volley.AuthFailureError; 4 | import com.android.volley.NetworkResponse; 5 | import com.android.volley.ParseError; 6 | import com.android.volley.Request; 7 | import com.android.volley.Response; 8 | import com.android.volley.VolleyError; 9 | import com.android.volley.toolbox.HttpHeaderParser; 10 | 11 | import java.util.Map; 12 | 13 | /** 14 | * Created by lgallard on 3/8/18. 15 | *

16 | * Based on https://stackoverflow.com/questions/32240177/working-post-multipart-request-with-volley-and-without-httpentity 17 | */ 18 | 19 | public class CustomMultipartRequest extends Request { 20 | private final Response.Listener mListener; 21 | private final Response.ErrorListener mErrorListener; 22 | private final String mMimeType; 23 | private final byte[] mMultipartBody; 24 | 25 | public CustomMultipartRequest(String url, String mimeType, byte[] multipartBody, Response.Listener listener, Response.ErrorListener errorListener) { 26 | super(Method.POST, url, errorListener); 27 | this.mListener = listener; 28 | this.mErrorListener = errorListener; 29 | this.mMimeType = mimeType; 30 | this.mMultipartBody = multipartBody; 31 | } 32 | 33 | @Override 34 | public Map getHeaders() throws AuthFailureError { 35 | return super.getHeaders(); 36 | } 37 | 38 | @Override 39 | protected Map getParams() throws AuthFailureError { 40 | return super.getParams(); 41 | } 42 | 43 | @Override 44 | public String getBodyContentType() { 45 | return mMimeType; 46 | } 47 | 48 | @Override 49 | public byte[] getBody() throws AuthFailureError { 50 | return mMultipartBody; 51 | } 52 | 53 | @Override 54 | protected Response parseNetworkResponse(NetworkResponse response) { 55 | try { 56 | return Response.success( 57 | response, 58 | HttpHeaderParser.parseCacheHeaders(response)); 59 | } catch (Exception e) { 60 | return Response.error(new ParseError(e)); 61 | } 62 | } 63 | 64 | @Override 65 | protected void deliverResponse(NetworkResponse response) { 66 | mListener.onResponse(response); 67 | } 68 | 69 | @Override 70 | public void deliverError(VolleyError error) { 71 | mErrorListener.onErrorResponse(error); 72 | } 73 | } -------------------------------------------------------------------------------- /app/src/main/java/com/lgallardo/qbittorrentclient/CustomObjectRequest.java: -------------------------------------------------------------------------------- 1 | package com.lgallardo.qbittorrentclient; 2 | 3 | import android.util.Log; 4 | 5 | import com.android.volley.AuthFailureError; 6 | import com.android.volley.NetworkResponse; 7 | import com.android.volley.ParseError; 8 | import com.android.volley.Response; 9 | import com.android.volley.toolbox.HttpHeaderParser; 10 | 11 | import org.json.JSONException; 12 | import org.json.JSONObject; 13 | 14 | import java.io.UnsupportedEncodingException; 15 | import java.util.Collections; 16 | import java.util.Map; 17 | 18 | /** 19 | * Created by lgallard on 2/23/18. 20 | */ 21 | 22 | public class CustomObjectRequest extends com.android.volley.toolbox.JsonObjectRequest { 23 | 24 | Map headers; 25 | String token; 26 | 27 | /** 28 | * @param method 29 | * @param url 30 | * @param listener 31 | * @param errorListener 32 | */ 33 | public CustomObjectRequest(int method, String url, JSONObject jsonRequest, Response.Listener listener, 34 | Response.ErrorListener errorListener) { 35 | 36 | super(method, url, jsonRequest, listener, errorListener); 37 | this.headers = null; 38 | 39 | } 40 | 41 | /* (non-Javadoc) 42 | * @see com.android.volley.toolbox.StringRequest#parseNetworkResponse(com.android.volley.NetworkResponse) 43 | */ 44 | @Override 45 | protected Response parseNetworkResponse(NetworkResponse response) { 46 | // since we don't know which of the two underlying network vehicles 47 | // will Volley use, we have to handle and store session cookies manually 48 | //MyApp.get().checkSessionCookie(response.headers); 49 | 50 | this.headers = response.headers; 51 | 52 | 53 | // Log.d("Debug", "Response headers: " + response.headers); 54 | 55 | //return super.parseNetworkResponse(response); 56 | 57 | try { 58 | String jsonString = new String(response.data, 59 | HttpHeaderParser.parseCharset(response.headers, PROTOCOL_CHARSET)); 60 | 61 | 62 | Log.d("Debug", "jsonString: " + jsonString); 63 | 64 | 65 | JSONObject jsonResponse = new JSONObject(jsonString); 66 | jsonResponse.put("headers", new JSONObject(response.headers)); 67 | return Response.success(jsonResponse, 68 | HttpHeaderParser.parseCacheHeaders(response)); 69 | } catch (UnsupportedEncodingException e) { 70 | return Response.error(new ParseError(e)); 71 | } catch (JSONException je) { 72 | return Response.error(new ParseError(je)); 73 | } 74 | } 75 | 76 | 77 | /* (non-Javadoc) 78 | * @see com.android.volley.Request#getHeaders() 79 | */ 80 | @Override 81 | public Map getHeaders() throws AuthFailureError { 82 | 83 | Map headers = Collections.emptyMap(); 84 | headers.put("set-cookie", token); 85 | return headers; 86 | } 87 | 88 | } -------------------------------------------------------------------------------- /app/src/main/java/com/lgallardo/qbittorrentclient/CustomObjectResult.java: -------------------------------------------------------------------------------- 1 | package com.lgallardo.qbittorrentclient; 2 | 3 | import com.google.gson.annotations.Expose; 4 | import com.google.gson.annotations.SerializedName; 5 | 6 | /** 7 | * Created by lgallard on 2/24/18. 8 | */ 9 | 10 | public class CustomObjectResult { 11 | @SerializedName("data") 12 | @Expose 13 | private String data; 14 | @SerializedName("headers") 15 | @Expose 16 | private String headers; 17 | 18 | public String getData() { 19 | return data; 20 | } 21 | 22 | public void setData(String data) { 23 | this.data = data; 24 | } 25 | 26 | public String getHeaders() { 27 | return headers; 28 | } 29 | 30 | public void setHeaders(String headers) { 31 | this.headers = headers; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /app/src/main/java/com/lgallardo/qbittorrentclient/CustomStringRequest.java: -------------------------------------------------------------------------------- 1 | package com.lgallardo.qbittorrentclient; 2 | 3 | import com.android.volley.AuthFailureError; 4 | import com.android.volley.NetworkResponse; 5 | import com.android.volley.Response; 6 | import com.android.volley.toolbox.HttpHeaderParser; 7 | 8 | import java.io.UnsupportedEncodingException; 9 | import java.util.Collections; 10 | import java.util.Map; 11 | 12 | /** 13 | * Created by lgallard on 2/23/18. 14 | */ 15 | 16 | public class CustomStringRequest extends com.android.volley.toolbox.StringRequest { 17 | 18 | Map headers; 19 | String token; 20 | 21 | /** 22 | * @param method 23 | * @param url 24 | * @param listener 25 | * @param errorListener 26 | */ 27 | public CustomStringRequest(int method, String url, Response.Listener listener, 28 | Response.ErrorListener errorListener) { 29 | super(method, url, listener, errorListener); 30 | this.headers = null; 31 | 32 | } 33 | 34 | /* (non-Javadoc) 35 | * @see com.android.volley.toolbox.StringRequest#parseNetworkResponse(com.android.volley.NetworkResponse) 36 | */ 37 | @Override 38 | protected Response parseNetworkResponse(NetworkResponse response) { 39 | // since we don't know which of the two underlying network vehicles 40 | // will Volley use, we have to handle and store session cookies manually 41 | //MyApp.get().checkSessionCookie(response.headers); 42 | 43 | this.headers = response.headers; 44 | 45 | token = response.headers.get("set-cookie").split(";")[0]; 46 | 47 | // Log.d("Debug", "Response headers: " + response.headers); 48 | 49 | 50 | //return super.parseNetworkResponse(response); 51 | 52 | String data = ""; 53 | 54 | try { 55 | data = new String(response.data, "UTF-8"); 56 | } catch (UnsupportedEncodingException e) { 57 | e.printStackTrace(); 58 | } 59 | 60 | String jsonstring = ""; 61 | 62 | jsonstring = "{\"data\": \"" + data + "\",\"headers\":\"" + response.headers.toString() + "\"}"; 63 | return Response.success(jsonstring, HttpHeaderParser.parseCacheHeaders(response)); 64 | } 65 | 66 | /* (non-Javadoc) 67 | * @see com.android.volley.Request#getHeaders() 68 | */ 69 | @Override 70 | public Map getHeaders() throws AuthFailureError { 71 | 72 | Map headers = Collections.emptyMap(); 73 | headers.put("set-cookie", token); 74 | return headers; 75 | } 76 | 77 | } -------------------------------------------------------------------------------- /app/src/main/java/com/lgallardo/qbittorrentclient/CustomStringResult.java: -------------------------------------------------------------------------------- 1 | package com.lgallardo.qbittorrentclient; 2 | 3 | /** 4 | * Created by lgallard on 2/24/18. 5 | */ 6 | 7 | public class CustomStringResult { 8 | 9 | String result; 10 | 11 | public CustomStringResult(String result) { 12 | this.result = result; 13 | } 14 | 15 | public String getResult() { 16 | return result; 17 | } 18 | 19 | public void setResult(String result) { 20 | this.result = result; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /app/src/main/java/com/lgallardo/qbittorrentclient/DrawerItem.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2015 Luis M. Gallardo D. 3 | * All rights reserved. This program and the accompanying materials 4 | * are made available under the terms of the GNU Lesser General Public License v3.0 5 | * which accompanies this distribution, and is available at 6 | * http://www.gnu.org/licenses/lgpl.html 7 | * 8 | */ 9 | package com.lgallardo.qbittorrentclient; 10 | 11 | public class DrawerItem { 12 | 13 | public int icon; 14 | public String name; 15 | public int type; 16 | public boolean active; 17 | private String action; 18 | 19 | 20 | // Constructor 21 | public DrawerItem(int icon, String name, int type, boolean active, String action) { 22 | 23 | this.icon = icon; 24 | this.name = name; 25 | this.type = type; 26 | this.active = active; 27 | this.action = action; 28 | } 29 | 30 | public int getType() { 31 | return type; 32 | } 33 | 34 | public void setType(int type) { 35 | this.type = type; 36 | } 37 | 38 | public boolean isActive() { 39 | return active; 40 | } 41 | 42 | public void setActive(boolean active) { 43 | this.active = active; 44 | } 45 | 46 | public String getAction() { 47 | if (this.action == null) { 48 | return ""; 49 | } 50 | 51 | return action; 52 | } 53 | 54 | public void setAction(String action) { 55 | this.action = action; 56 | } 57 | 58 | public int getIcon() { 59 | return icon; 60 | } 61 | 62 | public void setIcon(int icon) { 63 | this.icon = icon; 64 | } 65 | 66 | public String getName() { 67 | return name; 68 | } 69 | 70 | public void setName(String name) { 71 | this.name = name; 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /app/src/main/java/com/lgallardo/qbittorrentclient/GeneralInfoItem.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2015 Luis M. Gallardo D. 3 | * All rights reserved. This program and the accompanying materials 4 | * are made available under the terms of the GNU Lesser General Public License v3.0 5 | * which accompanies this distribution, and is available at 6 | * http://www.gnu.org/licenses/lgpl.html 7 | * 8 | */ 9 | package com.lgallardo.qbittorrentclient; 10 | 11 | public class GeneralInfoItem { 12 | 13 | public static final int GENERALINFO = 2; 14 | 15 | 16 | // General Info properties 17 | private String label; 18 | private String value; 19 | 20 | // Item properties 21 | public int type; 22 | private String action; 23 | 24 | 25 | // Constructor 26 | public GeneralInfoItem(String label, String value, int type, String action) { 27 | 28 | this.label = label; 29 | this.value = value; 30 | 31 | this.type = type; 32 | this.action = action; 33 | } 34 | 35 | public String getLabel() { 36 | return label; 37 | } 38 | 39 | public void setLabel(String label) { 40 | this.label = label; 41 | } 42 | 43 | public String getValue() { 44 | return value; 45 | } 46 | 47 | public void setValue(String value) { 48 | this.value = value; 49 | } 50 | 51 | public int getType() { 52 | return type; 53 | } 54 | 55 | public void setType(int type) { 56 | this.type = type; 57 | } 58 | 59 | public String getAction() { 60 | if (this.action == null) { 61 | return ""; 62 | } 63 | 64 | return action; 65 | } 66 | 67 | public void setAction(String action) { 68 | this.action = action; 69 | } 70 | 71 | 72 | } 73 | -------------------------------------------------------------------------------- /app/src/main/java/com/lgallardo/qbittorrentclient/GeneralInfoOld.java: -------------------------------------------------------------------------------- 1 | package com.lgallardo.qbittorrentclient; 2 | 3 | /** 4 | * Created by lgallard on 6/11/18. 5 | */ 6 | 7 | public class GeneralInfoOld { 8 | private String path; 9 | private String creation_date; 10 | private String piece_size; 11 | private String comment; 12 | private String total_wasted; 13 | private String total_uploaded; 14 | private String total_downloaded; 15 | private String up_limit; 16 | private String dl_limit; 17 | private String nb_connections; 18 | private String share_ratio; 19 | 20 | public String getPath() { 21 | return path; 22 | } 23 | 24 | public void setPath(String path) { 25 | this.path = path; 26 | } 27 | 28 | public String getCreation_date() { 29 | return creation_date; 30 | } 31 | 32 | public void setCreation_date(String creation_date) { 33 | this.creation_date = creation_date; 34 | } 35 | 36 | public String getPiece_size() { 37 | return piece_size; 38 | } 39 | 40 | public void setPiece_size(String piece_size) { 41 | this.piece_size = piece_size; 42 | } 43 | 44 | public String getComment() { 45 | return comment; 46 | } 47 | 48 | public void setComment(String comment) { 49 | this.comment = comment; 50 | } 51 | 52 | public String getTotal_wasted() { 53 | return total_wasted; 54 | } 55 | 56 | public void setTotal_wasted(String total_wasted) { 57 | this.total_wasted = total_wasted; 58 | } 59 | 60 | public String getTotal_uploaded() { 61 | return total_uploaded; 62 | } 63 | 64 | public void setTotal_uploaded(String total_uploaded) { 65 | this.total_uploaded = total_uploaded; 66 | } 67 | 68 | public String getTotal_downloaded() { 69 | return total_downloaded; 70 | } 71 | 72 | public void setTotal_downloaded(String total_downloaded) { 73 | this.total_downloaded = total_downloaded; 74 | } 75 | 76 | public String getUp_limit() { 77 | return up_limit; 78 | } 79 | 80 | public void setUp_limit(String up_limit) { 81 | this.up_limit = up_limit; 82 | } 83 | 84 | public String getDl_limit() { 85 | return dl_limit; 86 | } 87 | 88 | public void setDl_limit(String dl_limit) { 89 | this.dl_limit = dl_limit; 90 | } 91 | 92 | public String getNb_connections() { 93 | return nb_connections; 94 | } 95 | 96 | public void setNb_connections(String nb_connections) { 97 | this.nb_connections = nb_connections; 98 | } 99 | 100 | public String getShare_ratio() { 101 | return share_ratio; 102 | } 103 | 104 | public void setShare_ratio(String share_ratio) { 105 | this.share_ratio = share_ratio; 106 | } 107 | } 108 | -------------------------------------------------------------------------------- /app/src/main/java/com/lgallardo/qbittorrentclient/Header.java: -------------------------------------------------------------------------------- 1 | package com.lgallardo.qbittorrentclient; 2 | 3 | /** 4 | * Created by lgallard on 2/24/18. 5 | */ 6 | 7 | public class Header { 8 | String setcookie; 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/java/com/lgallardo/qbittorrentclient/MySSLSocketFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2015 Luis M. Gallardo D. 3 | * All rights reserved. This program and the accompanying materials 4 | * are made available under the terms of the GNU Lesser General Public License v3.0 5 | * which accompanies this distribution, and is available at 6 | * http://www.gnu.org/licenses/lgpl.html 7 | * 8 | */ 9 | package com.lgallardo.qbittorrentclient; 10 | 11 | import android.util.Log; 12 | 13 | import org.apache.http.conn.ssl.SSLSocketFactory; 14 | 15 | import java.io.IOException; 16 | import java.net.Socket; 17 | import java.net.UnknownHostException; 18 | import java.security.KeyManagementException; 19 | import java.security.KeyStore; 20 | import java.security.KeyStoreException; 21 | import java.security.NoSuchAlgorithmException; 22 | import java.security.UnrecoverableKeyException; 23 | 24 | import javax.net.ssl.SSLContext; 25 | import javax.net.ssl.TrustManager; 26 | 27 | public class MySSLSocketFactory extends SSLSocketFactory { 28 | SSLContext sslContext = SSLContext.getInstance("TLS"); 29 | 30 | public MySSLSocketFactory(KeyStore truststore) throws NoSuchAlgorithmException, KeyManagementException, KeyStoreException, UnrecoverableKeyException { 31 | super(truststore); 32 | 33 | 34 | TrustManager tm = new MyTrustManager(truststore); 35 | 36 | sslContext.init(null, new TrustManager[] { tm }, null); 37 | } 38 | 39 | @Override 40 | public Socket createSocket(Socket socket, String host, int port, boolean autoClose) throws IOException, UnknownHostException { 41 | return sslContext.getSocketFactory().createSocket(socket, host, port, autoClose); 42 | } 43 | 44 | @Override 45 | public Socket createSocket() throws IOException { 46 | return sslContext.getSocketFactory().createSocket(); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /app/src/main/java/com/lgallardo/qbittorrentclient/TorrentAddedOnComparator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2015 Luis M. Gallardo D. 3 | * All rights reserved. This program and the accompanying materials 4 | * are made available under the terms of the GNU Lesser General Public License v3.0 5 | * which accompanies this distribution, and is available at 6 | * http://www.gnu.org/licenses/lgpl.html 7 | * 8 | */ 9 | package com.lgallardo.qbittorrentclient; 10 | 11 | import android.util.Log; 12 | 13 | import java.text.ParseException; 14 | import java.text.SimpleDateFormat; 15 | import java.util.Comparator; 16 | import java.util.Date; 17 | 18 | public class TorrentAddedOnComparator implements Comparator { 19 | 20 | boolean reversed = false; 21 | 22 | TorrentAddedOnComparator(boolean reversed) { 23 | this.reversed = reversed; 24 | } 25 | 26 | @Override 27 | public int compare(Torrent t1, Torrent t2) { 28 | 29 | Date date1 = null; 30 | Date date2 = null; 31 | 32 | // String d1 = t1.getAddedOn(); 33 | // String d2 = t2.getAddedOn(); 34 | 35 | String d1 = "" + t1.getAdded_on(); 36 | String d2 = "" + t2.getAdded_on(); 37 | 38 | // Log.d("Debug", "d1: " + d1); 39 | // Log.d("Debug", "d2: " + d2); 40 | 41 | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm"); 42 | 43 | try { 44 | date1 = sdf.parse("1970-01-01T00:00:00"); 45 | date1 = sdf.parse(d1); 46 | } catch (Exception e) { 47 | } 48 | 49 | try { 50 | date2 = sdf.parse("1970-01-01T00:00:00"); 51 | date2 = sdf.parse(d2); 52 | } catch (Exception e) { 53 | } 54 | 55 | // Log.d("Debug", "Date1: " + date2.toString()); 56 | // Log.d("Debug", "Date2: " + date2.toString()); 57 | 58 | if (reversed) { 59 | // Ascending order 60 | return date1.compareTo(date2); 61 | } else { 62 | // Descending order 63 | return date2.compareTo(date1); 64 | 65 | } 66 | } 67 | } 68 | 69 | -------------------------------------------------------------------------------- /app/src/main/java/com/lgallardo/qbittorrentclient/TorrentAddedOnTimestampComparator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2015 Luis M. Gallardo D. 3 | * All rights reserved. This program and the accompanying materials 4 | * are made available under the terms of the GNU Lesser General Public License v3.0 5 | * which accompanies this distribution, and is available at 6 | * http://www.gnu.org/licenses/lgpl.html 7 | * 8 | */ 9 | package com.lgallardo.qbittorrentclient; 10 | 11 | import java.util.Comparator; 12 | 13 | public class TorrentAddedOnTimestampComparator implements Comparator { 14 | 15 | boolean reversed = false; 16 | 17 | TorrentAddedOnTimestampComparator(boolean reversed) { 18 | this.reversed = reversed; 19 | } 20 | 21 | @Override 22 | public int compare(Torrent t1, Torrent t2) { 23 | 24 | int p1 = (int) t1.getAdded_on(); 25 | int p2 = (int) t2.getAdded_on(); 26 | 27 | if (reversed) { 28 | // Ascending order 29 | return p1 -p2; 30 | } else { 31 | // Descending order 32 | return p2 -p1; 33 | } 34 | 35 | } 36 | } 37 | 38 | -------------------------------------------------------------------------------- /app/src/main/java/com/lgallardo/qbittorrentclient/TorrentCompletedOnComparator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2015 Luis M. Gallardo D. 3 | * All rights reserved. This program and the accompanying materials 4 | * are made available under the terms of the GNU Lesser General Public License v3.0 5 | * which accompanies this distribution, and is available at 6 | * http://www.gnu.org/licenses/lgpl.html 7 | * 8 | */ 9 | package com.lgallardo.qbittorrentclient; 10 | 11 | import java.text.SimpleDateFormat; 12 | import java.util.Comparator; 13 | import java.util.Date; 14 | 15 | public class TorrentCompletedOnComparator implements Comparator { 16 | 17 | boolean reversed = false; 18 | 19 | TorrentCompletedOnComparator(boolean reversed) { 20 | this.reversed = reversed; 21 | } 22 | 23 | @Override 24 | public int compare(Torrent t1, Torrent t2) { 25 | 26 | Date date1 = null; 27 | Date date2 = null; 28 | 29 | // String d1 = t1.getCompletionOn(); 30 | // String d2 = t2.getCompletionOn(); 31 | 32 | String d1 = "" + t1.getCompletion_on(); 33 | String d2 = "" + t2.getCompletion_on(); 34 | 35 | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm"); 36 | 37 | try { 38 | date1 = sdf.parse("1970-01-01T00:00:00"); 39 | date1 = sdf.parse(d1); 40 | } catch (Exception e) { 41 | } 42 | 43 | try { 44 | date2 = sdf.parse("1970-01-01T00:00:00"); 45 | date2 = sdf.parse(d2); 46 | } catch (Exception e) { 47 | } 48 | 49 | if (reversed) { 50 | // Ascending order 51 | return date1.compareTo(date2); 52 | } else { 53 | // Descending order 54 | return date2.compareTo(date1); 55 | 56 | } 57 | } 58 | } 59 | 60 | -------------------------------------------------------------------------------- /app/src/main/java/com/lgallardo/qbittorrentclient/TorrentCompletedOnTimestampComparator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2015 Luis M. Gallardo D. 3 | * All rights reserved. This program and the accompanying materials 4 | * are made available under the terms of the GNU Lesser General Public License v3.0 5 | * which accompanies this distribution, and is available at 6 | * http://www.gnu.org/licenses/lgpl.html 7 | * 8 | */ 9 | package com.lgallardo.qbittorrentclient; 10 | 11 | import java.util.Comparator; 12 | 13 | public class TorrentCompletedOnTimestampComparator implements Comparator { 14 | 15 | boolean reversed = false; 16 | 17 | TorrentCompletedOnTimestampComparator(boolean reversed) { 18 | this.reversed = reversed; 19 | } 20 | 21 | @Override 22 | public int compare(Torrent t1, Torrent t2) { 23 | 24 | int p1 = (int) t1.getCompletion_on(); 25 | int p2 = (int) t2.getCompletion_on(); 26 | 27 | // Sorting 28 | if (reversed) { 29 | // Ascending order 30 | return p2 - p1; 31 | } else { 32 | // Descending order 33 | return p1 - p2; 34 | } 35 | 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /app/src/main/java/com/lgallardo/qbittorrentclient/TorrentDetailsItem.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2015 Luis M. Gallardo D. 3 | * All rights reserved. This program and the accompanying materials 4 | * are made available under the terms of the GNU Lesser General Public License v3.0 5 | * which accompanies this distribution, and is available at 6 | * http://www.gnu.org/licenses/lgpl.html 7 | * 8 | */ 9 | package com.lgallardo.qbittorrentclient; 10 | 11 | public class TorrentDetailsItem { 12 | 13 | public static final int FILE = 0; 14 | public static final int TRACKER = 1; 15 | 16 | //ContentFile properties 17 | private String name; 18 | private String size; 19 | private Double progress; 20 | private int priority; 21 | 22 | // Tracker Properties 23 | 24 | public String info; 25 | 26 | // Item properties 27 | public int type; 28 | private String action; 29 | 30 | 31 | // Constructor 32 | public TorrentDetailsItem(String name, String size, Double progress, int priority, String info, int type, String action) { 33 | 34 | this.name = name; 35 | this.size = size; 36 | this.progress = progress; 37 | this.priority = priority; 38 | 39 | this.info = info; 40 | 41 | this.type = type; 42 | this.action = action; 43 | } 44 | 45 | public String getName() { 46 | return name; 47 | } 48 | 49 | public void setName(String name) { 50 | this.name = name; 51 | } 52 | 53 | public String getSize() { 54 | 55 | if (MainActivity.qb_version.equals("4.1.x")) { 56 | size = Common.calculateSize(size); 57 | } 58 | 59 | return size; 60 | } 61 | 62 | public void setSize(String size) { 63 | this.size = size; 64 | } 65 | 66 | public Double getProgress() { 67 | return progress; 68 | } 69 | 70 | public void setProgress(Double progress) { 71 | this.progress = progress; 72 | } 73 | 74 | public int getPriority() { 75 | return priority; 76 | } 77 | 78 | public void setPriority(int priority) { 79 | this.priority = priority; 80 | } 81 | 82 | public String getInfo() { 83 | return info; 84 | } 85 | 86 | public void setInfo(String info) { 87 | this.info = info; 88 | } 89 | 90 | public int getType() { 91 | return type; 92 | } 93 | 94 | public void setType(int type) { 95 | this.type = type; 96 | } 97 | 98 | public String getAction() { 99 | if (this.action == null) { 100 | return ""; 101 | } 102 | 103 | return action; 104 | } 105 | 106 | public void setAction(String action) { 107 | this.action = action; 108 | } 109 | 110 | public String getProgressAsString() { 111 | return String.format("%.2f", this.progress * 100) + "%"; 112 | } 113 | 114 | } 115 | -------------------------------------------------------------------------------- /app/src/main/java/com/lgallardo/qbittorrentclient/TorrentDownloadSpeedComparator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2015 Luis M. Gallardo D. 3 | * All rights reserved. This program and the accompanying materials 4 | * are made available under the terms of the GNU Lesser General Public License v3.0 5 | * which accompanies this distribution, and is available at 6 | * http://www.gnu.org/licenses/lgpl.html 7 | * 8 | */ 9 | package com.lgallardo.qbittorrentclient; 10 | 11 | import java.util.Comparator; 12 | 13 | public class TorrentDownloadSpeedComparator implements Comparator { 14 | 15 | boolean reversed = false; 16 | 17 | TorrentDownloadSpeedComparator(boolean reversed) { 18 | this.reversed = reversed; 19 | } 20 | 21 | @Override 22 | public int compare(Torrent t1, Torrent t2) { 23 | 24 | int w1 = t1.getDownloadSpeedWeight(); 25 | int w2 = t2.getDownloadSpeedWeight(); 26 | 27 | if (reversed) { 28 | // Ascending order 29 | return (w1 > w2 ? 1: -1); 30 | } else { 31 | // Descending order 32 | return (w2 > w1 ? 1: -1); 33 | } 34 | 35 | } 36 | } 37 | 38 | -------------------------------------------------------------------------------- /app/src/main/java/com/lgallardo/qbittorrentclient/TorrentEtaComparator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2015 Luis M. Gallardo D. 3 | * All rights reserved. This program and the accompanying materials 4 | * are made available under the terms of the GNU Lesser General Public License v3.0 5 | * which accompanies this distribution, and is available at 6 | * http://www.gnu.org/licenses/lgpl.html 7 | * 8 | */ 9 | package com.lgallardo.qbittorrentclient; 10 | 11 | import java.util.Comparator; 12 | 13 | public class TorrentEtaComparator implements Comparator { 14 | 15 | boolean reversed = false; 16 | 17 | TorrentEtaComparator(boolean reversed) { 18 | this.reversed = reversed; 19 | } 20 | 21 | @Override 22 | public int compare(Torrent t1, Torrent t2) { 23 | 24 | 25 | long e1 = t1.getEta(); 26 | long e2 = t2.getEta(); 27 | 28 | if (reversed) { 29 | // Ascending order 30 | return (e1 > e2 ? 1: -1); 31 | } else { 32 | // Descending order 33 | return (e2 > e1 ? 1: -1); 34 | } 35 | 36 | 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /app/src/main/java/com/lgallardo/qbittorrentclient/TorrentNameComparator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2015 Luis M. Gallardo D. 3 | * All rights reserved. This program and the accompanying materials 4 | * are made available under the terms of the GNU Lesser General Public License v3.0 5 | * which accompanies this distribution, and is available at 6 | * http://www.gnu.org/licenses/lgpl.html 7 | * 8 | */ 9 | package com.lgallardo.qbittorrentclient; 10 | 11 | import java.util.Comparator; 12 | 13 | public class TorrentNameComparator implements Comparator { 14 | 15 | boolean reversed = false; 16 | 17 | TorrentNameComparator(boolean reversed) { 18 | this.reversed = reversed; 19 | } 20 | 21 | @Override 22 | public int compare(Torrent t1, Torrent t2) { 23 | String name1 = t1.getName(); 24 | String name2 = t2.getName(); 25 | 26 | if (reversed) { 27 | // Descending order 28 | return name2.compareTo(name1); 29 | 30 | } else { 31 | // Ascending order 32 | return name1.compareTo(name2); 33 | } 34 | } 35 | 36 | 37 | } 38 | -------------------------------------------------------------------------------- /app/src/main/java/com/lgallardo/qbittorrentclient/TorrentPriorityComparator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2015 Luis M. Gallardo D. 3 | * All rights reserved. This program and the accompanying materials 4 | * are made available under the terms of the GNU Lesser General Public License v3.0 5 | * which accompanies this distribution, and is available at 6 | * http://www.gnu.org/licenses/lgpl.html 7 | * 8 | */ 9 | package com.lgallardo.qbittorrentclient; 10 | 11 | import java.util.Comparator; 12 | 13 | public class TorrentPriorityComparator implements Comparator { 14 | 15 | boolean reversed = false; 16 | 17 | TorrentPriorityComparator(boolean reversed) { 18 | this.reversed = reversed; 19 | } 20 | 21 | @Override 22 | public int compare(Torrent t1, Torrent t2) { 23 | 24 | // String priority1 = t1.getPriority(); 25 | // String priority2 = t2.getPriority(); 26 | 27 | String priority1 = "" + t1.getPriority(); 28 | String priority2 = "" + t2.getPriority(); 29 | 30 | 31 | // If torrent has no priority, give it a really low priority for sorting purposes 32 | if (priority1 == null || priority1.equals("*")) { 33 | priority1 = "10000"; 34 | } 35 | 36 | // If torrent has no priority, give it a really low priority for sorting purposes 37 | if (priority2 == null || priority2.equals("*")) { 38 | priority2 = "10000"; 39 | } 40 | 41 | int p1 = Integer.parseInt(priority1); 42 | int p2 = Integer.parseInt(priority2); 43 | 44 | if (reversed) { 45 | return p2 - p1; 46 | } else { 47 | // Ascending order 48 | return p1 - p2; 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /app/src/main/java/com/lgallardo/qbittorrentclient/TorrentProgressComparator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2015 Luis M. Gallardo D. 3 | * All rights reserved. This program and the accompanying materials 4 | * are made available under the terms of the GNU Lesser General Public License v3.0 5 | * which accompanies this distribution, and is available at 6 | * http://www.gnu.org/licenses/lgpl.html 7 | * 8 | */ 9 | package com.lgallardo.qbittorrentclient; 10 | 11 | import java.util.Comparator; 12 | 13 | public class TorrentProgressComparator implements Comparator { 14 | 15 | boolean reversed = false; 16 | 17 | TorrentProgressComparator(boolean reversed) { 18 | this.reversed = reversed; 19 | } 20 | 21 | @Override 22 | public int compare(Torrent t1, Torrent t2) { 23 | 24 | 25 | double p1 = t1.getProgress(); 26 | double p2 = t2.getProgress(); 27 | 28 | if (reversed) { 29 | // Ascending order 30 | return (p1 > p2 ? 1: -1); 31 | } else { 32 | // Descending order 33 | return (p2 > p1 ? 1: -1); 34 | } 35 | } 36 | } 37 | 38 | -------------------------------------------------------------------------------- /app/src/main/java/com/lgallardo/qbittorrentclient/TorrentRatioComparator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2015 Luis M. Gallardo D. 3 | * All rights reserved. This program and the accompanying materials 4 | * are made available under the terms of the GNU Lesser General Public License v3.0 5 | * which accompanies this distribution, and is available at 6 | * http://www.gnu.org/licenses/lgpl.html 7 | * 8 | */ 9 | package com.lgallardo.qbittorrentclient; 10 | 11 | import java.util.Comparator; 12 | 13 | public class TorrentRatioComparator implements Comparator { 14 | 15 | boolean reversed = false; 16 | 17 | TorrentRatioComparator(boolean reversed) { 18 | this.reversed = reversed; 19 | } 20 | 21 | @Override 22 | public int compare(Torrent t1, Torrent t2) { 23 | 24 | float r1 = t1.getRatio(); 25 | float r2 = t2.getRatio(); 26 | 27 | if (reversed) { 28 | // Ascending order 29 | return (r1 > r2 ? 1: -1); 30 | } else { 31 | // Descending order 32 | return (r2 > r1 ? 1: -1); 33 | } 34 | 35 | } 36 | } 37 | 38 | -------------------------------------------------------------------------------- /app/src/main/java/com/lgallardo/qbittorrentclient/TorrentSizeComparator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2015 Luis M. Gallardo D. 3 | * All rights reserved. This program and the accompanying materials 4 | * are made available under the terms of the GNU Lesser General Public License v3.0 5 | * which accompanies this distribution, and is available at 6 | * http://www.gnu.org/licenses/lgpl.html 7 | * 8 | */ 9 | package com.lgallardo.qbittorrentclient; 10 | 11 | import java.util.Comparator; 12 | 13 | public class TorrentSizeComparator implements Comparator { 14 | 15 | boolean reversed = false; 16 | 17 | TorrentSizeComparator(boolean reversed) { 18 | this.reversed = reversed; 19 | } 20 | 21 | @Override 22 | public int compare(Torrent t1, Torrent t2) { 23 | 24 | double s1 = t1.getSize(); 25 | double s2 = t2.getSize(); 26 | 27 | if (reversed) { 28 | // Ascending order 29 | return (s1 > s2 ? 1: -1); 30 | } else { 31 | // Descending order 32 | return (s2 > s1 ? 1: -1); 33 | } 34 | 35 | } 36 | } 37 | 38 | -------------------------------------------------------------------------------- /app/src/main/java/com/lgallardo/qbittorrentclient/TorrentUploadSpeedComparator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2015 Luis M. Gallardo D. 3 | * All rights reserved. This program and the accompanying materials 4 | * are made available under the terms of the GNU Lesser General Public License v3.0 5 | * which accompanies this distribution, and is available at 6 | * http://www.gnu.org/licenses/lgpl.html 7 | * 8 | */ 9 | package com.lgallardo.qbittorrentclient; 10 | 11 | import java.util.Comparator; 12 | 13 | public class TorrentUploadSpeedComparator implements Comparator { 14 | 15 | boolean reversed = false; 16 | 17 | TorrentUploadSpeedComparator(boolean reversed) { 18 | this.reversed = reversed; 19 | } 20 | 21 | @Override 22 | public int compare(Torrent t1, Torrent t2) { 23 | 24 | int w1 = t1.getUploadSpeedWeight(); 25 | int w2 = t2.getUploadSpeedWeight(); 26 | 27 | if (reversed) { 28 | // Ascending order 29 | return (w1 > w2 ? 1: -1); 30 | } else { 31 | // Descending order 32 | return (w2 > w1 ? 1: -1); 33 | } 34 | 35 | } 36 | } 37 | 38 | -------------------------------------------------------------------------------- /app/src/main/java/com/lgallardo/qbittorrentclient/Tracker.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2015 Luis M. Gallardo D. 3 | * All rights reserved. This program and the accompanying materials 4 | * are made available under the terms of the GNU Lesser General Public License v3.0 5 | * which accompanies this distribution, and is available at 6 | * http://www.gnu.org/licenses/lgpl.html 7 | * 8 | */ 9 | 10 | package com.lgallardo.qbittorrentclient; 11 | 12 | import com.google.gson.annotations.Expose; 13 | import com.google.gson.annotations.SerializedName; 14 | 15 | public class Tracker { 16 | 17 | @SerializedName("url") 18 | @Expose 19 | private String url; 20 | 21 | public Tracker(String url){ 22 | this.url = url; 23 | 24 | } 25 | public String getUrl() { 26 | return url; 27 | } 28 | 29 | public void setUrl(String url) { 30 | this.url = url; 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /app/src/main/java/com/lgallardo/qbittorrentclient/TransferInfo.java: -------------------------------------------------------------------------------- 1 | package com.lgallardo.qbittorrentclient; 2 | 3 | import com.google.gson.annotations.Expose; 4 | import com.google.gson.annotations.SerializedName; 5 | 6 | public class TransferInfo { 7 | 8 | // New format 9 | @SerializedName("dl_info_speed") 10 | @Expose 11 | private long dl_info_speed; 12 | @SerializedName("dl_info_data") 13 | @Expose 14 | private long dl_info_data; 15 | @SerializedName("up_info_speed") 16 | @Expose 17 | private long up_info_speed; 18 | @SerializedName("up_info_data") 19 | @Expose 20 | private long up_info_data; 21 | @SerializedName("dl_rate_limit") 22 | @Expose 23 | private long dl_rate_limit; 24 | @SerializedName("up_rate_limit") 25 | @Expose 26 | private long up_rate_limit; 27 | @SerializedName("dht_nodes") 28 | @Expose 29 | private long dht_nodes; 30 | @SerializedName("connection_status") 31 | @Expose 32 | private String connection_status; 33 | 34 | 35 | public long getDl_info_speed() { 36 | return dl_info_speed; 37 | } 38 | 39 | public void setDl_info_speed(long dl_info_speed) { 40 | this.dl_info_speed = dl_info_speed; 41 | } 42 | 43 | public long getDl_info_data() { 44 | return dl_info_data; 45 | } 46 | 47 | public void setDl_info_data(long dl_info_data) { 48 | this.dl_info_data = dl_info_data; 49 | } 50 | 51 | public long getUp_info_speed() { 52 | return up_info_speed; 53 | } 54 | 55 | public void setUp_info_speed(long up_info_speed) { 56 | this.up_info_speed = up_info_speed; 57 | } 58 | 59 | public long getUp_info_data() { 60 | return up_info_data; 61 | } 62 | 63 | public void setUp_info_data(long up_info_data) { 64 | this.up_info_data = up_info_data; 65 | } 66 | 67 | public long getDl_rate_limit() { 68 | return dl_rate_limit; 69 | } 70 | 71 | public void setDl_rate_limit(long dl_rate_limit) { 72 | this.dl_rate_limit = dl_rate_limit; 73 | } 74 | 75 | public long getUp_rate_limit() { 76 | return up_rate_limit; 77 | } 78 | 79 | public void setUp_rate_limit(long up_rate_limit) { 80 | this.up_rate_limit = up_rate_limit; 81 | } 82 | 83 | public long getDht_nodes() { 84 | return dht_nodes; 85 | } 86 | 87 | public void setDht_nodes(long dht_nodes) { 88 | this.dht_nodes = dht_nodes; 89 | } 90 | 91 | public String getConnection_status() { 92 | return connection_status; 93 | } 94 | 95 | public void setConnection_status(String connection_status) { 96 | this.connection_status = connection_status; 97 | } 98 | } 99 | -------------------------------------------------------------------------------- /app/src/main/java/com/lgallardo/qbittorrentclient/UrlsMultipartRequest.java: -------------------------------------------------------------------------------- 1 | package com.lgallardo.qbittorrentclient; 2 | 3 | import android.util.Log; 4 | 5 | import com.android.volley.AuthFailureError; 6 | import com.android.volley.NetworkResponse; 7 | import com.android.volley.ParseError; 8 | import com.android.volley.Request; 9 | import com.android.volley.Response; 10 | import com.android.volley.VolleyError; 11 | import com.android.volley.toolbox.HttpHeaderParser; 12 | 13 | import java.util.Date; 14 | import java.util.Map; 15 | 16 | /** 17 | * Created by lgallard on 15/01/2020. 18 | * Based on https://stackoverflow.com/a/38238994 19 | */ 20 | 21 | public class UrlsMultipartRequest extends Request { 22 | private final Response.Listener mListener; 23 | private final Response.ErrorListener mErrorListener; 24 | 25 | final String boundary = "-----------------------" + (new Date()).getTime(); 26 | final String urlContentType = "multipart/form-data; boundary=" + boundary; 27 | 28 | private String createPostBody(Map params) { 29 | StringBuilder sbPost = new StringBuilder(); 30 | if (params != null) { 31 | for (String key : params.keySet()) { 32 | if (params.get(key) != null) { 33 | sbPost.append("--" + boundary + "\r\n"); 34 | sbPost.append("Content-Disposition: form-data; name=\"" + key + "\"" + "\r\n\r\n"); 35 | sbPost.append(params.get(key).toString()); 36 | } 37 | } 38 | } 39 | 40 | // Log.d("Debug", "[UrlsMultipartRequest] Body: " + sbPost.toString()); 41 | return sbPost.toString(); 42 | } 43 | 44 | 45 | public UrlsMultipartRequest(String url, Response.Listener listener, Response.ErrorListener errorListener) { 46 | super(Method.POST, url, errorListener); 47 | this.mListener = listener; 48 | this.mErrorListener = errorListener; 49 | } 50 | 51 | @Override 52 | public Map getHeaders() throws AuthFailureError { 53 | return super.getHeaders(); 54 | } 55 | 56 | // @Override 57 | // protected Map getParams() throws AuthFailureError { 58 | // return super.getParams(); 59 | // } 60 | 61 | @Override 62 | public String getBodyContentType() { 63 | return urlContentType; 64 | } 65 | 66 | @Override 67 | public byte[] getBody() throws AuthFailureError { 68 | return createPostBody(getParams()).getBytes(); 69 | } 70 | 71 | 72 | @Override 73 | protected Response parseNetworkResponse(NetworkResponse response) { 74 | try { 75 | return Response.success( 76 | response, 77 | HttpHeaderParser.parseCacheHeaders(response)); 78 | } catch (Exception e) { 79 | return Response.error(new ParseError(e)); 80 | } 81 | } 82 | 83 | @Override 84 | protected void deliverResponse(NetworkResponse response) { 85 | mListener.onResponse(response); 86 | } 87 | 88 | @Override 89 | public void deliverError(VolleyError error) { 90 | mErrorListener.onErrorResponse(error); 91 | } 92 | } -------------------------------------------------------------------------------- /app/src/main/main.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-anydpi/ic_action_force_start.xml: -------------------------------------------------------------------------------- 1 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi-v11/ic_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi-v11/ic_notification.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi-v11/ic_rss_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi-v11/ic_rss_notification.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi-v11/ic_stat_completed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi-v11/ic_stat_completed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi-v9/ic_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi-v9/ic_notification.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi-v9/ic_rss_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi-v9/ic_rss_notification.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi-v9/ic_stat_completed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi-v9/ic_stat_completed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/downloading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/downloading.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/error.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/error2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/error2.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_action_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_action_add.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_action_add_rss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_action_add_rss.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_action_decrease_prio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_action_decrease_prio.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_action_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_action_delete.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_action_delete_drive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_action_delete_drive.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_action_force_start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_action_force_start.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_action_increase_prio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_action_increase_prio.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_action_max_prio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_action_max_prio.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_action_min_prio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_action_min_prio.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_action_options.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_action_options.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_action_pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_action_pause.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_action_recheck.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_action_recheck.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_action_refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_action_refresh.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_action_resume.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_action_resume.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_action_sort.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_action_sort.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_arrow.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_drawer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_drawer.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_drawer_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_drawer_active.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_drawer_all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_drawer_all.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_drawer_categories.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_drawer_categories.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_drawer_completed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_drawer_completed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_drawer_downloading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_drawer_downloading.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_drawer_help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_drawer_help.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_drawer_inactive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_drawer_inactive.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_drawer_paused.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_drawer_paused.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_drawer_pro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_drawer_pro.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_drawer_seeding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_drawer_seeding.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_drawer_servers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_drawer_servers.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_drawer_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_drawer_settings.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_drawer_subitem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_drawer_subitem.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_notification.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_refresh.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_rss_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_rss_notification.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_stat_completed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/ic_stat_completed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/okay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/okay.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/paused.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/paused.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/queued.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/queued.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/stalleddl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/stalleddl.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/stalledup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/stalledup.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/uploading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-hdpi/uploading.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi-v11/ic_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi-v11/ic_notification.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi-v11/ic_rss_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi-v11/ic_rss_notification.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi-v11/ic_stat_completed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi-v11/ic_stat_completed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi-v9/ic_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi-v9/ic_notification.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi-v9/ic_rss_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi-v9/ic_rss_notification.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi-v9/ic_stat_completed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi-v9/ic_stat_completed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/downloading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/downloading.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/error.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/error2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/error2.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_action_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_action_add.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_action_add_rss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_action_add_rss.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_action_decrease_prio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_action_decrease_prio.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_action_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_action_delete.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_action_delete_drive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_action_delete_drive.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_action_force_start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_action_force_start.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_action_increase_prio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_action_increase_prio.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_action_max_prio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_action_max_prio.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_action_min_prio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_action_min_prio.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_action_options.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_action_options.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_action_pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_action_pause.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_action_recheck.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_action_recheck.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_action_refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_action_refresh.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_action_resume.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_action_resume.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_action_sort.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_action_sort.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_arrow.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_drawer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_drawer.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_drawer_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_drawer_active.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_drawer_all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_drawer_all.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_drawer_categories.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_drawer_categories.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_drawer_completed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_drawer_completed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_drawer_downloading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_drawer_downloading.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_drawer_help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_drawer_help.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_drawer_inactive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_drawer_inactive.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_drawer_paused.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_drawer_paused.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_drawer_pro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_drawer_pro.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_drawer_seeding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_drawer_seeding.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_drawer_servers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_drawer_servers.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_drawer_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_drawer_settings.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_drawer_subitem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_drawer_subitem.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_notification.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_refresh.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_rss_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_rss_notification.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_stat_completed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/ic_stat_completed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/okay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/okay.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/paused.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/paused.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/queued.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/queued.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/stalleddl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/stalleddl.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/stalledup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/stalledup.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/uploading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-mdpi/uploading.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi-v11/ic_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi-v11/ic_notification.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi-v11/ic_rss_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi-v11/ic_rss_notification.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi-v11/ic_stat_completed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi-v11/ic_stat_completed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi-v9/ic_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi-v9/ic_notification.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi-v9/ic_rss_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi-v9/ic_rss_notification.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi-v9/ic_stat_completed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi-v9/ic_stat_completed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/downloading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/downloading.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/error.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/error2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/error2.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_action_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_action_add.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_action_add_rss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_action_add_rss.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_action_decrease_prio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_action_decrease_prio.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_action_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_action_delete.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_action_delete_drive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_action_delete_drive.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_action_force_start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_action_force_start.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_action_increase_prio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_action_increase_prio.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_action_max_prio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_action_max_prio.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_action_min_prio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_action_min_prio.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_action_options.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_action_options.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_action_pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_action_pause.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_action_recheck.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_action_recheck.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_action_refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_action_refresh.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_action_resume.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_action_resume.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_action_sort.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_action_sort.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_arrow.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_drawer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_drawer.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_drawer_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_drawer_active.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_drawer_all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_drawer_all.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_drawer_categories.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_drawer_categories.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_drawer_completed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_drawer_completed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_drawer_downloading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_drawer_downloading.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_drawer_help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_drawer_help.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_drawer_inactive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_drawer_inactive.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_drawer_paused.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_drawer_paused.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_drawer_pro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_drawer_pro.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_drawer_seeding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_drawer_seeding.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_drawer_servers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_drawer_servers.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_drawer_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_drawer_settings.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_drawer_subitem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_drawer_subitem.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_notification.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_refresh.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_rss_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_rss_notification.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_stat_completed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/ic_stat_completed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/okay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/okay.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/paused.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/paused.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/queued.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/queued.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/stalleddl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/stalleddl.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/stalledup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/stalledup.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/uploading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xhdpi/uploading.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi-v11/ic_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi-v11/ic_notification.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi-v11/ic_rss_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi-v11/ic_rss_notification.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi-v11/ic_stat_completed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi-v11/ic_stat_completed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi-v9/ic_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi-v9/ic_notification.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi-v9/ic_rss_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi-v9/ic_rss_notification.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi-v9/ic_stat_completed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi-v9/ic_stat_completed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/downloading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/downloading.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/error.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/error2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/error2.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_action_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_action_add.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_action_add_rss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_action_add_rss.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_action_decrease_prio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_action_decrease_prio.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_action_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_action_delete.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_action_delete_drive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_action_delete_drive.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_action_force_start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_action_force_start.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_action_increase_prio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_action_increase_prio.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_action_max_prio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_action_max_prio.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_action_min_prio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_action_min_prio.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_action_options.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_action_options.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_action_pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_action_pause.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_action_recheck.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_action_recheck.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_action_refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_action_refresh.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_action_resume.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_action_resume.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_action_sort.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_action_sort.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_arrow.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_drawer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_drawer.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_drawer_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_drawer_active.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_drawer_all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_drawer_all.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_drawer_categories.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_drawer_categories.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_drawer_completed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_drawer_completed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_drawer_downloading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_drawer_downloading.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_drawer_help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_drawer_help.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_drawer_inactive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_drawer_inactive.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_drawer_paused.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_drawer_paused.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_drawer_pro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_drawer_pro.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_drawer_seeding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_drawer_seeding.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_drawer_servers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_drawer_servers.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_drawer_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_drawer_settings.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_drawer_subitem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_drawer_subitem.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_notification.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_refresh.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_rss_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_rss_notification.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_stat_completed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/ic_stat_completed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/okay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/okay.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/paused.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/paused.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/queued.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/queued.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/stalleddl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/stalleddl.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/stalledup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/stalledup.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/uploading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/drawable-xxhdpi/uploading.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/background_drawer_selector_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/background_drawer_selector_light.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/background_selector_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/background_selector_light.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/gmd_shadow_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/gmd_shadow_light.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/layout-large/tablet_help.xml: -------------------------------------------------------------------------------- 1 | 9 | 13 | 14 | 22 | 23 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main_original.xml: -------------------------------------------------------------------------------- 1 | 9 | 18 | 19 | 27 | 28 | 29 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /app/src/main/res/layout/add_rss.xml: -------------------------------------------------------------------------------- 1 | 9 | 13 | 14 | 15 | 23 | 24 | 31 | 32 | 41 | 42 | 49 | 50 | 59 | 60 | 67 | 68 | 73 | 74 | 79 | 80 | 81 | -------------------------------------------------------------------------------- /app/src/main/res/layout/add_torrent.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 15 | 16 | 21 | 22 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /app/src/main/res/layout/add_tracker.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 15 | 16 | 21 | 22 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /app/src/main/res/layout/app_bar.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 17 | 18 | -------------------------------------------------------------------------------- /app/src/main/res/layout/download_rate_limit.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 15 | 16 | 21 | 22 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /app/src/main/res/layout/drawer_header.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 17 | /> 18 | -------------------------------------------------------------------------------- /app/src/main/res/layout/drawer_row.xml: -------------------------------------------------------------------------------- 1 | 9 | 15 | 16 | 24 | 25 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /app/src/main/res/layout/drawer_row_active.xml: -------------------------------------------------------------------------------- 1 | 9 | 15 | 16 | 24 | 25 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /app/src/main/res/layout/drawer_servers_row.xml: -------------------------------------------------------------------------------- 1 | 9 | 16 | 17 | 18 | 22 | 23 | 30 | 31 | 42 | 43 | 56 | 57 | 58 | 59 | 60 | 66 | 67 | 68 | 69 | -------------------------------------------------------------------------------- /app/src/main/res/layout/drawer_subitem_active_row.xml: -------------------------------------------------------------------------------- 1 | 9 | 16 | 17 | 25 | 26 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /app/src/main/res/layout/drawer_subitem_row.xml: -------------------------------------------------------------------------------- 1 | 9 | 16 | 17 | 25 | 26 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /app/src/main/res/layout/generalinfo_row.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 15 | 16 | 23 | 24 | 32 | 33 | -------------------------------------------------------------------------------- /app/src/main/res/layout/rss_channel_row.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 15 | 16 | 24 | 25 | 34 | 35 | 40 | 41 | 48 | 49 | 55 | 56 | 63 | 64 | 65 | 66 | 72 | 73 | 80 | 81 | 82 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /app/src/main/res/layout/rss_item_row.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 15 | 16 | 25 | 26 | 27 | 32 | 33 | 40 | 41 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /app/src/main/res/layout/send_report.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 15 | 16 | 22 | 23 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /app/src/main/res/layout/send_torrent.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 16 | 17 | 26 | 27 | 35 | 36 | 44 | 45 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /app/src/main/res/layout/set_category.xml: -------------------------------------------------------------------------------- 1 | 9 | 14 | 15 | 20 | 21 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /app/src/main/res/layout/tracker_row.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 15 | 16 | 21 | 22 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /app/src/main/res/layout/upload_rate_limit.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 14 | 15 | 20 | 21 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /app/src/main/res/menu/menu_file_contextual.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 |

13 | 14 | 15 | 19 | 23 | 24 | 28 | 29 | 33 | 34 | -------------------------------------------------------------------------------- /app/src/main/res/menu/menu_rssfeed.xml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 14 | 15 | 20 | 21 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/res/menu/menu_rssrow_contextual.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 13 | 14 | 15 | 20 | 21 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.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-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/mipmap-hdpi/ic_launcher_background.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/mipmap-mdpi/ic_launcher_background.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/values-sw600dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /app/src/main/res/values-sw720dp-land/dimens.xml: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 | 17 | 128dp 18 | 19 | 20 | -------------------------------------------------------------------------------- /app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values/attrs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #C5CAE9 6 | #448AFF 7 | #212121 8 | #727272 9 | #FFFFFF 10 | #B6B6B6 11 | 12 | @android:color/background_light 13 | #111 14 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #212121 4 | #455A64 5 | #CFD8DC 6 | #9E9E9E 7 | #CFD8DC 8 | #727272 9 | #FFFFFF 10 | #B6B6B6 11 | 12 | #ff434343 13 | #111 14 | #212121 15 | -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 | 14 | 16dp 15 | 16dp 16 | 17 | 18 | -------------------------------------------------------------------------------- /app/src/main/res/values/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FDFDFD 4 | -------------------------------------------------------------------------------- /app/src/main/res/xml/searchable.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 14 | 15 | -------------------------------------------------------------------------------- /app/src/pro/java/pro.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/pro/res/layout-large-port/activity_main.xml: -------------------------------------------------------------------------------- 1 | 9 | 13 | 14 | 19 | 20 | 23 | 24 | 35 | 36 | 42 | 43 | 47 | 48 | 49 | 50 | 55 | 56 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 83 | 84 | 85 | 86 | -------------------------------------------------------------------------------- /app/src/pro/res/layout-large/activity_main_original.xml: -------------------------------------------------------------------------------- 1 | 9 | 16 | 17 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /app/src/pro/res/layout-sw600dp/row.xml: -------------------------------------------------------------------------------- 1 | 9 | 13 | 14 | 22 | 23 | 31 | 32 | 37 | 38 | 45 | 46 | 50 | 51 | 57 | 58 | 59 | 60 | 64 | 65 | 73 | 74 | 83 | 84 | 85 | 86 | -------------------------------------------------------------------------------- /app/src/pro/res/layout/activity_rssfeed.xml: -------------------------------------------------------------------------------- 1 | 9 | 15 | 16 | 20 | 21 | 24 | 25 | 26 | 32 | 33 | 34 | 42 | 43 | -------------------------------------------------------------------------------- /app/src/pro/res/layout/activity_rssitem.xml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 17 | 18 | 21 | 22 | 28 | l 29 | 30 | 31 | 39 | -------------------------------------------------------------------------------- /app/src/pro/res/xml/help.xml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 14 | 17 | 20 | 21 | 25 | 26 | 29 | 30 | 33 | 36 | 37 | 38 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | buildscript { 3 | repositories { 4 | jcenter() 5 | google() 6 | } 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:3.5.3' 9 | } 10 | } 11 | 12 | allprojects { 13 | repositories { 14 | jcenter() 15 | google() 16 | } 17 | } 18 | 19 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lgallard/qBittorrent-Controller/3c6dd4bbf2b1a0c477f45bb3f9b27527735282be/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Thu Dec 05 15:59:23 ART 2019 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | org.gradle.jvmargs=-Xms512m -Xmx1024m 7 | org.gradle.daemon=true 8 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip 9 | org.gradle.parallel=true 10 | -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- 1 | @if "%DEBUG%" == "" @echo off 2 | @rem ########################################################################## 3 | @rem 4 | @rem Gradle startup script for Windows 5 | @rem 6 | @rem ########################################################################## 7 | 8 | @rem Set local scope for the variables with windows NT shell 9 | if "%OS%"=="Windows_NT" setlocal 10 | 11 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 12 | set DEFAULT_JVM_OPTS= 13 | 14 | set DIRNAME=%~dp0 15 | if "%DIRNAME%" == "" set DIRNAME=. 16 | set APP_BASE_NAME=%~n0 17 | set APP_HOME=%DIRNAME% 18 | 19 | @rem Find java.exe 20 | if defined JAVA_HOME goto findJavaFromJavaHome 21 | 22 | set JAVA_EXE=java.exe 23 | %JAVA_EXE% -version >NUL 2>&1 24 | if "%ERRORLEVEL%" == "0" goto init 25 | 26 | echo. 27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 28 | echo. 29 | echo Please set the JAVA_HOME variable in your environment to match the 30 | echo location of your Java installation. 31 | 32 | goto fail 33 | 34 | :findJavaFromJavaHome 35 | set JAVA_HOME=%JAVA_HOME:"=% 36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 37 | 38 | if exist "%JAVA_EXE%" goto init 39 | 40 | echo. 41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 42 | echo. 43 | echo Please set the JAVA_HOME variable in your environment to match the 44 | echo location of your Java installation. 45 | 46 | goto fail 47 | 48 | :init 49 | @rem Get command-line arguments, handling Windowz variants 50 | 51 | if not "%OS%" == "Windows_NT" goto win9xME_args 52 | if "%@eval[2+2]" == "4" goto 4NT_args 53 | 54 | :win9xME_args 55 | @rem Slurp the command line arguments. 56 | set CMD_LINE_ARGS= 57 | set _SKIP=2 58 | 59 | :win9xME_args_slurp 60 | if "x%~1" == "x" goto execute 61 | 62 | set CMD_LINE_ARGS=%* 63 | goto execute 64 | 65 | :4NT_args 66 | @rem Get arguments from the 4NT Shell from JP Software 67 | set CMD_LINE_ARGS=%$ 68 | 69 | :execute 70 | @rem Setup the command line 71 | 72 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 73 | 74 | @rem Execute Gradle 75 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% 76 | 77 | :end 78 | @rem End local scope for the variables with windows NT shell 79 | if "%ERRORLEVEL%"=="0" goto mainEnd 80 | 81 | :fail 82 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 83 | rem the _cmd.exe /c_ return code! 84 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 85 | exit /b 1 86 | 87 | :mainEnd 88 | if "%OS%"=="Windows_NT" endlocal 89 | 90 | :omega 91 | -------------------------------------------------------------------------------- /import-summary.txt: -------------------------------------------------------------------------------- 1 | ECLIPSE ANDROID PROJECT IMPORT SUMMARY 2 | ====================================== 3 | 4 | Risky Project Location: 5 | ----------------------- 6 | The tools *should* handle project locations in any directory. However, 7 | due to bugs, placing projects in directories containing spaces in the 8 | path, or characters like ", ' and &, have had issues. We're working to 9 | eliminate these bugs, but to save yourself headaches you may want to 10 | move your project to a location where this is not a problem. 11 | /home/lgallard/Android studio Projects/qBittorrentClientExport1 12 | - - 13 | 14 | Ignored Files: 15 | -------------- 16 | The following files were *not* copied into the new Gradle project; you 17 | should evaluate whether these are still needed in your project and if 18 | so manually move them: 19 | 20 | * .gitignore 21 | * ic_launcher-web.png 22 | * license.txt 23 | * proguard-project.txt 24 | * qBittorrentClient.iml 25 | 26 | Replaced Jars with Dependencies: 27 | -------------------------------- 28 | The importer recognized the following .jar files as third party 29 | libraries and replaced them with Gradle dependencies instead. This has 30 | the advantage that more explicit version information is known, and the 31 | libraries can be updated automatically. However, it is possible that 32 | the .jar name in your project was of an older version than the 33 | dependency we picked, which could render the project not compileable. 34 | You can disable the jar replacement in the import wizard and try again: 35 | 36 | android-support-v4.jar => com.android.support:support-v4:19.1.0 37 | 38 | Moved Files: 39 | ------------ 40 | Android Gradle projects use a different directory structure than ADT 41 | Eclipse projects. Here's how the projects were restructured: 42 | 43 | * AndroidManifest.xml => app/src/main/AndroidManifest.xml 44 | * libs/httpcore-4.3.2.jar => app/libs/httpcore-4.3.2.jar 45 | * libs/httpmime-4.3.5.jar => app/libs/httpmime-4.3.5.jar 46 | * res/ => app/src/main/res/ 47 | * src/ => app/src/main/java/ 48 | 49 | Next Steps: 50 | ----------- 51 | You can now build the project. The Gradle project needs network 52 | connectivity to download dependencies. 53 | 54 | Bugs: 55 | ----- 56 | If for some reason your project does not build, and you determine that 57 | it is due to a bug or limitation of the Eclipse to Gradle importer, 58 | please name a bug at http://b.android.com with category 59 | Component-Tools. 60 | 61 | (This import summary is for your information only, and can be deleted 62 | after import once you are satisfied with the results.) 63 | -------------------------------------------------------------------------------- /qBittorrent-Client.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /qBittorrent-Controller.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /qBittorrentClient.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | --------------------------------------------------------------------------------