From 0ac43bbdc4fbfd8d35bf25727fd2b14e53d02cbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9?= <135858315+andre1110@users.noreply.github.com> Date: Fri, 16 Jun 2023 14:07:47 +0700 Subject: [PATCH] [ios] Fixed navigation issues for editing bookmark groups Resolves #939 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: André <135858315+andre1110@users.noreply.github.com> --- .../BookmarksListPresenter.swift | 5 ++- .../BookmarksList/BookmarksListRouter.swift | 4 +- .../BookmarksTabViewController.swift | 43 ------------------- .../CategorySettingsViewController.swift | 1 - iphone/Maps/Maps.xcodeproj/project.pbxproj | 4 -- 5 files changed, 6 insertions(+), 51 deletions(-) delete mode 100644 iphone/Maps/Bookmarks/BookmarksTabViewController.swift diff --git a/iphone/Maps/Bookmarks/BookmarksList/BookmarksListPresenter.swift b/iphone/Maps/Bookmarks/BookmarksList/BookmarksListPresenter.swift index 29ba05273c..dec2bf7948 100644 --- a/iphone/Maps/Bookmarks/BookmarksList/BookmarksListPresenter.swift +++ b/iphone/Maps/Bookmarks/BookmarksList/BookmarksListPresenter.swift @@ -340,10 +340,13 @@ extension BookmarksListPresenter: CategorySettingsViewControllerDelegate { imageUrl: bookmarkGroup.imageUrl, hasLogo: false) view.setInfo(info) + viewController.goBack() } func categorySettingsController(_ viewController: CategorySettingsViewController, didDelete categoryId: MWMMarkGroupID) { - delegate?.bookmarksListDidDeleteGroup() + if let delegate = delegate as? UIViewController { + viewController.navigationController?.popToViewController(delegate, animated: true) + } } } diff --git a/iphone/Maps/Bookmarks/BookmarksList/BookmarksListRouter.swift b/iphone/Maps/Bookmarks/BookmarksList/BookmarksListRouter.swift index 372414b07a..e3346f02a1 100644 --- a/iphone/Maps/Bookmarks/BookmarksList/BookmarksListRouter.swift +++ b/iphone/Maps/Bookmarks/BookmarksList/BookmarksListRouter.swift @@ -20,13 +20,13 @@ extension BookmarksListRouter: IBookmarksListRouter { } func showDescription(_ bookmarkGroup: BookmarkGroup) { - let description = prepareHtmlDescription(bookmarkGroup) + let description = BookmarksListRouter.prepareHtmlDescription(bookmarkGroup) let descriptionViewController = WebViewController(html: description, baseUrl: nil, title: bookmarkGroup.title)! descriptionViewController.openInSafari = true mapViewController.navigationController?.pushViewController(descriptionViewController, animated: true) } - func prepareHtmlDescription(_ bookmarkGroup: BookmarkGroup) -> String { + private static func prepareHtmlDescription(_ bookmarkGroup: BookmarkGroup) -> String { var description = bookmarkGroup.detailedAnnotation if bookmarkGroup.isHtmlDescription { if !description.contains("
") { diff --git a/iphone/Maps/Bookmarks/BookmarksTabViewController.swift b/iphone/Maps/Bookmarks/BookmarksTabViewController.swift deleted file mode 100644 index 12a95ff463..0000000000 --- a/iphone/Maps/Bookmarks/BookmarksTabViewController.swift +++ /dev/null @@ -1,43 +0,0 @@ -@objc(MWMBookmarksTabViewController) -final class BookmarksTabViewController: TabViewController { - @objc enum ActiveTab: Int { - case user = 0 - case catalog - } - - private static let selectedIndexKey = "BookmarksTabViewController_selectedIndexKey" - - @objc public var activeTab: ActiveTab = ActiveTab(rawValue: - UserDefaults.standard.integer(forKey: BookmarksTabViewController.selectedIndexKey)) ?? .user { - didSet { - UserDefaults.standard.set(activeTab.rawValue, forKey: BookmarksTabViewController.selectedIndexKey) - } - } - - private weak var coordinator: BookmarksCoordinator? - - @objc init(coordinator: BookmarksCoordinator?) { - super.init(nibName: nil, bundle: nil) - self.coordinator = coordinator - } - - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - - override func viewDidLoad() { - super.viewDidLoad() - - let bookmarks = BMCViewController(coordinator: coordinator) - bookmarks.title = L("bookmarks") - viewControllers = [bookmarks] - - title = L("bookmarks"); - tabView.selectedIndex = activeTab.rawValue - } - - override func viewDidDisappear(_ animated: Bool) { - super.viewDidDisappear(animated) - activeTab = ActiveTab(rawValue: tabView.selectedIndex ?? 0) ?? .user - } -} diff --git a/iphone/Maps/Bookmarks/Categories/Category settings/CategorySettingsViewController.swift b/iphone/Maps/Bookmarks/Categories/Category settings/CategorySettingsViewController.swift index 5420081ae7..1dbc3e0595 100644 --- a/iphone/Maps/Bookmarks/Categories/Category settings/CategorySettingsViewController.swift +++ b/iphone/Maps/Bookmarks/Categories/Category settings/CategorySettingsViewController.swift @@ -107,7 +107,6 @@ final class CategorySettingsViewController: MWMTableViewController { } delegate?.categorySettingsController(self, didEndEditing: bookmarkGroup.categoryId) - self.navigationController?.popViewController(animated: true) } } diff --git a/iphone/Maps/Maps.xcodeproj/project.pbxproj b/iphone/Maps/Maps.xcodeproj/project.pbxproj index 81470631df..904ef4c418 100644 --- a/iphone/Maps/Maps.xcodeproj/project.pbxproj +++ b/iphone/Maps/Maps.xcodeproj/project.pbxproj @@ -436,7 +436,6 @@ A630D1EA207CA95900976DEA /* Localizable.stringsdict in Resources */ = {isa = PBXBuildFile; fileRef = A630D1E8207CA95900976DEA /* Localizable.stringsdict */; }; AA1C7E3E269A2DD600BAADF2 /* EditTrackViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA1C7E3D269A2DD600BAADF2 /* EditTrackViewController.swift */; }; B33D21AF20DAF9F000BAD749 /* Toast.swift in Sources */ = {isa = PBXBuildFile; fileRef = B33D21AE20DAF9F000BAD749 /* Toast.swift */; }; - B33D21B820E130D000BAD749 /* BookmarksTabViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B33D21B720E130D000BAD749 /* BookmarksTabViewController.swift */; }; B3E3B4FD20D463B700DA8C13 /* BMCCategoriesHeader.xib in Resources */ = {isa = PBXBuildFile; fileRef = B3E3B4FC20D463B700DA8C13 /* BMCCategoriesHeader.xib */; }; BB25B1A71FB32767007276FA /* transit_colors.txt in Resources */ = {isa = PBXBuildFile; fileRef = BB25B1A51FB32767007276FA /* transit_colors.txt */; }; BB7626B61E85599C0031D71C /* icudt70l.dat in Resources */ = {isa = PBXBuildFile; fileRef = BB7626B41E8559980031D71C /* icudt70l.dat */; }; @@ -1284,7 +1283,6 @@ A630D206207CAA5800976DEA /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.stringsdict"; sourceTree = "