Skip to content

Commit

Permalink
Fix toggles not working with VO
Browse files Browse the repository at this point in the history
  • Loading branch information
GianniCarlo committed Jan 3, 2025
1 parent ba34d89 commit 942c151
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 25 deletions.
21 changes: 9 additions & 12 deletions BookPlayerWatch/PlaybackFullControlsView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ import SwiftUI

struct PlaybackFullControlsView: View {
@ObservedObject var model: PlaybackFullControlsViewModel
@AppStorage(Constants.UserDefaults.globalSpeedEnabled) var globalSpeedEnabled: Bool = false
@AppStorage(Constants.UserDefaults.boostVolumeEnabled) var boostVolumeEnabled: Bool = false
@AppStorage(Constants.UserDefaults.autoplayEnabled) var autoplayEnabled: Bool = true
@AppStorage(Constants.UserDefaults.rewindInterval) var rewindInterval: TimeInterval = 30
@AppStorage(Constants.UserDefaults.forwardInterval) var forwardInterval: TimeInterval = 30
Expand All @@ -28,6 +30,7 @@ struct PlaybackFullControlsView: View {
ResizeableImageView(name: "minus.circle")
}
.buttonStyle(PlainButtonStyle())
.accessibilityLabel("")
.frame(width: metrics.size.width * 0.15)
Spacer()
.padding([.leading], 5)
Expand All @@ -51,6 +54,7 @@ struct PlaybackFullControlsView: View {
ResizeableImageView(name: "plus.circle")
}
.buttonStyle(PlainButtonStyle())
.accessibilityLabel("")
.frame(width: metrics.size.width * 0.15)
Spacer()
}
Expand All @@ -61,21 +65,11 @@ struct PlaybackFullControlsView: View {
Section {
Toggle(
"settings_globalspeed_title",
isOn: .init(
get: { model.globalSpeed },
set: { _ in
model.handleGlobalSpeedToggle()
}
)
isOn: $globalSpeedEnabled
)
Toggle(
"settings_boostvolume_title",
isOn: .init(
get: { model.boostVolume },
set: { _ in
model.handleBoostVolumeToggle()
}
)
isOn: $boostVolumeEnabled
)
Toggle(
"settings_autoplay_section_title".localized.capitalized,
Expand Down Expand Up @@ -108,6 +102,9 @@ struct PlaybackFullControlsView: View {
}
}
.environment(\.defaultMinListRowHeight, 40)
.onChange(of: boostVolumeEnabled) { boostVolume in
model.handleBoostVolumeToggle(boostVolume)
}
}
.navigationTitle("settings_controls_title")
}
Expand Down
14 changes: 1 addition & 13 deletions BookPlayerWatch/PlayerToolbarView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -19,26 +19,14 @@ final class PlaybackFullControlsViewModel: ObservableObject {
var boostVolume: Bool {
UserDefaults.standard.bool(forKey: Constants.UserDefaults.boostVolumeEnabled)
}

var globalSpeed: Bool {
UserDefaults.standard.bool(forKey: Constants.UserDefaults.globalSpeedEnabled)
}

init(playerManager: PlayerManager) {
self.playerManager = playerManager
}

func handleBoostVolumeToggle() {
let flag = !boostVolume
UserDefaults.standard.set(flag, forKey: Constants.UserDefaults.boostVolumeEnabled)

func handleBoostVolumeToggle(_ flag: Bool) {
self.playerManager.setBoostVolume(flag)
}

func handleGlobalSpeedToggle() {
let flag = !globalSpeed
UserDefaults.standard.set(flag, forKey: Constants.UserDefaults.globalSpeedEnabled)
}

func handleNewSpeed(_ rate: Float) {
let roundedValue = round(rate * 100) / 100.0
Expand Down

0 comments on commit 942c151

Please sign in to comment.