mirror of
https://github.com/szkolny-eu/szkolny-android.git
synced 2024-11-24 19:04:38 -06:00
[App] Implement BuildManager.
This commit is contained in:
parent
06407ee439
commit
1af65de548
@ -67,6 +67,7 @@ class App : MultiDexApplication(), Configuration.Provider, CoroutineScope {
|
|||||||
val eventManager by lazy { EventManager(this) }
|
val eventManager by lazy { EventManager(this) }
|
||||||
val permissionManager by lazy { PermissionManager(this) }
|
val permissionManager by lazy { PermissionManager(this) }
|
||||||
val attendanceManager by lazy { AttendanceManager(this) }
|
val attendanceManager by lazy { AttendanceManager(this) }
|
||||||
|
val buildManager by lazy { BuildManager(this) }
|
||||||
|
|
||||||
val db
|
val db
|
||||||
get() = App.db
|
get() = App.db
|
||||||
|
@ -0,0 +1,54 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) Kuba Szczodrzyński 2021-3-27.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package pl.szczodrzynski.edziennik.utils.managers
|
||||||
|
|
||||||
|
import pl.szczodrzynski.edziennik.App
|
||||||
|
import pl.szczodrzynski.edziennik.BuildConfig
|
||||||
|
import pl.szczodrzynski.edziennik.data.api.szkolny.interceptor.Signing
|
||||||
|
import pl.szczodrzynski.edziennik.md5
|
||||||
|
|
||||||
|
class BuildManager(val app: App) {
|
||||||
|
|
||||||
|
val buildFlavor = BuildConfig.FLAVOR
|
||||||
|
val buildType = BuildConfig.BUILD_TYPE
|
||||||
|
val buildTimestamp = BuildConfig.BUILD_TIMESTAMP
|
||||||
|
val isRelease = !BuildConfig.DEBUG
|
||||||
|
val isDebug = BuildConfig.DEBUG
|
||||||
|
val isNightly = BuildConfig.VERSION_NAME.contains("nightly")
|
||||||
|
val isDaily = BuildConfig.VERSION_NAME.contains("daily")
|
||||||
|
|
||||||
|
val gitHash = BuildConfig.GIT_INFO["hash"]
|
||||||
|
val gitVersion = BuildConfig.GIT_INFO["version"]
|
||||||
|
val gitBranch = BuildConfig.GIT_INFO["branch"]
|
||||||
|
val gitUnstaged = BuildConfig.GIT_INFO["unstaged"]?.split("; ")
|
||||||
|
val gitRevCount = BuildConfig.GIT_INFO["revCount"]
|
||||||
|
val gitTag = BuildConfig.GIT_INFO["tag"]
|
||||||
|
val gitIsDirty = BuildConfig.GIT_INFO["dirty"] !== "false"
|
||||||
|
val gitRemotes = BuildConfig.GIT_INFO["remotes"]?.split("; ")
|
||||||
|
|
||||||
|
val isSigned = Signing.appCertificate.md5() == "d8bab5259fda7d72121fe5db526a3d4d"
|
||||||
|
|
||||||
|
val isPlayRelease = isRelease && buildFlavor == "play"
|
||||||
|
val isApkRelease = isRelease && buildFlavor == "official"
|
||||||
|
val isOfficial = isSigned && (isPlayRelease || isApkRelease)
|
||||||
|
|
||||||
|
val versionName = when {
|
||||||
|
isOfficial -> BuildConfig.VERSION_NAME + ", " + BuildConfig.BUILD_TYPE
|
||||||
|
isRelease -> "$gitVersion\n$gitBranch"
|
||||||
|
else -> BuildConfig.VERSION_NAME
|
||||||
|
}
|
||||||
|
|
||||||
|
val versionBadge = when {
|
||||||
|
isOfficial && isNightly ->
|
||||||
|
"Nightly\n" + BuildConfig.VERSION_NAME.substringAfterLast('.')
|
||||||
|
isOfficial && isDaily ->
|
||||||
|
"Daily\n" + BuildConfig.VERSION_NAME.substringAfterLast('.')
|
||||||
|
isDebug ->
|
||||||
|
"Debug\n" + BuildConfig.VERSION_BASE
|
||||||
|
!isOfficial ->
|
||||||
|
"Unofficial\n" + BuildConfig.VERSION_BASE
|
||||||
|
else -> null
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user