* First live location sharing sending implementation * Simplify logic around canStop sharing * Add some debug logs around LiveLocationSharingService * Add LiveLocationException * Expose beaconId to identify the current share * Throttle live location instead of debouncing * Keep sync alive when sharing live location * Improve LiveLocation sharing * Show LiveLocationDisclaimer * Read minDistanceUpdate in LiveLocationSharingService * Set minDistanceUpdate in AdvancedSettings * Display banner in room when sharing live location * Fix tests around LiveLocationSharing * Ensure shares are properly restarted/stopped when app is re-launched * Ensure LLS data is cleared when session is removed * Update and fix LLS tests * Handle Start LLS in ui * Add check LLS permissions * Remove hardcoded strings * Fix quality and format * Create DeviceLocationProvider so we can share location data between sources (presenter/live location service) * Update screenshots * Fix warning * Do not try to stop if it was not sharing * Revert "Create DeviceLocationProvider so we can share location data between sources (presenter/live location service)" This reverts commit ba12bd968e82941cc231bdbb449310b24c97c5b8. * Tweak location provider config values * Address PR review remarks * Fix ktlint * Update screenshots * Fix some tests after merging develop * Adjust TimelineItemLocationView ui to match figma * Update screenshots * Documentation and cleanup * Remove temporary resource --------- Co-authored-by: ElementBot <android@element.io> Co-authored-by: Benoit Marty <benoit@matrix.org> Co-authored-by: Benoit Marty <benoitm@matrix.org>
62 lines
2.2 KiB
Kotlin
62 lines
2.2 KiB
Kotlin
import extension.setupDependencyInjection
|
|
import extension.testCommonDependencies
|
|
|
|
/*
|
|
* Copyright (c) 2025 Element Creations Ltd.
|
|
* Copyright 2022-2024 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.
|
|
*/
|
|
|
|
plugins {
|
|
id("io.element.android-compose-library")
|
|
}
|
|
|
|
android {
|
|
namespace = "io.element.android.features.location.impl"
|
|
testOptions {
|
|
unitTests {
|
|
isIncludeAndroidResources = true
|
|
}
|
|
}
|
|
}
|
|
|
|
setupDependencyInjection()
|
|
|
|
dependencies {
|
|
api(projects.features.location.api)
|
|
implementation(projects.features.messages.api)
|
|
implementation(libs.maplibre.compose)
|
|
implementation(libs.coil)
|
|
implementation(projects.libraries.architecture)
|
|
implementation(projects.libraries.matrix.api)
|
|
implementation(projects.libraries.di)
|
|
implementation(projects.libraries.designsystem)
|
|
implementation(projects.libraries.androidutils)
|
|
implementation(projects.libraries.core)
|
|
implementation(projects.libraries.matrixui)
|
|
implementation(projects.services.analytics.api)
|
|
implementation(projects.services.appnavstate.api)
|
|
implementation(libs.accompanist.permission)
|
|
implementation(projects.libraries.uiStrings)
|
|
implementation(projects.libraries.featureflag.api)
|
|
implementation(projects.libraries.dateformatter.api)
|
|
implementation(projects.libraries.preferences.api)
|
|
implementation(projects.libraries.push.api)
|
|
implementation(projects.libraries.sessionStorage.api)
|
|
implementation(libs.androidx.datastore.preferences)
|
|
implementation(libs.datetime)
|
|
|
|
testCommonDependencies(libs, true)
|
|
testImplementation(projects.libraries.matrix.test)
|
|
testImplementation(projects.libraries.dateformatter.test)
|
|
testImplementation(projects.services.toolbox.test)
|
|
testImplementation(projects.libraries.testtags)
|
|
testImplementation(projects.services.analytics.test)
|
|
testImplementation(projects.features.messages.test)
|
|
testImplementation(projects.libraries.featureflag.test)
|
|
testImplementation(projects.libraries.preferences.test)
|
|
testImplementation(projects.libraries.sessionStorage.test)
|
|
testImplementation(projects.features.location.test)
|
|
}
|