├── .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 | 
18 | 
19 | 
20 | 
21 |
22 | ## Tablet version
23 | 
24 | 
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 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/menu_rssfeed.xml:
--------------------------------------------------------------------------------
1 |
9 |
10 |
28 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/menu_rssrow_contextual.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
--------------------------------------------------------------------------------
/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 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/qBittorrent-Controller.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/qBittorrentClient.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------