Skip to content

Commit 54e8f55

Browse files
committed
Merge branch 'remember-preferred-scale'
2 parents 82c38c6 + 7b0796e commit 54e8f55

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

Juice/Classes/PreferencesStorage.swift

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ import Foundation
1010
import RxSwift
1111

1212
final class PreferencesStorage {
13+
private enum Constants {
14+
static let PreferredScaleKey = "PreferredScaleKey"
15+
}
16+
1317
static let shared = PreferencesStorage()
1418

1519
private let scanQueue = OperationQueue()
@@ -26,6 +30,7 @@ final class PreferencesStorage {
2630

2731
func set(chargeDisplayScale: ChargeScaleDisplay) {
2832
self.chargeDisplayScale.value = chargeDisplayScale
33+
setPreferredScale(scale: chargeDisplayScale)
2934
}
3035

3136
func scanApplicationSupportForFiles() {
@@ -41,9 +46,20 @@ final class PreferencesStorage {
4146
localScales.append(contentsOf: FileBackedChargeScaleDisplay.makeApplicationDefaults())
4247

4348
self?.scales.value = localScales
49+
50+
let preferredScaleTitle = UserDefaults.standard.string(forKey: Constants.PreferredScaleKey)
51+
52+
if let title = preferredScaleTitle,
53+
let scale = localScales.filter({ $0.title == title }).first {
54+
self?.chargeDisplayScale.value = scale
55+
}
4456
} catch (let error) {
4557
print("Error scanning application support directory: \(error)")
4658
}
4759
}
4860
}
61+
62+
private func setPreferredScale(scale: ChargeScaleDisplay) {
63+
UserDefaults.standard.set(scale.title, forKey: Constants.PreferredScaleKey)
64+
}
4965
}

0 commit comments

Comments
 (0)