implemented the usage of the live location manager permission handling in the location sharing screen.

This commit is contained in:
Mauro Romito
2026-03-31 02:10:21 +02:00
committed by Mauro
parent b31d0cad75
commit d67c1a93db
11 changed files with 86 additions and 3 deletions
@@ -12,6 +12,7 @@ import MatrixRustSDK
enum LocationSharingViewError: Error, Hashable {
case missingAuthorization
case missingAlwaysAuthorization
case mapError(MapLibreError)
}
@@ -142,6 +143,7 @@ struct LocationSharingScreenBindings {
enum LocationSharingScreenViewAction {
case close
case selectLocation
case startLiveLocation
case centerToUser
case userDidPan
}
@@ -157,6 +159,12 @@ extension AlertInfo where T == LocationSharingViewError {
message: L10n.dialogPermissionLocationDescriptionIos(InfoPlistReader.main.bundleDisplayName),
primaryButton: primaryButton,
secondaryButton: secondaryButton)
case .missingAlwaysAuthorization:
self.init(id: error,
title: L10n.dialogAllowAccess,
message: L10n.dialogPermissionLiveLocationDescriptionIos(InfoPlistReader.main.bundleDisplayName),
primaryButton: primaryButton,
secondaryButton: secondaryButton)
case .mapError(.failedLoadingMap):
self.init(id: error,
title: L10n.errorFailedLoadingMap(InfoPlistReader.main.bundleDisplayName),