* Live Location Sharing Banner # Conflicts: # ElementX.xcodeproj/project.pbxproj * updated the top banner modifier and the top banner views # Conflicts: # ElementX/Resources/Localizations/en-US.lproj/Localizable.strings # ElementX/Resources/Localizations/en.lproj/Localizable.strings * improved the stopping function from the timeline item * stop live location sharing before starting a new one. * added some tests for LiveLocationManager * pr suggestions
26 lines
922 B
Swift
26 lines
922 B
Swift
//
|
|
// Copyright 2025 Element Creations Ltd.
|
|
// Copyright 2022-2025 New Vector Ltd.
|
|
//
|
|
// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
|
|
// Please see LICENSE files in the repository root for full details.
|
|
//
|
|
|
|
import Combine
|
|
import Foundation
|
|
import SwiftUI
|
|
|
|
@MainActor
|
|
protocol TimelineViewModelProtocol {
|
|
var actions: AnyPublisher<TimelineViewModelAction, Never> { get }
|
|
var context: TimelineViewModel.Context { get }
|
|
|
|
func process(composerAction: ComposerToolbarViewModelAction)
|
|
/// Updates the timeline to show and highlight the item with the corresponding event ID.
|
|
func focusOnEvent(eventID: String) async
|
|
/// Stops the current live location sharing
|
|
func stopLiveLocationSharing() async
|
|
/// Handles getting the content to forward an item given its item ID.
|
|
func makeForwardingItem(for itemID: TimelineItemIdentifier) async -> MessageForwardingItem?
|
|
}
|