플레이어, 재생목록 콘텐츠 추가/제거
- 만료된 콘텐츠는 재생되지 않고 다음 콘텐츠로 이동하도록 수정 - 아이템 터치 영역을 아이템 전체로 수정
This commit is contained in:
parent
d483b59978
commit
fb1bac83ae
|
@ -138,7 +138,11 @@ final class ContentPlayerPlayManager: NSObject, ObservableObject {
|
|||
}
|
||||
|
||||
private func handlePlaybackEnded() {
|
||||
playNextContent()
|
||||
if let hasNextContent = self.playlistManager?.hasNextContent(), hasNextContent {
|
||||
self.playNextContent()
|
||||
} else {
|
||||
self.stop()
|
||||
}
|
||||
}
|
||||
|
||||
func playNextContent() {
|
||||
|
@ -148,11 +152,7 @@ final class ContentPlayerPlayManager: NSObject, ObservableObject {
|
|||
generateUrl(contentId: content.id) { [unowned self] url in
|
||||
self.urlGenerateSuccess(content: content, url: url)
|
||||
} onFailure: {
|
||||
if let hasNextContent = self.playlistManager?.hasNextContent(), hasNextContent {
|
||||
self.playNextContent()
|
||||
} else {
|
||||
self.stop()
|
||||
}
|
||||
self.playNextContent()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -164,11 +164,7 @@ final class ContentPlayerPlayManager: NSObject, ObservableObject {
|
|||
generateUrl(contentId: content.id) { [unowned self] url in
|
||||
self.urlGenerateSuccess(content: content, url: url)
|
||||
} onFailure: {
|
||||
if let hasNextContent = self.playlistManager?.hasNextContent(), hasNextContent {
|
||||
self.playNextContent()
|
||||
} else {
|
||||
self.stop()
|
||||
}
|
||||
self.playPreviousContent()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -196,12 +192,12 @@ final class ContentPlayerPlayManager: NSObject, ObservableObject {
|
|||
isLoading = false
|
||||
player?.pause()
|
||||
player?.seek(to: .zero)
|
||||
duration = 0
|
||||
currentTime = 0
|
||||
}
|
||||
|
||||
func resetPlayer() {
|
||||
stop()
|
||||
duration = 0
|
||||
isShowingMiniPlayer = false
|
||||
|
||||
title = ""
|
||||
|
@ -243,7 +239,7 @@ final class ContentPlayerPlayManager: NSObject, ObservableObject {
|
|||
let jsonDecoder = JSONDecoder()
|
||||
let decoded = try jsonDecoder.decode(ApiResponse<GenerateUrlResponse>.self, from: responseData)
|
||||
|
||||
if let data = decoded.data, decoded.success {
|
||||
if let data = decoded.data, !data.contentUrl.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty, decoded.success {
|
||||
onSuccess(data.contentUrl)
|
||||
} else {
|
||||
self.isLoading = false
|
||||
|
|
|
@ -62,6 +62,7 @@ struct PlaylistAddContentItemView: View {
|
|||
Image(isChecked ? "ic_check_blue" : "ic_playlist_add")
|
||||
.padding(8)
|
||||
}
|
||||
.contentShape(Rectangle())
|
||||
.onTapGesture {
|
||||
onClick()
|
||||
isChecked.toggle()
|
||||
|
|
Loading…
Reference in New Issue