forked from organicmaps/organicmaps
[ios] fix bm/ track/track recording updates handling on the PP
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
This commit is contained in:
parent
5ba9b4dd30
commit
6d5c06272e
1 changed files with 26 additions and 7 deletions
|
@ -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 bookmarksManager.hasBookmark(placePageData.bookmarkData!.bookmarkId) else {
|
||||
presenter?.closeAnimated()
|
||||
return
|
||||
}
|
||||
updatePlacePage()
|
||||
case .track:
|
||||
guard bookmarksManager.hasTrack(placePageData.trackData!.trackId) else {
|
||||
presenter?.closeAnimated()
|
||||
return
|
||||
}
|
||||
updatePlacePage()
|
||||
@unknown default:
|
||||
fatalError("Unknown object type")
|
||||
}
|
||||
FrameworkHelper.updatePlacePageData()
|
||||
placePageData.updateBookmarkStatus()
|
||||
}
|
||||
|
||||
private func addToBookmarksManagerObserverList() {
|
||||
|
@ -311,6 +326,10 @@ extension PlacePageInteractor: PlacePageHeaderViewControllerDelegate {
|
|||
shareViewController.present(inParentViewController: mapViewController, anchorView: sourceView)
|
||||
case .track:
|
||||
presenter?.showShareTrackMenu()
|
||||
case .trackRecording:
|
||||
let currentLocation = LocationManager.lastLocation()?.coordinate ?? placePageData.locationCoordinate
|
||||
let shareMyPositionViewController = ActivityViewController.share(forMyPosition: currentLocation)
|
||||
shareMyPositionViewController.present(inParentViewController: mapViewController, anchorView: sourceView)
|
||||
default:
|
||||
fatalError()
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue