Skip to content

Commit b1f81e5

Browse files
committed
Chore: Improve SDK Extension
Signed-off-by: imknown <imknown@qq.com>
1 parent 2fecd0f commit b1f81e5

6 files changed

Lines changed: 33 additions & 17 deletions

File tree

app/src/main/java/net/imknown/android/forefrontinfo/ui/home/HomeViewModel.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@ class HomeViewModel(
141141

142142
withContext(Dispatchers.Default) {
143143
tempModels += homeRepository.detectAndroid(lld)
144+
tempModels += homeRepository.detectSdkExtension(lld)
144145
tempModels += homeRepository.detectBuildId(lld)
145146
tempModels += homeRepository.detectSecurityPatches(lld)
146147
tempModels += homeRepository.detectPerformanceClass()

app/src/main/java/net/imknown/android/forefrontinfo/ui/home/repository/HomeRepository.kt

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ import net.imknown.android.forefrontinfo.ui.common.sdkIntFull
4444
import net.imknown.android.forefrontinfo.ui.home.datasource.AndroidDataSource
4545
import net.imknown.android.forefrontinfo.ui.home.datasource.LldDataSource
4646
import net.imknown.android.forefrontinfo.ui.home.datasource.MountDataSource
47-
import net.imknown.android.forefrontinfo.ui.home.model.EXTENSION_NONE
4847
import net.imknown.android.forefrontinfo.ui.home.model.Lld
4948
import net.imknown.android.forefrontinfo.ui.settings.datasource.AppInfoDataSource
5049
import java.io.File
@@ -108,24 +107,15 @@ class HomeRepository(
108107
myNameAndDessert += " (Go)"
109108
}
110109

111-
var mine = MyApplication.getMyString(R.string.android_info, myNameAndDessert, myApiFull)
112-
113-
var myExtension = EXTENSION_NONE
114-
if (isAtLeastStableAndroid11()) {
115-
myExtension = getSdkExtension(Build.VERSION.SDK_INT)
116-
mine += "\n" + MyApplication.getMyString(R.string.android_info_sdk_extension,myExtension)
117-
}
110+
val mine = MyApplication.getMyString(R.string.android_info, myNameAndDessert, myApiFull)
118111
// endregion [Mine]
119112

120113
fun oneLine(android: Lld.Androids.Android) =
121114
MyApplication.getMyString(R.string.android_info, android.version, android.apiFull)
122115

123116
val lldAndroid = lld.android
124117

125-
var latestStable = oneLine(lldAndroid.stable)
126-
if (isAtLeastStableAndroid11()) {
127-
latestStable += "\n" + MyApplication.getMyString(R.string.android_info_sdk_extension,lldAndroid.stable.extension) + "\n"
128-
}
118+
val latestStable = oneLine(lldAndroid.stable)
129119
val lowestSupport = oneLine(lldAndroid.support)
130120
val stablePreview = oneLine(lldAndroid.stablePreview) // Beta
131121
val latestPreview = oneLine(lldAndroid.preview) // Canary
@@ -134,7 +124,7 @@ class HomeRepository(
134124
val infoDetailArgs = arrayOf(mine, latestStable, lowestSupport, stablePreview, latestPreview, latestInternal)
135125

136126
@AttrRes val color = when {
137-
(isLatestStableAndroid(lld) || isLatestPreviewAndroid(lld)) && myExtension >= lldAndroid.stable.extension -> R.attr.colorNoProblem
127+
isLatestStableAndroid(lld) || isLatestPreviewAndroid(lld) -> R.attr.colorNoProblem
138128
isSupportedByUpstreamAndroid(lld) -> R.attr.colorWaring
139129
else -> R.attr.colorCritical
140130
}
@@ -146,6 +136,23 @@ class HomeRepository(
146136
)
147137
}
148138

139+
fun detectSdkExtension(lld: Lld): MyModel {
140+
val lldStableExtension = lld.android.stable.extension
141+
142+
val (myExtension, color) = if (isAtLeastStableAndroid11()) {
143+
val myExtension = getSdkExtension(Build.VERSION.SDK_INT)
144+
val color = myExtension >= lldStableExtension
145+
myExtension to color
146+
} else {
147+
MyApplication.getMyString(R.string.result_not_supported) to false
148+
}
149+
return toColoredMyModel(
150+
MyApplication.getMyString(R.string.android_sdk_extension_title),
151+
MyApplication.getMyString(R.string.android_sdk_extension_detail, myExtension, lldStableExtension),
152+
color
153+
)
154+
}
155+
149156
fun detectBuildId(lld: Lld): MyModel {
150157
val buildIdResult = Build.ID
151158
val systemBuildIdResult = getStringProperty(AndroidDataSource.PROP_RO_SYSTEM_BUILD_ID, isAtLeastStableAndroid9())

app/src/main/java/net/imknown/android/forefrontinfo/ui/home/res/values-fr-rFR/strings.xml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,11 @@
1919
<string name="android_info_title">"Version d'Android"</string>
2020
<string name="android_info">%1$s (API %2$s)</string>
2121
<string name="android_info_preview">Aperçu</string>
22-
<string name="android_info_sdk_extension">Extension SDK: %1$s</string>
2322
<string name="android_info_detail">Moi: %1$s\n\nDernière stable: %2$s\nPlus faible prise en charge: %3$s\nDernière Béta: %4$s\nDernière aperçu: %5$s\nDernière interne: %6$s</string>
2423

24+
<string name="android_sdk_extension_title">Extension SDK</string>
25+
<string name="android_sdk_extension_detail">Moi: %1$s\n\nDernière stable: %2$s</string>
26+
2527
<string name="android_build_id_title">Id de build Android</string>
2628
<string name="android_build_id_detail">Moi: %1$s\nMon system: %2$s\nMon vendor: %3$s\nMon ODM: %4$s\n\nDernière stable: %5$s\n%6$s</string>
2729
<string name="android_build_id">%1$s (%2$s)</string>

app/src/main/java/net/imknown/android/forefrontinfo/ui/home/res/values-zh-rCN/strings.xml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,11 @@
1919
<string name="android_info_title">Android 版本</string>
2020
<string name="android_info">%1$s(API %2$s)</string>
2121
<string name="android_info_preview">预览</string>
22-
<string name="android_info_sdk_extension">SDK 扩展: %1$s</string>
2322
<string name="android_info_detail">我的:%1$s\n\n最新稳定:%2$s\n最低支持:%3$s\n最新 Beta:%4$s\n最新预览:%5$s\n最新内部:%6$s</string>
2423

24+
<string name="android_sdk_extension_title">SDK 扩展</string>
25+
<string name="android_sdk_extension_detail">我的:%1$s\n\n最新稳定:%2$s</string>
26+
2527
<string name="android_build_id_title">Android 构建 id</string>
2628
<string name="android_build_id">%1$s(%2$s)</string>
2729
<string name="android_build_id_detail">我的:%1$s\n我的系统:%2$s\n我的供应商:%3$s\n我的 ODM:%4$s\n\n最新稳定:%5$s\n%6$s</string>

app/src/main/java/net/imknown/android/forefrontinfo/ui/home/res/values-zh-rTW/strings.xml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,11 @@
1919
<string name="android_info_title">Android 版本</string>
2020
<string name="android_info">%1$s(API %2$s)</string>
2121
<string name="android_info_preview">預覽</string>
22-
<string name="android_info_sdk_extension">SDK 擴充: %1$s</string>
2322
<string name="android_info_detail">我的:%1$s\n\n最新穩定:%2$s\n最低支援:%3$s\n最新 Beta:%4$s\n最新預覽:%5$s\n最新內部:%6$s</string>
2423

24+
<string name="android_sdk_extension_title">SDK 擴充</string>
25+
<string name="android_sdk_extension_detail">我的:%1$s\n\n最新穩定:%2$s</string>
26+
2527
<string name="android_build_id_title">Android 構建 ID</string>
2628
<string name="android_build_id">%1$s(%2$s)</string>
2729
<string name="android_build_id_detail">我的:%1$s\n我的系統:%2$s\n我的供應商:%3$s\n我的 ODM:%4$s\n\n最新穩定:%5$s\n%6$s</string>

app/src/main/java/net/imknown/android/forefrontinfo/ui/home/res/values/strings.xml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,11 @@
1919
<string name="android_info_title">Android version</string>
2020
<string name="android_info">%1$s (API %2$s)</string>
2121
<string name="android_info_preview">Preview</string>
22-
<string name="android_info_sdk_extension">SDK Extension: %1$s</string>
2322
<string name="android_info_detail">Mine: %1$s\n\nLatest stable: %2$s\nLowest support: %3$s\nLatest Beta: %4$s\nLatest preview: %5$s\nLatest internal: %6$s</string>
2423

24+
<string name="android_sdk_extension_title">SDK Extension</string>
25+
<string name="android_sdk_extension_detail">Mine: %1$s\n\nLatest stable: %2$s</string>
26+
2527
<string name="android_build_id_title">Android build ids</string>
2628
<string name="android_build_id_detail">Mine: %1$s\nMy system: %2$s\nMy vendor: %3$s\nMy ODM: %4$s\n\nLatest stable: %5$s\n%6$s</string>
2729
<string name="android_build_id">%1$s (%2$s)</string>

0 commit comments

Comments
 (0)