* Cherry pick location refactor * Refactor :data:openstreetmaps to :data:locations * contract, plugin sdk * Implement serialization, module tweaks * Include check for out-of-date departures in SearchableItemVM.requestUpdatedSearchable() * settings for location plugins * Try not to be too lazy * more fiddling with the plugin SDK * add departures in MapView with mock data for debug builds * change icons * add boats * animate departure lazycolumn * Add MarqueeText for text overflow handling * Define height for Departures in case there is no map to display * Don't inclure railway / highway tags for OSM since there will be location plugins for that * sort by time * - Apply pre-merge changes to LocationSettings - Add banner warning about slowed down location search for large search radii * ditch `showLocationOnMap` * LocationItem: make `showOpeningSchedule` toggleable * LocationItem: make Navigation AssistChip work for people that don't have google maps installed * LocationItem: resolve TODOs * MapTiles: ditch unused code, animate userIndicator * Reintroduce departure list * Add LineColor * Add osm tag `stars` as `userRating` https://taginfo.openstreetmap.org/keys/stars#overview * typealias -> import * Don't add Navigation Chip when there is no way to resolve navigation intents * Add settings migration * Set plugin SDK version to 1.2.0-SNAPSHOT * Deduplicate shared plugin classes, use kotlinx.serialization * Fix imports * Use ZonedDateTime for depature times * Add more line types * Rewrite location serialization * Replace street/houseNumber with address * Add attribution field * Add plugin config * Reject location search requests without lat lon parameters * Add default values to plugin location class * Don't crash if column value is null * Add docs comments to LocationCategory values * Refactor OpeningSchedule as polymorphic * remove dead corpse *ahem* code * Split LocationCategory into category and icon (Also update to Kotlin 2.0, please don't do this at home) * Add more location icons * Fix (?) location deserializer * Add more location icons * More icons * Meh * Add Pub * Disable Github Maven repo if credentials are missing * Add location search specific settings to plugin details screen * Add language parameter * Unbreak the build * Refactor plugin SDK (with breaking changes) * Set plugin SDK version to 2.0.0-SNAPSHOT * Document SDK breaking changes * Implement LocationProvider.getQuery * Add a typesafe cursor API * Oops I did it again next time maybe check if the code is actually compiling before pushing * Add missing return statement * Fix list serialization * Departure time UI adjustment * Use typesafe cursor for weather plugins * Add userRatingCount and emailAddress fields * grrr * Rename and extend LineTypes * Add default lineType to Departure to fix serialization errors * Fix refreshing stored plugin locations * Adapt line name column width to available departures * Fix plugin settings screen category overlap * add LocationItem.GenericTransit * Fix crash during deserialization of locations * Update SDK docs * Replace plugin "official" mark with "verified developer" mark before anyone gets sued * show 'now' when departure is in less than one minute * Add typesafe Bundle API * Implement plugin API changes * Plugin SDK: Fix refresh result not being returned * Update docs * apply alpha to departures that have departured * better (maybe): reduce saturation instead of alpha * Add default values for Attribution * Display attribution * Rearrange location result layout * Reduce searchable update interval to 1 minute * Pass last update time to refresh function * Change refresh path and ensure that timestamp is only update when the item was updated * categorize osm location * Update docs * Optimize location search - run providers in parallel - flatten code * add experimental address parsing for OSM * add poi_category_townhall * Fix popup closing when favorites items are updated * Revert "Fix popup closing when favorites items are updated" This reverts commit fc517fd066c7f8109b6d6df2d4f536af66398207. * Fork AndroidAddressFormatter to `:libs:address-formatter` * migrate `:libs:address-formatter` dependencies to version catalog and update them * also consider addr:{suburb,hamlet} for `Address.city` if city tag is missing * Move poi strings back to strings.xml * Update Jetpack Compose * Move address-formatter back to its original package, add license and readme * Move address-formatter back to its original package --------- Co-authored-by: MM20 <15646950+MM2-0@users.noreply.github.com>
156 lines
5.5 KiB
Plaintext
156 lines
5.5 KiB
Plaintext
plugins {
|
|
alias(libs.plugins.android.library)
|
|
alias(libs.plugins.kotlin.android)
|
|
alias(libs.plugins.kotlin.plugin.compose)
|
|
}
|
|
|
|
android {
|
|
compileSdk = libs.versions.compileSdk.get().toInt()
|
|
|
|
packaging {
|
|
resources.excludes.add("META-INF/DEPENDENCIES")
|
|
}
|
|
|
|
defaultConfig {
|
|
minSdk = libs.versions.minSdk.get().toInt()
|
|
|
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
|
consumerProguardFiles("consumer-rules.pro")
|
|
signingConfig = signingConfigs.getByName("debug")
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
proguardFiles(
|
|
getDefaultProguardFile("proguard-android-optimize.txt"),
|
|
"proguard-rules.pro"
|
|
)
|
|
}
|
|
create("nightly") {
|
|
initWith(getByName("release"))
|
|
matchingFallbacks += "release"
|
|
}
|
|
}
|
|
compileOptions {
|
|
sourceCompatibility = JavaVersion.VERSION_1_8
|
|
targetCompatibility = JavaVersion.VERSION_1_8
|
|
}
|
|
|
|
kotlinOptions {
|
|
jvmTarget = "1.8"
|
|
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",
|
|
"-opt-in=androidx.compose.foundation.layout.ExperimentalLayoutApi",
|
|
"-opt-in=androidx.compose.material.ExperimentalMaterialApi",
|
|
"-opt-in=androidx.compose.material3.ExperimentalMaterial3Api",
|
|
"-opt-in=androidx.compose.animation.graphics.ExperimentalAnimationGraphicsApi",
|
|
"-opt-in=androidx.compose.animation.ExperimentalAnimationApi",
|
|
"-opt-in=com.google.accompanist.pager.ExperimentalPagerApi",
|
|
"-opt-in=androidx.compose.animation.ExperimentalSharedTransitionApi",
|
|
)
|
|
}
|
|
|
|
buildFeatures {
|
|
// Enables Jetpack Compose for this module
|
|
compose = true
|
|
viewBinding = true
|
|
}
|
|
|
|
lint {
|
|
abortOnError = false
|
|
}
|
|
namespace = "de.mm20.launcher2.ui"
|
|
}
|
|
|
|
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)
|
|
implementation(libs.androidx.compose.material)
|
|
implementation(libs.androidx.compose.material3)
|
|
implementation(libs.androidx.compose.materialicons)
|
|
implementation(libs.androidx.compose.animation)
|
|
implementation(libs.androidx.compose.animationgraphics)
|
|
|
|
implementation(libs.androidx.navigation.compose)
|
|
|
|
implementation(libs.jsoup)
|
|
implementation(libs.markdown)
|
|
|
|
// Legacy dependencies
|
|
implementation(libs.androidx.transition)
|
|
|
|
implementation(libs.accompanist.systemuicontroller)
|
|
implementation(libs.accompanist.pager)
|
|
implementation(libs.accompanist.pagerindicators)
|
|
implementation(libs.accompanist.flowlayout)
|
|
implementation(libs.accompanist.navigationanimation)
|
|
|
|
implementation(libs.androidx.core)
|
|
implementation(libs.androidx.activitycompose)
|
|
implementation(libs.bundles.androidx.lifecycle)
|
|
|
|
implementation(libs.androidx.appcompat)
|
|
implementation(libs.androidx.browser)
|
|
|
|
implementation(libs.androidx.lifecycle.viewmodelcompose)
|
|
implementation(libs.androidx.lifecycle.runtimecompose)
|
|
|
|
implementation(libs.jsoup)
|
|
|
|
implementation(libs.koin.android)
|
|
implementation(libs.koin.androidxcompose)
|
|
|
|
implementation(libs.coil.core)
|
|
implementation(libs.coil.compose)
|
|
|
|
implementation(libs.emoji4j)
|
|
|
|
implementation(project(":libs:material-color-utilities"))
|
|
|
|
implementation(project(":core:base"))
|
|
implementation(project(":core:i18n"))
|
|
implementation(project(":core:compat"))
|
|
implementation(project(":core:ktx"))
|
|
implementation(project(":services:icons"))
|
|
implementation(project(":services:music"))
|
|
implementation(project(":services:tags"))
|
|
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"))
|
|
implementation(project(":data:searchable"))
|
|
implementation(project(":data:themes"))
|
|
implementation(project(":data:wikipedia"))
|
|
implementation(project(":services:badges"))
|
|
implementation(project(":core:crashreporter"))
|
|
implementation(project(":data:notifications"))
|
|
implementation(project(":data:contacts"))
|
|
implementation(project(":data:locations"))
|
|
implementation(project(":core:permissions"))
|
|
implementation(project(":data:websites"))
|
|
implementation(project(":data:unitconverter"))
|
|
implementation(project(":libs:nextcloud"))
|
|
implementation(project(":libs:g-services"))
|
|
implementation(project(":libs:owncloud"))
|
|
implementation(project(":services:accounts"))
|
|
implementation(project(":services:plugins"))
|
|
implementation(project(":services:backup"))
|
|
implementation(project(":data:search-actions"))
|
|
implementation(project(":services:global-actions"))
|
|
implementation(project(":services:widgets"))
|
|
implementation(project(":services:favorites"))
|
|
implementation(project(":core:devicepose"))
|
|
} |