Skip to content

Commit b16cb86

Browse files
committed
Chore: Add LldAndError class
Signed-off-by: imknown <imknown@qq.com>
1 parent aaf660d commit b16cb86

1 file changed

Lines changed: 10 additions & 8 deletions

File tree

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

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import net.imknown.android.forefrontinfo.ui.common.toObjectOrThrow
2121
import net.imknown.android.forefrontinfo.ui.home.model.Lld
2222
import net.imknown.android.forefrontinfo.ui.home.repository.HomeRepository
2323

24-
private typealias LldAndError = Pair<Lld?, String?>
24+
private data class LldAndError(val lld: Lld?, val message: String?)
2525

2626
class HomeViewModel(
2727
private val homeRepository: HomeRepository,
@@ -86,8 +86,8 @@ class HomeViewModel(
8686

8787
private suspend fun tryDetectOffline(errorMessage: String?): List<MyModel> {
8888
val lldAndError = fetchOfflineLldOrNull()
89-
val errorMessages = listOf(errorMessage, lldAndError.second)
90-
return detect(lldAndError.first, errorMessages, R.string.lld_json_offline)
89+
val errorMessages = listOf(errorMessage, lldAndError.message)
90+
return detect(lldAndError.lld, errorMessages, R.string.lld_json_offline)
9191
}
9292

9393
private suspend fun fetchOfflineLldOrNull(): LldAndError {
@@ -102,21 +102,23 @@ class HomeViewModel(
102102

103103
val errorMessage = errorMessage(R.string.lld_json_save_failed, e)
104104

105-
return lld to errorMessage
105+
return LldAndError(lld, errorMessage)
106106
}
107107

108108
val lldAndError = try {
109-
withContext(Dispatchers.IO) {
109+
val lld = withContext(Dispatchers.IO) {
110110
homeRepository.fetchOfflineLldFileOrThrow().toObjectOrThrow<Lld>()
111-
} to null
111+
}
112+
113+
LldAndError(lld, null)
112114
} catch (e: Exception) {
113115
val lld = withContext(Dispatchers.IO) {
114116
LldManager.getAssetLld(MyApplication.instance.assets)
115117
}
116118

117119
val errorMessage = errorMessage(R.string.lld_json_parse_failed, e)
118120

119-
lld to errorMessage
121+
LldAndError(lld, errorMessage)
120122
}
121123

122124
return lldAndError
@@ -173,7 +175,7 @@ class HomeViewModel(
173175
return
174176
}
175177

176-
val lld = fetchOfflineLldOrNull().first
178+
val lld = fetchOfflineLldOrNull().lld
177179
?: return
178180
myModels.last().detail = withContext(Dispatchers.Default) {
179181
homeRepository.getOutdatedTargetSdkVersionApkModel(lld).detail

0 commit comments

Comments
 (0)