From d7886235097f723858e3fd41fe255b37e3063d24 Mon Sep 17 00:00:00 2001 From: Marcos Carvalho Date: Thu, 23 May 2024 22:33:06 +0100 Subject: [PATCH 1/6] Initial work --- .../audiobookshelf/app/data/DeviceClasses.kt | 16 +++- .../app/device/DeviceManager.kt | 8 ++ .../tables/podcast/LatestEpisodeRow.vue | 54 +++++++++++++- ios/App/App/AppDelegate.swift | 8 +- ios/App/App/plugins/AbsDatabase.swift | 74 ++++++++++--------- ios/App/Shared/models/DeviceSettings.swift | 6 +- pages/settings.vue | 74 ++++++++++++++++++- store/index.js | 10 ++- strings/en-us.json | 8 +- 9 files changed, 214 insertions(+), 44 deletions(-) diff --git a/android/app/src/main/java/com/audiobookshelf/app/data/DeviceClasses.kt b/android/app/src/main/java/com/audiobookshelf/app/data/DeviceClasses.kt index 0473a1ea..bc8f73ff 100644 --- a/android/app/src/main/java/com/audiobookshelf/app/data/DeviceClasses.kt +++ b/android/app/src/main/java/com/audiobookshelf/app/data/DeviceClasses.kt @@ -20,6 +20,14 @@ enum class ShakeSensitivitySetting { VERY_LOW, LOW, MEDIUM, HIGH, VERY_HIGH } +enum class DownloadUsingCellularSetting { + ASK, ALWAYS, NEVER +} + +enum class StreamingUsingCellularSetting { + ASK, ALWAYS, NEVER +} + data class ServerConnectionConfig( var id:String, var index:Int, @@ -123,7 +131,9 @@ data class DeviceSettings( var sleepTimerLength: Long, // Time in milliseconds var disableSleepTimerFadeOut: Boolean, var disableSleepTimerResetFeedback: Boolean, - var languageCode: String + var languageCode: String, + var downloadUsingCellular: DownloadUsingCellularSetting, + var streamingUsingCellular: StreamingUsingCellularSetting ) { companion object { // Static method to get default device settings @@ -147,7 +157,9 @@ data class DeviceSettings( autoSleepTimerAutoRewindTime = 300000L, // 5 minutes disableSleepTimerFadeOut = false, disableSleepTimerResetFeedback = false, - languageCode = "en-us" + languageCode = "en-us", + downloadUsingCellular = DownloadUsingCellularSetting.ALWAYS, + streamingUsingCellular = StreamingUsingCellularItems.ALWAYS ) } } diff --git a/android/app/src/main/java/com/audiobookshelf/app/device/DeviceManager.kt b/android/app/src/main/java/com/audiobookshelf/app/device/DeviceManager.kt index 1fd9e275..37e81cf0 100644 --- a/android/app/src/main/java/com/audiobookshelf/app/device/DeviceManager.kt +++ b/android/app/src/main/java/com/audiobookshelf/app/device/DeviceManager.kt @@ -53,6 +53,14 @@ object DeviceManager { if (deviceData.deviceSettings?.languageCode == null) { deviceData.deviceSettings?.languageCode = "en-us" } + + if (deviceData.deviceSettings?.downloadUsingCellular == null) { + deviceData.deviceSettings?.downloadUsingCellular = DownloadUsingCellularSetting.ALWAYS + } + + if (deviceData.deviceSettings?.streamingUsingCellular == null) { + deviceData.deviceSettings?.streamingUsingCellular = StreamingUsingCellularSetting.ALWAYS + } } fun getBase64Id(id:String):String { diff --git a/components/tables/podcast/LatestEpisodeRow.vue b/components/tables/podcast/LatestEpisodeRow.vue index 1fbf8d3d..fb24865a 100644 --- a/components/tables/podcast/LatestEpisodeRow.vue +++ b/components/tables/podcast/LatestEpisodeRow.vue @@ -60,6 +60,7 @@ \ No newline at end of file + diff --git a/components/tables/podcast/EpisodeRow.vue b/components/tables/podcast/EpisodeRow.vue index a66a386a..2626f971 100644 --- a/components/tables/podcast/EpisodeRow.vue +++ b/components/tables/podcast/EpisodeRow.vue @@ -58,6 +58,7 @@ \ No newline at end of file +