[ios] upate place page object type

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
This commit is contained in:
Kiryl Kaveryn
2025-06-25 17:51:55 +04:00
committed by Yannik Bloscheck
parent a19cbbbbf7
commit 8e28470490

View File

@@ -35,6 +35,8 @@ static PlacePageRoadType convertRoadType(RoadWarningMarkType roadType) {
@property(nonatomic, readwrite) PlacePagePreviewData *previewData;
@property(nonatomic, readwrite) CLLocationCoordinate2D locationCoordinate;
- (PlacePageObjectType)objectTypeFromRawData;
@end
@implementation PlacePageData
@@ -46,7 +48,6 @@ static PlacePageRoadType convertRoadType(RoadWarningMarkType roadType) {
_infoData = [[PlacePageInfoData alloc] initWithRawData:rawData() ohLocalization:localization];
if (rawData().IsBookmark()) {
_objectType = PlacePageObjectTypeBookmark;
_bookmarkData = [[PlacePageBookmarkData alloc] initWithRawData:rawData()];
}
@@ -68,7 +69,6 @@ static PlacePageRoadType convertRoadType(RoadWarningMarkType roadType) {
}
if (rawData().IsTrack()) {
_objectType = PlacePageObjectTypeTrack;
auto const & track = GetFramework().GetBookmarkManager().GetTrack(rawData().GetTrackId());
__weak auto weakSelf = self;
_trackData = [[PlacePageTrackData alloc] initWithTrack:*track onActivePointChanged:^(void) {
@@ -84,6 +84,8 @@ static PlacePageRoadType convertRoadType(RoadWarningMarkType roadType) {
[[MWMStorage sharedStorage] addObserver:self];
}
_objectType = [self objectTypeFromRawData];
m_featureID = rawData().GetID();
m_mercator = rawData().GetMercator();
m_rawTypes = rawData().GetRawTypes();
@@ -146,11 +148,24 @@ static PlacePageRoadType convertRoadType(RoadWarningMarkType roadType) {
_bookmarkData = nil;
}
_previewData = [[PlacePagePreviewData alloc] initWithRawData:rawData()];
_objectType = [self objectTypeFromRawData];
if (self.onBookmarkStatusUpdate != nil) {
self.onBookmarkStatusUpdate();
}
}
- (PlacePageObjectType)objectTypeFromRawData {
if (rawData().IsBookmark()) {
return PlacePageObjectTypeBookmark;
} else if (rawData().IsTrack()) {
return PlacePageObjectTypeTrack;
} else if (self.trackData) {
return PlacePageObjectTypeTrackRecording;
} else {
return PlacePageObjectTypePOI;
}
}
#pragma mark - MWMStorageObserver
- (void)processCountryEvent:(NSString *)countryId {