forked from geode-sdk/android-launcher
invert version selection
This commit is contained in:
1 file changed
+13
-9
@@ -95,6 +95,17 @@ class ReleaseManager private constructor(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun mapSelectedReleaseToTag(): String {
|
||||||
|
val sharedPreferences = PreferenceUtils.get(applicationContext)
|
||||||
|
val releaseChannel = sharedPreferences.getInt(PreferenceUtils.Key.RELEASE_CHANNEL_TAG)
|
||||||
|
|
||||||
|
return when (releaseChannel) {
|
||||||
|
2 -> "nightly"
|
||||||
|
1 -> TAG_BETA
|
||||||
|
else -> TAG_LATEST
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun getBestReleaseForGameVersion(): String? {
|
private fun getBestReleaseForGameVersion(): String? {
|
||||||
if (!GamePackageUtils.isGameInstalled(applicationContext.packageManager)) {
|
if (!GamePackageUtils.isGameInstalled(applicationContext.packageManager)) {
|
||||||
return null
|
return null
|
||||||
@@ -103,7 +114,7 @@ class ReleaseManager private constructor(
|
|||||||
val gameVersion = GamePackageUtils.getGameVersionCode(applicationContext.packageManager)
|
val gameVersion = GamePackageUtils.getGameVersionCode(applicationContext.packageManager)
|
||||||
|
|
||||||
return when {
|
return when {
|
||||||
gameVersion >= 39L -> TAG_LATEST
|
gameVersion >= 39L -> mapSelectedReleaseToTag()
|
||||||
gameVersion == 38L -> "v2.0.0-beta.27"
|
gameVersion == 38L -> "v2.0.0-beta.27"
|
||||||
gameVersion == 37L -> "v2.0.0-beta.5"
|
gameVersion == 37L -> "v2.0.0-beta.5"
|
||||||
else -> null
|
else -> null
|
||||||
@@ -111,14 +122,7 @@ class ReleaseManager private constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private suspend fun getLatestRelease(): Release? {
|
private suspend fun getLatestRelease(): Release? {
|
||||||
val sharedPreferences = PreferenceUtils.get(applicationContext)
|
val targetTag = getBestReleaseForGameVersion() ?: return null
|
||||||
val releaseChannel = sharedPreferences.getInt(PreferenceUtils.Key.RELEASE_CHANNEL_TAG)
|
|
||||||
|
|
||||||
val targetTag = when (releaseChannel) {
|
|
||||||
2 -> "nightly"
|
|
||||||
1 -> TAG_BETA
|
|
||||||
else -> getBestReleaseForGameVersion()
|
|
||||||
} ?: return null
|
|
||||||
|
|
||||||
return when (targetTag) {
|
return when (targetTag) {
|
||||||
TAG_LATEST -> releaseRepository.getLatestGeodeRelease()
|
TAG_LATEST -> releaseRepository.getLatestGeodeRelease()
|
||||||
|
|||||||
Reference in new issue
Block a user