[ios] Change how authorization check after editing is handled

Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
This commit is contained in:
Yannik Bloscheck
2025-07-31 10:10:31 +02:00
parent 0b8bd42cb0
commit 327d302aae
3 changed files with 14 additions and 16 deletions

View File

@@ -382,7 +382,10 @@ NSString *const kAboutSegue = @"Map2About";
[self updateStatusBarStyle];
GetFramework().SetRenderingEnabled();
GetFramework().InvalidateRendering();
[self checkAuthorization];
[self showViralAlertIfNeeded];
if (Profile.needsReauthorization) {
[self checkAuthorization];
}
[MWMRouter updateRoute];
}
@@ -542,6 +545,12 @@ NSString *const kAboutSegue = @"Map2About";
[[MWMBookmarksManager sharedManager] addObserver:self];
[[MWMBookmarksManager sharedManager] loadBookmarks];
[MWMFrameworkListener addObserver:self];
[NSNotificationCenter.defaultCenter addObserverForName:@"EditingFinishedNotififcation" object:nil queue:nil usingBlock:^(NSNotification * _Nonnull notification) {
if (!Profile.isExisting || Profile.needsReauthorization) {
[self checkAuthorization];
}
}];
}
- (void)dealloc {
@@ -631,13 +640,9 @@ NSString *const kAboutSegue = @"Map2About";
#pragma mark - Authorization
- (void)checkAuthorization {
BOOL const isAfterEditing = Profile.needsReauthorization && !Profile.isExisting;
if (isAfterEditing) {
[Profile requestReauthorizationWithShouldReauthorize:NO];
if (!Platform::IsConnected())
return;
[self presentViewController:BridgeControllers.profileAsAlert animated:YES completion:nil];
}
if (!Platform::IsConnected())
return;
[self presentViewController:BridgeControllers.profileAsAlert animated:YES completion:nil];
}
#pragma mark - 3d touch

View File

@@ -123,13 +123,6 @@ import OSMEditor
}
/// Request reauthorization of the OpenStreetMap profile
/// - Parameter shouldReauthorize: If the profile should be reauthorized
@objc static func requestReauthorization(shouldReauthorize: Bool = true) {
UserDefaults.standard.set(shouldReauthorize, forKey: userDefaultsNeedsReauthorization)
}
/// Reload the OpenStreetMap profile data
/// - Returns: Optional profile data
static private func reloadUserPreferences() async -> osm.UserPreferences? {

View File

@@ -243,7 +243,7 @@ void registerCellsForTableView(std::vector<MWMEditorCellID> const & cells, UITab
[self showNotesQueuedToast];
break;
case osm::Editor::SaveResult::SavedSuccessfully:
[Profile requestReauthorizationWithShouldReauthorize:YES];
[NSNotificationCenter.defaultCenter postNotificationName:@"EditingFinishedNotififcation" object:nil];
f.UpdatePlacePageInfoForCurrentSelection();
[self.navigationController popToRootViewControllerAnimated:YES];
break;