Release GPS2Audio v2.5.44 POI category fix
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
package de.waypointaudio.util
|
||||
|
||||
import android.content.Context
|
||||
import android.content.pm.PackageInfo
|
||||
import android.content.pm.PackageManager
|
||||
import android.os.Build
|
||||
|
||||
/**
|
||||
* Liefert die aktuelle App-Version zur Laufzeit aus dem PackageManager.
|
||||
* Damit muss die Anzeige bei Versions-Updates nicht mehr manuell gepflegt werden.
|
||||
*/
|
||||
data class AppVersionInfo(
|
||||
val versionName: String,
|
||||
val versionCode: Long
|
||||
) {
|
||||
/** Anzeige-Format, z. B. "1.5.2-version-dialog (17)". */
|
||||
val display: String get() = "$versionName ($versionCode)"
|
||||
}
|
||||
|
||||
object AppVersion {
|
||||
fun get(context: Context): AppVersionInfo {
|
||||
val pm = context.packageManager
|
||||
val pkg = context.packageName
|
||||
val info: PackageInfo = try {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
pm.getPackageInfo(pkg, PackageManager.PackageInfoFlags.of(0))
|
||||
} else {
|
||||
@Suppress("DEPRECATION")
|
||||
pm.getPackageInfo(pkg, 0)
|
||||
}
|
||||
} catch (_: PackageManager.NameNotFoundException) {
|
||||
return AppVersionInfo(versionName = "?", versionCode = 0L)
|
||||
}
|
||||
val name = info.versionName ?: "?"
|
||||
val code = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
|
||||
info.longVersionCode
|
||||
} else {
|
||||
@Suppress("DEPRECATION")
|
||||
info.versionCode.toLong()
|
||||
}
|
||||
return AppVersionInfo(versionName = name, versionCode = code)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user