2021-09-18 23:37:52 +02:00
|
|
|
plugins {
|
2023-10-05 21:51:48 +02:00
|
|
|
alias(libs.plugins.android.library)
|
|
|
|
|
alias(libs.plugins.kotlin.android)
|
2025-06-07 14:06:09 +02:00
|
|
|
alias(libs.plugins.kotlin.plugin.serialization)
|
2024-06-14 11:57:03 +02:00
|
|
|
alias(libs.plugins.kotlin.plugin.compose)
|
2021-09-18 23:37:52 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
android {
|
2023-10-05 21:51:48 +02:00
|
|
|
compileSdk = libs.versions.compileSdk.get().toInt()
|
2021-09-18 23:37:52 +02:00
|
|
|
|
Add OSM search provider (#611)
* add openstreetmaps module in data
* fix injection
* retrofit2 implementation
* tokenization
* partial rewrite of OpeningTime.fromOverpassElement
* finish rewrite of OpeningTime.fromOverpassElement
* fix merge x)
* configurable search radius
* add settings section and disable setting explicit timeout values for http-client to alleviate issues during debugging
* settings screen localization
* enable radius slider only when locations are enabled
* fix dayRange parsing, add barebones UI
* add files to git
* add location listener in SearchableItemVM that gets activated by LocationItem
* add heading listener
* Calculations, UI additions
* rename settings to LocationsSettings
* use android location library for bearing calculations
* location fix
* rotation fix, demo UI
* working buttons for launching map and website (if available)
* finish botched UI
* improve overpass query by utilizing regex for fuzzy search results
* add link to documentation for further reference
* localization comments
* remove wikipedia minification setting
* schema version, default radius 1.5km
* move osm-specific opening-time parsing to OsmLocation
* refactor with callbackFlow
* remember flow and set minimum distance update to 1m
* refactor for replacementIcon, add imperial unit option
* 'open until' UI fix
* implement serializers
* catch errors in deserializer
* hacky live sorting by distance
* give max priority to bestmatch determined by SearchVM
* add yards as additional step to metersToLocalizzedString
* move http-client from serializers of osmlocation to companion object for cache updating
* add setting for custom URL
* round yards to int
* add botched map preview
* unbotch map tiles, draw user location in map (proof of concept)
* - create MapTiles Composable
- add border around map
- add indicators for location and userlocation, when on map
* fix default imperial units setting
* fix tint color
* add OSM attribution string
* display loading animation when tiles can't be shown yet
* create compose preview of maptiles
* UI work
* being glad that API's just return null instead of throwing information
* tryStartActivity
* aniimate card row placement
* Text alignment, padding
* Rotation -PI/PI wrap fix
* fix direction arrow rotation when screen is upside down
* more icons
* icons, settings, localization
- consider other tags than "amenity" when determining location category
- add many more location categories with corresponding icons
- add settings to disable map theming and hide search results with
LocationCategory.OTHER
- add default localizations for settings
* catch errors when deserializing location category
* move location and heading functions to Context.kt in extensions
* fix hideUncategorized criterion
* add pre-sorting by distance for location results in SearchVM by injecting Context into search()
* specify receiver parameters in ktx.Context lambdas
* move pose logic and context dependency to new module devicepose with DevicePoseProvider
* git, add the frickin' module
* search overpass for nodes and ways
include category for parcel_locker
already start searching for queries extending length 2
* make openingTimes immutable
* OsmRepository changes
- include telephone number
- don't try to repeatedly update cache if there is no value to be
updated to
- deduplicate results with same label by category and distance (100m)
- include fixmeurl to point to openstreetmaps.org/fixthemap
* ask for center in overpass API to compute center coordinates of ways
* search for brand
* add chemist location category
* restaurant / fastfood icon shenanigans
* actually add the icons :|
* add leisure tag for leisure:fitness_centre
* return to 'open until'/'opens in'/'open next'
* adding missing UI features
- bug report dialog
- call button if phone number exists
- grid item popup
* refactor to handle 24/7 locations more comfortably
* hide hours in 'opens_in' when they are zero
* show maptiles such that user is always in view
* drawing adjustments
* cache previous zoom level to speed up tile coordinate calculations
* using remember
* using MutableIntState
* fix logic that determines whether tiles are loading
* fix for numTiles == 9
* one plus one is two plus one makes three quick maths
* animate user location indicator, remember calculations
* fix off by one when determining next opening hour
* second attempt to fix upside down arrow rotation (probably fine now)
* logging
* reconsider declination, inject samplingPeriod
* undoing the merge undo
* move localization string to i18n
* revert reordering by distance
* refactor .distanceTo
* make Location abstract class to override compareTo with cached distance to correct sort order in search results
* when it is if when you could use when
* replace Pair with dataclass
* condition check order
* not creating objects with undefined locations, removing suspend from getCategory()
* inject permissionsmanager as constructor parameter
* Store OSM settings in decentralized datastore
* Update searchable content in database on launch
* Refactor, add mechanism to load updated searchable data lazily
* Cache all OSM data in launcher database
* Add pin to favorites button to location results
* Add sealed class UpdateResult
that is returned by awaiting updatedSelf of DeferredSearchable
- update on success
- set flag on temporarily unavailable (TODO add some UI indication)
- delete and invalidate VM on permanently unavailable (Display some
message window to user?)
* Move sorting of Locations from OsmRepository
to SearchVM using cached location in DevicePoseProvider, if available
* make use of cached location in code
* make use of DevicePoseProvider in WeatherRepository
* inject via koin
* increase getLocation().timeout() to 10 minutes since we are asking for locations only every hour, so 10 minutes seem reasonable (?)
* poll new location every time
* add icon for cached results where results are temporarily unavailable
* Refactor DeferredSearchable to UpdatableSearchable
that receives a closure to retrieve an updated self.
- moved timestamp (formerly `updatedAt`) to UpdatableSearchable
- moved logic whether to update searchable to `requestUpdatedSearchable`
in SearchableItemVM, which gets triggered every time the details of
the item are shown
- keep track in SearchableVM whether we should retry updating, possibly
bypassing a timestamp value that is not old enough
- show toast upon permanently unavailable
- animate "cached_searchable" icon
- make "cached_searchable" icon clickable to show toast explaining the
situation
* logging on PermanentlyUnavailable
* refactor OsmRepository.update()
* MapTheming adjustments. There is now darkmode, hooray!
* remove outdated comment
* code tidying
* remove unnecessary LaunchedEffect
* make outdated badge only clickable when actually outdated
* deserialize opening schedule
* set deserialized props to null if strings are blank
* also consider contact:* tagging scheme for website & phone
* tweaks
* git add Result.kt
* don't search for locations if network is not allowed
* merge fixes
* Move location search settings to preferences module
* Change wording and order of location search preferences
* Limit location search results
* Order location search results by distance
* Use a sequence
* Android Studio's suggestion wasn't as fleshed out as one would hope
* Add proguard rules
* Rename TileMapRepository to MapTileLoader
---------
Co-authored-by: MM20 <15646950+MM2-0@users.noreply.github.com>
2024-03-26 19:06:19 +01:00
|
|
|
packaging {
|
|
|
|
|
resources.excludes.add("META-INF/DEPENDENCIES")
|
|
|
|
|
}
|
|
|
|
|
|
2021-09-18 23:37:52 +02:00
|
|
|
defaultConfig {
|
2023-10-05 21:51:48 +02:00
|
|
|
minSdk = libs.versions.minSdk.get().toInt()
|
|
|
|
|
|
2021-09-18 23:37:52 +02:00
|
|
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
2025-07-15 16:09:50 +09:00
|
|
|
// //consumerProguardFiles("consumer-rules.pro")
|
2022-01-25 17:55:57 +01:00
|
|
|
signingConfig = signingConfigs.getByName("debug")
|
2021-09-18 23:37:52 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
buildTypes {
|
|
|
|
|
release {
|
2025-07-15 16:09:50 +09:00
|
|
|
isMinifyEnabled = false
|
|
|
|
|
isShrinkResources = false
|
|
|
|
|
// proguardFiles(
|
|
|
|
|
// getDefaultProguardFile("proguard-android-optimize.txt"),
|
|
|
|
|
// "proguard-rules.pro"
|
|
|
|
|
// )
|
|
|
|
|
}
|
|
|
|
|
debug {
|
|
|
|
|
isMinifyEnabled = false
|
|
|
|
|
isShrinkResources = false
|
2021-09-18 23:37:52 +02:00
|
|
|
}
|
2023-01-30 21:29:26 +01:00
|
|
|
create("nightly") {
|
2025-07-15 16:09:50 +09:00
|
|
|
isMinifyEnabled = false
|
|
|
|
|
isShrinkResources = false
|
2023-01-30 21:29:26 +01:00
|
|
|
initWith(getByName("release"))
|
|
|
|
|
matchingFallbacks += "release"
|
|
|
|
|
}
|
2021-09-18 23:37:52 +02:00
|
|
|
}
|
|
|
|
|
compileOptions {
|
|
|
|
|
sourceCompatibility = JavaVersion.VERSION_1_8
|
|
|
|
|
targetCompatibility = JavaVersion.VERSION_1_8
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
kotlinOptions {
|
|
|
|
|
jvmTarget = "1.8"
|
2022-08-21 18:35:27 +02:00
|
|
|
freeCompilerArgs = listOf(
|
|
|
|
|
"-opt-in=androidx.compose.ui.ExperimentalComposeUiApi",
|
|
|
|
|
"-opt-in=androidx.compose.foundation.ExperimentalFoundationApi",
|
|
|
|
|
"-opt-in=androidx.compose.ui.text.ExperimentalTextApi",
|
|
|
|
|
"-opt-in=androidx.compose.ui.unit.ExperimentalUnitApi",
|
2023-03-11 00:26:02 +01:00
|
|
|
"-opt-in=androidx.compose.foundation.layout.ExperimentalLayoutApi",
|
2023-02-08 20:51:35 +01:00
|
|
|
"-opt-in=androidx.compose.material.ExperimentalMaterialApi",
|
2022-08-21 18:35:27 +02:00
|
|
|
"-opt-in=androidx.compose.material3.ExperimentalMaterial3Api",
|
2025-04-26 19:08:21 +02:00
|
|
|
"-opt-in=androidx.compose.material3.ExperimentalMaterial3ExpressiveApi",
|
2022-08-21 18:35:27 +02:00
|
|
|
"-opt-in=androidx.compose.animation.graphics.ExperimentalAnimationGraphicsApi",
|
|
|
|
|
"-opt-in=androidx.compose.animation.ExperimentalAnimationApi",
|
|
|
|
|
"-opt-in=com.google.accompanist.pager.ExperimentalPagerApi",
|
2024-05-02 18:28:53 +02:00
|
|
|
"-opt-in=androidx.compose.animation.ExperimentalSharedTransitionApi",
|
2025-05-27 00:02:12 +02:00
|
|
|
"-Xwhen-guards",
|
2022-08-21 18:35:27 +02:00
|
|
|
)
|
2021-09-18 23:37:52 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
buildFeatures {
|
|
|
|
|
// Enables Jetpack Compose for this module
|
|
|
|
|
compose = true
|
2021-12-11 14:46:46 +01:00
|
|
|
viewBinding = true
|
2021-09-18 23:37:52 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
lint {
|
2022-01-26 12:51:16 +01:00
|
|
|
abortOnError = false
|
2021-09-18 23:37:52 +02:00
|
|
|
}
|
2022-05-09 19:56:05 +02:00
|
|
|
namespace = "de.mm20.launcher2.ui"
|
2021-09-18 23:37:52 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
dependencies {
|
|
|
|
|
implementation(libs.bundles.kotlin)
|
|
|
|
|
|
|
|
|
|
implementation(libs.androidx.compose.runtime)
|
|
|
|
|
implementation(libs.androidx.compose.foundation)
|
|
|
|
|
implementation(libs.androidx.compose.foundationlayout)
|
|
|
|
|
implementation(libs.androidx.compose.ui)
|
|
|
|
|
implementation(libs.androidx.compose.uitooling)
|
2023-02-08 20:51:35 +01:00
|
|
|
implementation(libs.androidx.compose.material)
|
2021-12-04 12:24:16 +01:00
|
|
|
implementation(libs.androidx.compose.material3)
|
2021-09-18 23:37:52 +02:00
|
|
|
implementation(libs.androidx.compose.materialicons)
|
|
|
|
|
implementation(libs.androidx.compose.animation)
|
|
|
|
|
implementation(libs.androidx.compose.animationgraphics)
|
2024-06-26 19:33:30 +02:00
|
|
|
implementation(libs.androidx.constraintlayout.compose)
|
2021-09-18 23:37:52 +02:00
|
|
|
|
2021-09-25 19:57:30 +02:00
|
|
|
implementation(libs.androidx.navigation.compose)
|
|
|
|
|
|
2022-02-15 19:29:12 +01:00
|
|
|
implementation(libs.jsoup)
|
2023-04-25 19:30:03 +02:00
|
|
|
implementation(libs.markdown)
|
2022-02-15 19:29:12 +01:00
|
|
|
|
2021-09-18 23:37:52 +02:00
|
|
|
// Legacy dependencies
|
|
|
|
|
implementation(libs.androidx.transition)
|
2021-12-12 13:59:28 +01:00
|
|
|
|
2021-09-18 23:37:52 +02:00
|
|
|
implementation(libs.accompanist.systemuicontroller)
|
|
|
|
|
implementation(libs.accompanist.pager)
|
2022-01-08 00:40:49 +01:00
|
|
|
implementation(libs.accompanist.pagerindicators)
|
2021-09-18 23:37:52 +02:00
|
|
|
implementation(libs.accompanist.flowlayout)
|
2021-09-26 21:43:01 +02:00
|
|
|
implementation(libs.accompanist.navigationanimation)
|
2021-09-18 23:37:52 +02:00
|
|
|
|
2025-05-27 00:02:12 +02:00
|
|
|
implementation(libs.haze)
|
|
|
|
|
|
2021-09-18 23:37:52 +02:00
|
|
|
implementation(libs.androidx.core)
|
|
|
|
|
implementation(libs.androidx.activitycompose)
|
|
|
|
|
implementation(libs.bundles.androidx.lifecycle)
|
|
|
|
|
|
|
|
|
|
implementation(libs.androidx.appcompat)
|
|
|
|
|
implementation(libs.androidx.browser)
|
2024-11-11 20:48:04 +01:00
|
|
|
implementation(libs.androidx.emojipicker)
|
2021-09-18 23:37:52 +02:00
|
|
|
|
|
|
|
|
implementation(libs.androidx.lifecycle.viewmodelcompose)
|
2023-02-13 13:35:47 +01:00
|
|
|
implementation(libs.androidx.lifecycle.runtimecompose)
|
2021-09-18 23:37:52 +02:00
|
|
|
|
|
|
|
|
implementation(libs.jsoup)
|
|
|
|
|
|
2021-10-10 12:15:54 +02:00
|
|
|
implementation(libs.koin.android)
|
|
|
|
|
implementation(libs.koin.androidxcompose)
|
|
|
|
|
|
2022-01-20 21:11:23 +01:00
|
|
|
implementation(libs.coil.core)
|
|
|
|
|
implementation(libs.coil.compose)
|
|
|
|
|
|
2023-08-26 23:23:21 +02:00
|
|
|
implementation(libs.emoji4j)
|
|
|
|
|
|
2022-12-13 17:37:26 +01:00
|
|
|
implementation(project(":libs:material-color-utilities"))
|
|
|
|
|
|
|
|
|
|
implementation(project(":core:base"))
|
|
|
|
|
implementation(project(":core:i18n"))
|
|
|
|
|
implementation(project(":core:compat"))
|
|
|
|
|
implementation(project(":core:ktx"))
|
2024-07-19 17:13:06 +02:00
|
|
|
implementation(project(":core:profiles"))
|
2022-12-13 17:37:26 +01:00
|
|
|
implementation(project(":services:icons"))
|
|
|
|
|
implementation(project(":services:music"))
|
2022-12-21 19:24:32 +01:00
|
|
|
implementation(project(":services:tags"))
|
2022-12-13 17:37:26 +01:00
|
|
|
implementation(project(":data:weather"))
|
|
|
|
|
implementation(project(":data:calendar"))
|
|
|
|
|
implementation(project(":services:search"))
|
|
|
|
|
implementation(project(":core:preferences"))
|
|
|
|
|
implementation(project(":data:applications"))
|
|
|
|
|
implementation(project(":data:appshortcuts"))
|
|
|
|
|
implementation(project(":data:calculator"))
|
|
|
|
|
implementation(project(":data:files"))
|
|
|
|
|
implementation(project(":data:widgets"))
|
2023-04-10 22:44:05 +02:00
|
|
|
implementation(project(":data:searchable"))
|
2023-08-21 22:11:31 +02:00
|
|
|
implementation(project(":data:themes"))
|
2022-12-13 17:37:26 +01:00
|
|
|
implementation(project(":data:wikipedia"))
|
|
|
|
|
implementation(project(":services:badges"))
|
|
|
|
|
implementation(project(":core:crashreporter"))
|
|
|
|
|
implementation(project(":data:notifications"))
|
|
|
|
|
implementation(project(":data:contacts"))
|
2024-06-14 11:57:03 +02:00
|
|
|
implementation(project(":data:locations"))
|
2022-12-13 17:37:26 +01:00
|
|
|
implementation(project(":core:permissions"))
|
|
|
|
|
implementation(project(":data:websites"))
|
|
|
|
|
implementation(project(":data:unitconverter"))
|
|
|
|
|
implementation(project(":libs:nextcloud"))
|
|
|
|
|
implementation(project(":libs:owncloud"))
|
|
|
|
|
implementation(project(":services:accounts"))
|
2023-11-06 19:30:41 +01:00
|
|
|
implementation(project(":services:plugins"))
|
2022-12-13 17:37:26 +01:00
|
|
|
implementation(project(":services:backup"))
|
|
|
|
|
implementation(project(":data:search-actions"))
|
2023-01-17 18:55:30 +01:00
|
|
|
implementation(project(":services:global-actions"))
|
2023-04-10 01:15:27 +02:00
|
|
|
implementation(project(":services:widgets"))
|
2023-04-10 22:44:05 +02:00
|
|
|
implementation(project(":services:favorites"))
|
Add OSM search provider (#611)
* add openstreetmaps module in data
* fix injection
* retrofit2 implementation
* tokenization
* partial rewrite of OpeningTime.fromOverpassElement
* finish rewrite of OpeningTime.fromOverpassElement
* fix merge x)
* configurable search radius
* add settings section and disable setting explicit timeout values for http-client to alleviate issues during debugging
* settings screen localization
* enable radius slider only when locations are enabled
* fix dayRange parsing, add barebones UI
* add files to git
* add location listener in SearchableItemVM that gets activated by LocationItem
* add heading listener
* Calculations, UI additions
* rename settings to LocationsSettings
* use android location library for bearing calculations
* location fix
* rotation fix, demo UI
* working buttons for launching map and website (if available)
* finish botched UI
* improve overpass query by utilizing regex for fuzzy search results
* add link to documentation for further reference
* localization comments
* remove wikipedia minification setting
* schema version, default radius 1.5km
* move osm-specific opening-time parsing to OsmLocation
* refactor with callbackFlow
* remember flow and set minimum distance update to 1m
* refactor for replacementIcon, add imperial unit option
* 'open until' UI fix
* implement serializers
* catch errors in deserializer
* hacky live sorting by distance
* give max priority to bestmatch determined by SearchVM
* add yards as additional step to metersToLocalizzedString
* move http-client from serializers of osmlocation to companion object for cache updating
* add setting for custom URL
* round yards to int
* add botched map preview
* unbotch map tiles, draw user location in map (proof of concept)
* - create MapTiles Composable
- add border around map
- add indicators for location and userlocation, when on map
* fix default imperial units setting
* fix tint color
* add OSM attribution string
* display loading animation when tiles can't be shown yet
* create compose preview of maptiles
* UI work
* being glad that API's just return null instead of throwing information
* tryStartActivity
* aniimate card row placement
* Text alignment, padding
* Rotation -PI/PI wrap fix
* fix direction arrow rotation when screen is upside down
* more icons
* icons, settings, localization
- consider other tags than "amenity" when determining location category
- add many more location categories with corresponding icons
- add settings to disable map theming and hide search results with
LocationCategory.OTHER
- add default localizations for settings
* catch errors when deserializing location category
* move location and heading functions to Context.kt in extensions
* fix hideUncategorized criterion
* add pre-sorting by distance for location results in SearchVM by injecting Context into search()
* specify receiver parameters in ktx.Context lambdas
* move pose logic and context dependency to new module devicepose with DevicePoseProvider
* git, add the frickin' module
* search overpass for nodes and ways
include category for parcel_locker
already start searching for queries extending length 2
* make openingTimes immutable
* OsmRepository changes
- include telephone number
- don't try to repeatedly update cache if there is no value to be
updated to
- deduplicate results with same label by category and distance (100m)
- include fixmeurl to point to openstreetmaps.org/fixthemap
* ask for center in overpass API to compute center coordinates of ways
* search for brand
* add chemist location category
* restaurant / fastfood icon shenanigans
* actually add the icons :|
* add leisure tag for leisure:fitness_centre
* return to 'open until'/'opens in'/'open next'
* adding missing UI features
- bug report dialog
- call button if phone number exists
- grid item popup
* refactor to handle 24/7 locations more comfortably
* hide hours in 'opens_in' when they are zero
* show maptiles such that user is always in view
* drawing adjustments
* cache previous zoom level to speed up tile coordinate calculations
* using remember
* using MutableIntState
* fix logic that determines whether tiles are loading
* fix for numTiles == 9
* one plus one is two plus one makes three quick maths
* animate user location indicator, remember calculations
* fix off by one when determining next opening hour
* second attempt to fix upside down arrow rotation (probably fine now)
* logging
* reconsider declination, inject samplingPeriod
* undoing the merge undo
* move localization string to i18n
* revert reordering by distance
* refactor .distanceTo
* make Location abstract class to override compareTo with cached distance to correct sort order in search results
* when it is if when you could use when
* replace Pair with dataclass
* condition check order
* not creating objects with undefined locations, removing suspend from getCategory()
* inject permissionsmanager as constructor parameter
* Store OSM settings in decentralized datastore
* Update searchable content in database on launch
* Refactor, add mechanism to load updated searchable data lazily
* Cache all OSM data in launcher database
* Add pin to favorites button to location results
* Add sealed class UpdateResult
that is returned by awaiting updatedSelf of DeferredSearchable
- update on success
- set flag on temporarily unavailable (TODO add some UI indication)
- delete and invalidate VM on permanently unavailable (Display some
message window to user?)
* Move sorting of Locations from OsmRepository
to SearchVM using cached location in DevicePoseProvider, if available
* make use of cached location in code
* make use of DevicePoseProvider in WeatherRepository
* inject via koin
* increase getLocation().timeout() to 10 minutes since we are asking for locations only every hour, so 10 minutes seem reasonable (?)
* poll new location every time
* add icon for cached results where results are temporarily unavailable
* Refactor DeferredSearchable to UpdatableSearchable
that receives a closure to retrieve an updated self.
- moved timestamp (formerly `updatedAt`) to UpdatableSearchable
- moved logic whether to update searchable to `requestUpdatedSearchable`
in SearchableItemVM, which gets triggered every time the details of
the item are shown
- keep track in SearchableVM whether we should retry updating, possibly
bypassing a timestamp value that is not old enough
- show toast upon permanently unavailable
- animate "cached_searchable" icon
- make "cached_searchable" icon clickable to show toast explaining the
situation
* logging on PermanentlyUnavailable
* refactor OsmRepository.update()
* MapTheming adjustments. There is now darkmode, hooray!
* remove outdated comment
* code tidying
* remove unnecessary LaunchedEffect
* make outdated badge only clickable when actually outdated
* deserialize opening schedule
* set deserialized props to null if strings are blank
* also consider contact:* tagging scheme for website & phone
* tweaks
* git add Result.kt
* don't search for locations if network is not allowed
* merge fixes
* Move location search settings to preferences module
* Change wording and order of location search preferences
* Limit location search results
* Order location search results by distance
* Use a sequence
* Android Studio's suggestion wasn't as fleshed out as one would hope
* Add proguard rules
* Rename TileMapRepository to MapTileLoader
---------
Co-authored-by: MM20 <15646950+MM2-0@users.noreply.github.com>
2024-03-26 19:06:19 +01:00
|
|
|
implementation(project(":core:devicepose"))
|
2021-09-18 23:37:52 +02:00
|
|
|
}
|