mirror of
https://github.com/JustinZeus/Wholphin.git
synced 2026-07-08 15:50:16 +02:00
Add support for Android TV 6 & 7.0 (#350)
Adds support for Android TV 6.0 & 7.0 by reduce the min SDK to 23. Going below 23 isn't practical since new releases of Jetpack libs require 23+. Also includes some clean up for better gradle syncs & actually use the datetime APIs available from desugaring on older versions. Needs more testing before merge Closes #341
This commit is contained in:
parent
eca3268a7d
commit
258c50a95e
3 changed files with 26 additions and 54 deletions
|
|
@ -1,7 +1,7 @@
|
|||
import com.google.protobuf.gradle.id
|
||||
import com.mikepenz.aboutlibraries.plugin.DuplicateMode
|
||||
import com.mikepenz.aboutlibraries.plugin.DuplicateRule
|
||||
import java.io.ByteArrayOutputStream
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import java.util.Base64
|
||||
import java.util.Properties
|
||||
|
||||
|
|
@ -21,31 +21,17 @@ val isCI = if (System.getenv("CI") != null) System.getenv("CI").toBoolean() else
|
|||
val shouldSign = isCI && System.getenv("KEY_ALIAS") != null
|
||||
val ffmpegModuleExists = project.file("libs/lib-decoder-ffmpeg-release.aar").exists()
|
||||
|
||||
fun getVersionCode(): Int {
|
||||
val stdout = ByteArrayOutputStream()
|
||||
exec {
|
||||
commandLine = listOf("git", "tag", "--list", "v*", "p*")
|
||||
standardOutput = stdout
|
||||
}
|
||||
return stdout
|
||||
.toString()
|
||||
.trim()
|
||||
.lines()
|
||||
.size
|
||||
}
|
||||
val gitTags =
|
||||
providers
|
||||
.exec { commandLine("git", "tag", "--list", "v*", "p*") }
|
||||
.standardOutput.asText
|
||||
.get()
|
||||
|
||||
fun getAppVersion(): String {
|
||||
val stdout = ByteArrayOutputStream()
|
||||
exec {
|
||||
commandLine = listOf("git", "describe", "--tags", "--long", "--match=v*")
|
||||
standardOutput = stdout
|
||||
}
|
||||
return stdout
|
||||
.toString()
|
||||
.trim()
|
||||
.removePrefix("v")
|
||||
.ifBlank { "0.0.0" }
|
||||
}
|
||||
val gitDescribe =
|
||||
providers
|
||||
.exec { commandLine("git", "describe", "--tags", "--long", "--match=v*") }
|
||||
.standardOutput.asText
|
||||
.getOrElse("v0.0.0")
|
||||
|
||||
android {
|
||||
namespace = "com.github.damontecres.wholphin"
|
||||
|
|
@ -53,10 +39,10 @@ android {
|
|||
|
||||
defaultConfig {
|
||||
applicationId = "com.github.damontecres.wholphin"
|
||||
minSdk = 25
|
||||
minSdk = 23
|
||||
targetSdk = 36
|
||||
versionCode = getVersionCode()
|
||||
versionName = getAppVersion()
|
||||
versionCode = gitTags.trim().lines().size
|
||||
versionName = gitDescribe.trim()
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
|
||||
|
|
@ -79,8 +65,11 @@ android {
|
|||
targetCompatibility = JavaVersion.VERSION_11
|
||||
isCoreLibraryDesugaringEnabled = true
|
||||
}
|
||||
kotlinOptions {
|
||||
jvmTarget = "11"
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget = JvmTarget.JVM_11
|
||||
javaParameters = true
|
||||
}
|
||||
}
|
||||
buildFeatures {
|
||||
buildConfig = true
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package com.github.damontecres.wholphin.ui
|
||||
|
||||
import android.os.Build
|
||||
import androidx.annotation.StringRes
|
||||
import com.github.damontecres.wholphin.R
|
||||
import org.jellyfin.sdk.model.api.BaseItemDto
|
||||
|
|
@ -12,33 +11,17 @@ import java.time.format.FormatStyle
|
|||
import java.util.Locale
|
||||
|
||||
val TimeFormatter: DateTimeFormatter = DateTimeFormatter.ofLocalizedTime(FormatStyle.SHORT)
|
||||
val DateFormatter: DateTimeFormatter = DateTimeFormatter.ofPattern("MMM d, yyyy")
|
||||
|
||||
// TODO server returns in UTC, but sdk converts to local time
|
||||
// eg 2020-02-14T00:00:00.0000000Z => 2020-02-13T17:00:00 PT => Feb 13, 2020
|
||||
|
||||
/**
|
||||
* Format a [LocalDateTime] as `Aug 24, 2000`
|
||||
*/
|
||||
fun formatDateTime(dateTime: LocalDateTime): String =
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
// TODO server returns in UTC, but sdk converts to local time
|
||||
// eg 2020-02-14T00:00:00.0000000Z => 2020-02-13T17:00:00 PT => Feb 13, 2020
|
||||
val formatter = DateTimeFormatter.ofPattern("MMM d, yyyy")
|
||||
formatter.format(dateTime)
|
||||
} else if (dateTime.toString().length >= 10) {
|
||||
dateTime.toString().substring(0, 10)
|
||||
} else {
|
||||
dateTime.toString()
|
||||
}
|
||||
fun formatDateTime(dateTime: LocalDateTime): String = DateFormatter.format(dateTime)
|
||||
|
||||
fun formatDate(dateTime: LocalDate): String =
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
// TODO server returns in UTC, but sdk converts to local time
|
||||
// eg 2020-02-14T00:00:00.0000000Z => 2020-02-13T17:00:00 PT => Feb 13, 2020
|
||||
val formatter = DateTimeFormatter.ofPattern("MMM d, yyyy")
|
||||
formatter.format(dateTime)
|
||||
} else if (dateTime.toString().length >= 10) {
|
||||
dateTime.toString().substring(0, 10)
|
||||
} else {
|
||||
dateTime.toString()
|
||||
}
|
||||
fun formatDate(dateTime: LocalDate): String = DateFormatter.format(dateTime)
|
||||
|
||||
/**
|
||||
* If the item has season & episode info, format as `S# E#`
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue