From fb594c77b2f80ecf90995893c0158cc8cd11baa0 Mon Sep 17 00:00:00 2001 From: Philip Su <39933441+fivecar@users.noreply.github.com> Date: Wed, 1 Feb 2023 02:07:10 -0800 Subject: [PATCH] fix(ios): prevents overwriting of forward/backward secs (#1855) The previous code overwrote forward/backward skip seconds when you subsequently called updateOptions without re-specifying the same times. This fix prevents that problem. fix #1853 --- ios/RNTrackPlayer/RNTrackPlayer.swift | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/ios/RNTrackPlayer/RNTrackPlayer.swift b/ios/RNTrackPlayer/RNTrackPlayer.swift index 40a503b2e..e3b0b3f2a 100644 --- a/ios/RNTrackPlayer/RNTrackPlayer.swift +++ b/ios/RNTrackPlayer/RNTrackPlayer.swift @@ -20,6 +20,8 @@ public class RNTrackPlayer: RCTEventEmitter, AudioSessionControllerDelegate { private let audioSessionController = AudioSessionController.shared private var shouldEmitProgressEvent: Bool = false private var shouldResumePlaybackAfterInterruptionEnds: Bool = false + private var forwardJumpInterval: NSNumber? = nil; + private var backwardJumpInterval: NSNumber? = nil; // MARK: - Lifecycle Methods @@ -310,12 +312,15 @@ public class RNTrackPlayer: RCTEventEmitter, AudioSessionControllerDelegate { capabilitiesStr.append("togglePlayPause"); } + forwardJumpInterval = options["forwardJumpInterval"] as? NSNumber ?? forwardJumpInterval + backwardJumpInterval = options["backwardJumpInterval"] as? NSNumber ?? backwardJumpInterval + player.remoteCommands = capabilitiesStr .compactMap { Capability(rawValue: $0) } .map { capability in capability.mapToPlayerCommand( - forwardJumpInterval: options["forwardJumpInterval"] as? NSNumber, - backwardJumpInterval: options["backwardJumpInterval"] as? NSNumber, + forwardJumpInterval: forwardJumpInterval, + backwardJumpInterval: backwardJumpInterval, likeOptions: options["likeOptions"] as? [String: Any], dislikeOptions: options["dislikeOptions"] as? [String: Any], bookmarkOptions: options["bookmarkOptions"] as? [String: Any]