Add switch to toggle downloads over mobile network (#85)

* Added switch to toggle downloads over mobile network

* Add roaming and mobile data functions
This commit is contained in:
Michael Arkhangelskiy 2022-02-19 08:58:46 -05:00 committed by GitHub
parent 1ddfe0bebe
commit 786e4d21a0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 23 additions and 3 deletions

View file

@ -5,6 +5,7 @@ import android.content.Context
import android.net.Uri import android.net.Uri
import android.os.Environment import android.os.Environment
import androidx.core.content.getSystemService import androidx.core.content.getSystemService
import androidx.preference.PreferenceManager
import dev.jdtech.jellyfin.database.DownloadDatabaseDao import dev.jdtech.jellyfin.database.DownloadDatabaseDao
import dev.jdtech.jellyfin.models.DownloadItem import dev.jdtech.jellyfin.models.DownloadItem
import dev.jdtech.jellyfin.models.DownloadRequestItem import dev.jdtech.jellyfin.models.DownloadRequestItem
@ -50,9 +51,13 @@ fun requestDownload(
} }
private fun downloadFile(request: DownloadManager.Request, context: Context): Long { private fun downloadFile(request: DownloadManager.Request, context: Context): Long {
val preferences = PreferenceManager.getDefaultSharedPreferences(context)
val downloadOverData = preferences.getBoolean("download_mobile_data", false)
val downloadWhenRoaming = preferences.getBoolean("download_roaming", false)
request.apply { request.apply {
setAllowedOverMetered(false) setAllowedOverMetered(downloadOverData)
setAllowedOverRoaming(false) setAllowedOverRoaming(downloadWhenRoaming)
} }
return context.getSystemService<DownloadManager>()!!.enqueue(request) return context.getSystemService<DownloadManager>()!!.enqueue(request)
} }

View file

@ -57,6 +57,7 @@
<string name="initializing">Initializing…</string> <string name="initializing">Initializing…</string>
<string name="settings_category_servers">Servers</string> <string name="settings_category_servers">Servers</string>
<string name="settings_category_player">Player</string> <string name="settings_category_player">Player</string>
<string name="settings_category_download">Downloads</string>
<string name="manage_servers">Manage servers</string> <string name="manage_servers">Manage servers</string>
<string name="settings_category_appearance">Appearance</string> <string name="settings_category_appearance">Appearance</string>
<string name="device_name">Device name</string> <string name="device_name">Device name</string>
@ -80,6 +81,8 @@
<string name="select_subtile_track">Select subtitle track</string> <string name="select_subtile_track">Select subtitle track</string>
<string name="select_playback_speed">Select playback speed</string> <string name="select_playback_speed">Select playback speed</string>
<string name="mpv_player">MPV Player</string> <string name="mpv_player">MPV Player</string>
<string name="download_mobile_data">Download using mobile data</string>
<string name="download_roaming">Download when roaming</string>
<string name="mpv_player_summary">Use the experimental MPV Player to play videos. MPV has support for more video, audio and subtitle codecs.</string> <string name="mpv_player_summary">Use the experimental MPV Player to play videos. MPV has support for more video, audio and subtitle codecs.</string>
<string name="force_software_decoding">Force software decoding</string> <string name="force_software_decoding">Force software decoding</string>
<string name="force_software_decoding_summary">Disable hardware decoding and use software decoding. Can be useful if hardware decoding gives weird artifacts.</string> <string name="force_software_decoding_summary">Disable hardware decoding and use software decoding. Can be useful if hardware decoding gives weird artifacts.</string>

View file

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto"> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<PreferenceCategory app:title="@string/settings_category_language"> <PreferenceCategory app:title="@string/settings_category_language">
@ -43,6 +44,17 @@
app:useSimpleSummaryProvider="true" /> app:useSimpleSummaryProvider="true" />
</PreferenceCategory> </PreferenceCategory>
<PreferenceCategory app:title="@string/settings_category_download">
<SwitchPreference
app:key="download_mobile_data"
app:title="@string/download_mobile_data"
android:defaultValue="false" />
<SwitchPreference
app:key="download_roaming"
app:title="@string/download_roaming"
android:defaultValue="false" />
</PreferenceCategory>
<PreferenceCategory app:title="@string/settings_category_player"> <PreferenceCategory app:title="@string/settings_category_player">
<SwitchPreference <SwitchPreference
app:key="mpv_player" app:key="mpv_player"