From 853a12b0dd0b33f054d1d0bf182e7b4e582b9b36 Mon Sep 17 00:00:00 2001 From: Nicholas Wallace Date: Thu, 6 Feb 2025 17:45:33 -0700 Subject: [PATCH 1/2] Revert "Simplify default value assignment" This reverts commit d4090d15be592ebdc19136f5128725e2c34f7494. --- .../app/device/DeviceManager.kt | 52 ++++++++++++------- 1 file changed, 34 insertions(+), 18 deletions(-) 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 cda4452d..c970b190 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 @@ -48,24 +48,40 @@ object DeviceManager { init { Log.d(tag, "Device Manager Singleton invoked") - // Default settings if they have not been set yet. Removes Elvis operator for null safety due to - // variables being non-nullable. - deviceData.deviceSettings?.apply { - // Sleep timer settings, added v0.9.61 - autoSleepTimerStartTime = "22:00" - autoSleepTimerEndTime = "06:00" - sleepTimerLength = 900000L - shakeSensitivity = ShakeSensitivitySetting.MEDIUM - // Auto sleep timer auto rewind, added v0.9.64 - autoSleepTimerAutoRewindTime = 300000L // 5 minutes - // Langugage code, added v0.9.69 - languageCode = "en-us" - // Download and streaming using cellular, added v0.9.75 - downloadUsingCellular = DownloadUsingCellularSetting.ALWAYS - streamingUsingCellular = StreamingUsingCellularSetting.ALWAYS - // Android Auto settings, added v0.9.78 - androidAutoBrowseLimitForGrouping = 100 - androidAutoBrowseSeriesSequenceOrder = AndroidAutoBrowseSeriesSequenceOrderSetting.ASC + // Initialize new sleep timer settings and shake sensitivity added in v0.9.61 + if (deviceData.deviceSettings?.autoSleepTimerStartTime == null || + deviceData.deviceSettings?.autoSleepTimerEndTime == null + ) { + deviceData.deviceSettings?.autoSleepTimerStartTime = "22:00" + deviceData.deviceSettings?.autoSleepTimerStartTime = "06:00" + deviceData.deviceSettings?.sleepTimerLength = 900000L + } + if (deviceData.deviceSettings?.shakeSensitivity == null) { + deviceData.deviceSettings?.shakeSensitivity = ShakeSensitivitySetting.MEDIUM + } + // Initialize auto sleep timer auto rewind added in v0.9.64 + if (deviceData.deviceSettings?.autoSleepTimerAutoRewindTime == null) { + deviceData.deviceSettings?.autoSleepTimerAutoRewindTime = 300000L // 5 minutes + } + + // Language added in v0.9.69 + 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 + } + if (deviceData.deviceSettings?.androidAutoBrowseLimitForGrouping == null) { + deviceData.deviceSettings?.androidAutoBrowseLimitForGrouping = 100 + } + if (deviceData.deviceSettings?.androidAutoBrowseSeriesSequenceOrder == null) { + deviceData.deviceSettings?.androidAutoBrowseSeriesSequenceOrder = + AndroidAutoBrowseSeriesSequenceOrderSetting.ASC } } From bb56a5514376f092fedf5b6288f0197ccdf018c2 Mon Sep 17 00:00:00 2001 From: Nicholas Wallace Date: Thu, 6 Feb 2025 17:58:10 -0700 Subject: [PATCH 2/2] Fix: end time default value --- .../main/java/com/audiobookshelf/app/device/DeviceManager.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 c970b190..41aa0dec 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,7 +53,7 @@ object DeviceManager { deviceData.deviceSettings?.autoSleepTimerEndTime == null ) { deviceData.deviceSettings?.autoSleepTimerStartTime = "22:00" - deviceData.deviceSettings?.autoSleepTimerStartTime = "06:00" + deviceData.deviceSettings?.autoSleepTimerEndTime = "06:00" deviceData.deviceSettings?.sleepTimerLength = 900000L } if (deviceData.deviceSettings?.shakeSensitivity == null) {