Show own location in map views (#7375)

* show own location on static sharing

* show own location on live sharing

* add tests and changelog

* check location authorisation, fix center to current user location button

* it moves request to LocationManager in proper service

* add static location viewer service
This commit is contained in:
Flescio
2023-02-20 18:07:03 +01:00
committed by GitHub
parent d15131e9ba
commit 95501bfdde
21 changed files with 267 additions and 36 deletions
@@ -27,12 +27,17 @@ class MockLiveLocationSharingViewerService: LiveLocationSharingViewerServiceProt
// MARK: Setup
init(generateRandomUsers: Bool = false) {
let firstUserLiveLocation = createFirstUserLiveLocation()
init(generateRandomUsers: Bool = false, currentUserSharingLocation: Bool = true) {
let firstUserLiveLocation: UserLiveLocation?
if currentUserSharingLocation {
firstUserLiveLocation = createFirstUserLiveLocation()
} else {
firstUserLiveLocation = nil
}
let secondUserLiveLocation = createSecondUserLiveLocation()
var usersLiveLocation: [UserLiveLocation] = [firstUserLiveLocation, secondUserLiveLocation]
var usersLiveLocation: [UserLiveLocation] = [firstUserLiveLocation, secondUserLiveLocation].compactMap { $0 }
if generateRandomUsers {
for _ in 1...20 {
@@ -56,6 +61,10 @@ class MockLiveLocationSharingViewerService: LiveLocationSharingViewerServiceProt
func stopUserLiveLocationSharing(completion: @escaping (Result<Void, Error>) -> Void) { }
func requestAuthorizationIfNeeded() -> Bool {
return true
}
// MARK: Private
private func createFirstUserLiveLocation() -> UserLiveLocation {