mirror of
https://github.com/home-assistant/android
synced 2024-10-15 20:43:06 +00:00
b0ad11d04f
* Add location history (location, trigger, result) - Initial setup saving data, no UI, cleanup or preferences yet * On/off setting, limit history size and basic UI - Add a on/off setting for location history (default on) - Limit the history size to 48 hours, any older entries will be deleted during regular sensor updates - Add a basic UI for location history based on paging considering the possible data size with multiserver/high accuracy. The list looks good and shows status at a glance, detail view still needs work. * Finish expanded UI - Make the expanded UI nicer and show relevant data, buttons for opening the location in a maps app and sharing log data - Add empty states for location history * Filter by state, improve list speed - Add option to filter by state - Simplify Room configuration and sort by indexed ID to improve list loading speed * Remove duplicate source * Fix minimal * Split sent into sent and failed to send
83 lines
2.3 KiB
Plaintext
83 lines
2.3 KiB
Plaintext
plugins {
|
|
alias(libs.plugins.android.library)
|
|
alias(libs.plugins.kotlin.android)
|
|
alias(libs.plugins.kotlin.kapt)
|
|
alias(libs.plugins.ksp)
|
|
alias(libs.plugins.hilt)
|
|
}
|
|
|
|
val homeAssistantAndroidPushUrl: String by project
|
|
val homeAssistantAndroidRateLimitUrl: String by project
|
|
|
|
val versionName = project.version.toString()
|
|
val versionCode = System.getenv("VERSION_CODE")?.toIntOrNull() ?: 1
|
|
|
|
android {
|
|
namespace = "io.homeassistant.companion.android.common"
|
|
|
|
compileSdk = libs.versions.androidSdk.compile.get().toInt()
|
|
|
|
defaultConfig {
|
|
minSdk = libs.versions.androidSdk.min.get().toInt()
|
|
buildConfigField("String", "PUSH_URL", "\"$homeAssistantAndroidPushUrl\"")
|
|
buildConfigField("String", "RATE_LIMIT_URL", "\"$homeAssistantAndroidRateLimitUrl\"")
|
|
buildConfigField("String", "VERSION_NAME", "\"$versionName-$versionCode\"")
|
|
|
|
ksp {
|
|
arg("room.schemaLocation", "$projectDir/schemas")
|
|
}
|
|
}
|
|
|
|
kotlinOptions {
|
|
jvmTarget = libs.versions.javaVersion.get()
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility(libs.versions.javaVersion.get())
|
|
targetCompatibility(libs.versions.javaVersion.get())
|
|
}
|
|
|
|
lint {
|
|
abortOnError = false
|
|
disable += "MissingTranslation"
|
|
}
|
|
|
|
kapt {
|
|
correctErrorTypes = true
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation(libs.kotlin.stdlib)
|
|
implementation(libs.kotlin.reflect)
|
|
implementation(libs.kotlinx.coroutines.core)
|
|
|
|
implementation(libs.hilt.android)
|
|
kapt(libs.hilt.android.compiler)
|
|
|
|
implementation(libs.appcompat)
|
|
implementation(libs.androidx.lifecycle.runtime.ktx)
|
|
implementation(libs.androidx.lifecycle.viewmodel.ktx)
|
|
|
|
api(libs.androidx.room.runtime)
|
|
api(libs.androidx.room.ktx)
|
|
api(libs.androidx.room.paging)
|
|
ksp(libs.androidx.room.compiler)
|
|
|
|
api(libs.androidx.work.runtime.ktx)
|
|
|
|
api(libs.retrofit)
|
|
implementation(libs.converter.jackson)
|
|
implementation(libs.okhttp)
|
|
implementation(libs.logging.interceptor)
|
|
implementation(libs.jackson.module.kotlin)
|
|
implementation(libs.android.beacon.library)
|
|
|
|
implementation(libs.iconics.core)
|
|
implementation(libs.community.material.typeface)
|
|
|
|
implementation(libs.emojiJava) {
|
|
exclude(group = "org.json", module = "json")
|
|
}
|
|
}
|