From f201d0e3cd645e64e78f6e458948d00073511d27 Mon Sep 17 00:00:00 2001 From: Kiryl Kaveryn Date: Wed, 4 Jun 2025 18:11:34 +0400 Subject: [PATCH] [ios] fix bm/track updates and deletion handling on the PP Signed-off-by: Kiryl Kaveryn --- .../UI/PlacePage/PlacePageInteractor.swift | 29 ++++++++++++++----- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/iphone/Maps/UI/PlacePage/PlacePageInteractor.swift b/iphone/Maps/UI/PlacePage/PlacePageInteractor.swift index b91cb811e..88e7fd0e4 100644 --- a/iphone/Maps/UI/PlacePage/PlacePageInteractor.swift +++ b/iphone/Maps/UI/PlacePage/PlacePageInteractor.swift @@ -24,14 +24,29 @@ class PlacePageInteractor: NSObject { } private func updatePlacePageIfNeeded() { - let isBookmark = placePageData.bookmarkData != nil && bookmarksManager.hasBookmark(placePageData.bookmarkData!.bookmarkId) - let isTrack = placePageData.trackData != nil && bookmarksManager.hasTrack(placePageData.trackData!.trackId) - guard isBookmark || isTrack else { - presenter?.closeAnimated() - return + func updatePlacePage() { + FrameworkHelper.updatePlacePageData() + placePageData.updateBookmarkStatus() + } + + switch placePageData.objectType { + case .POI, .trackRecording: + break + case .bookmark: + guard let bookmarkData = placePageData.bookmarkData, bookmarksManager.hasBookmark(bookmarkData.bookmarkId) else { + presenter?.closeAnimated() + return + } + updatePlacePage() + case .track: + guard let trackData = placePageData.trackData, bookmarksManager.hasTrack(trackData.trackId) else { + presenter?.closeAnimated() + return + } + updatePlacePage() + @unknown default: + fatalError("Unknown object type") } - FrameworkHelper.updatePlacePageData() - placePageData.updateBookmarkStatus() } private func addToBookmarksManagerObserverList() {