Skip to content

Commit 507d7d3

Browse files
committed
.
1 parent efeb453 commit 507d7d3

File tree

11 files changed

+59
-33
lines changed

11 files changed

+59
-33
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.dergoogler.mmrl.webui.model
2+
3+
import android.content.pm.PackageInfo
4+
5+
data class RequireNewVersion(
6+
val required: Boolean,
7+
val supportLink: String?,
8+
val supportText: String?,
9+
val packageInfo: PackageInfo,
10+
val requiredCode: Int
11+
) {
12+
}

webui/src/main/kotlin/com/dergoogler/mmrl/webui/screen/WebUIScreen.kt

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ fun WebUIScreen(
223223
}
224224

225225

226-
if (options.requireNewAppVersion) {
226+
if (options.requireNewAppVersion?.required == true) {
227227
loadData(
228228
getRequireNewVersion(context, options), "text/html", "UTF-8"
229229
)
@@ -245,6 +245,12 @@ fun getRequireNewVersion(
245245
context: Context,
246246
options: WebUIOptions,
247247
) = buildString {
248+
val rq = options.requireNewAppVersion
249+
val supportText = rq?.supportText
250+
val supportLink = rq?.supportLink
251+
val requiredCode = rq?.requiredCode
252+
val appName = rq?.packageInfo?.applicationInfo?.loadLabel(context.packageManager).toString()
253+
248254
appendHTML().html {
249255
lang = "en"
250256
head {
@@ -255,15 +261,15 @@ fun getRequireNewVersion(
255261
}
256262
link {
257263
rel = "stylesheet"
258-
href = "${options.domain}/mmrl/insets.css"
264+
href = "${options.domain}/internal/insets.css"
259265
}
260266
link {
261267
rel = "stylesheet"
262-
href = "${options.domain}/mmrl/colors.css"
268+
href = "${options.domain}/internal/colors.css"
263269
}
264270
link {
265271
rel = "stylesheet"
266-
href = "${options.domain}/mmrl/assets/webui/requireNewVersion.css"
272+
href = "${options.domain}/internal/assets/webui/requireNewVersion.css"
267273
}
268274
title { +"New App Version Required" }
269275
}
@@ -274,27 +280,29 @@ fun getRequireNewVersion(
274280
div {
275281
b { +options.modId.id }
276282
+" "
277-
+context.getString(R.string.requireNewVersion_require_text)
283+
+context.getString(R.string.requireNewVersion_require_text, appName)
278284
+" "
279-
i { +options.config.require.version.required.toString() }
285+
i { +requiredCode.toString() }
280286
}
281287
div(classes = "list") {
282288
span { +context.getString(R.string.requireNewVersion_try_the_following) }
283289
ul {
284-
li { +context.getString(R.string.requireNewVersion_try_the_following_one) }
290+
li {
291+
+context.getString(
292+
R.string.requireNewVersion_try_the_following_one,
293+
appName
294+
)
295+
}
285296
li { +context.getString(R.string.requireNewVersion_try_the_following_two) }
286297
}
287298
}
288-
div(classes = "code") { +"ERR_NEW_MMRL_REQUIRED" }
299+
div(classes = "code") { +"ERR_NEW_WX_VERSION_REQUIRED" }
289300
div(classes = "buttons") {
290301
button(classes = "refresh") {
291302
onClick = "location.reload();"
292303
+context.getString(R.string.requireNewVersion_refresh)
293304
}
294305

295-
val supportLink = options.config.require.version.supportLink
296-
val supportText = options.config.require.version.supportText
297-
298306
if (supportLink != null && supportText != null) {
299307
button(classes = "more") {
300308
attributes["onclick"] = "window.open('$supportLink');"

webui/src/main/kotlin/com/dergoogler/mmrl/webui/util/rememberWebUIOptions.kt

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package com.dergoogler.mmrl.webui.util
22

33
import android.content.Context
44
import android.content.pm.PackageInfo
5-
import android.os.Build
65
import android.util.Log
76
import androidx.compose.runtime.Composable
87
import androidx.compose.runtime.getValue
@@ -13,6 +12,7 @@ import androidx.core.content.pm.PackageInfoCompat
1312
import com.dergoogler.mmrl.platform.Platform
1413
import com.dergoogler.mmrl.platform.file.SuFile
1514
import com.dergoogler.mmrl.platform.model.ModId
15+
import com.dergoogler.mmrl.webui.model.RequireNewVersion
1616
import com.dergoogler.mmrl.webui.webUiConfig
1717
import java.net.URI
1818

@@ -123,11 +123,11 @@ data class WebUIOptions(
123123
}
124124
}
125125

126-
val requireNewAppVersion: Boolean
126+
val requireNewAppVersion: RequireNewVersion?
127127
get() {
128128
if (currentPackageInfo == null) {
129129
Log.d(TAG, "currentPackageInfo is null")
130-
return false
130+
return null
131131
}
132132

133133
val packageName = currentPackageInfo!!.packageName
@@ -139,10 +139,16 @@ data class WebUIOptions(
139139

140140
if (findPkgFromCfg == null) {
141141
Log.d(TAG, "Package $packageName not found in config")
142-
return false
142+
return null
143143
}
144144

145-
return versionCode < findPkgFromCfg.code
145+
return RequireNewVersion(
146+
required = versionCode < findPkgFromCfg.code,
147+
requiredCode = findPkgFromCfg.code,
148+
supportLink = findPkgFromCfg.supportLink,
149+
supportText = findPkgFromCfg.supportText,
150+
packageInfo = currentPackageInfo!!
151+
)
146152
}
147153

148154
val domainUrl
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<resources>
3-
<string name="requireNewVersion_require_text">نیازمند MMRL نگارش &gt;=</string>
3+
<string name="requireNewVersion_require_text">نیازمند %1$s نگارش &gt;=</string>
44
<string name="requireNewVersion_cannot_load_webui">نمی‌توان رابط کاربری وب را بارگذاری کرد</string>
55
<string name="requireNewVersion_try_the_following">موارد زیر را امتحان کنید:</string>
6-
<string name="requireNewVersion_try_the_following_one">MMRL را به آخرین نگارش در گوگل‌پلی یا انتشارهای گیت‌هاب به‌روزرسانی کنید.</string>
6+
<string name="requireNewVersion_try_the_following_one">%1$s را به آخرین نگارش در گوگل‌پلی یا انتشارهای گیت‌هاب به‌روزرسانی کنید.</string>
77
<string name="requireNewVersion_try_the_following_two">برای پیدا کردن راه‌حل ممکن با توسعه‌دهنده ماژول تماس بگیرید.</string>
88
<string name="requireNewVersion_refresh">تازه‌سازی</string>
99
</resources>

webui/src/main/res/values-in/strings_webui.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
<resources>
33
<string name="requireNewVersion_cannot_load_webui">Tidak dapat memuat WebUI</string>
44
<string name="requireNewVersion_try_the_following">Cobalah hal berikut ini:</string>
5-
<string name="requireNewVersion_try_the_following_one">Perbarui MMRL ke versi terbaru dari Google Play atau GitHub Releases.</string>
5+
<string name="requireNewVersion_try_the_following_one">Perbarui %1$s ke versi terbaru dari Google Play atau GitHub Releases.</string>
66
<string name="requireNewVersion_try_the_following_two">Hubungi pengembang modul untuk solusi sementara.</string>
77
<string name="requireNewVersion_refresh">Muat ulang</string>
8-
<string name="requireNewVersion_require_text">membutuhkan versi MMRL sekurang-kurangnya &gt;=</string>
8+
<string name="requireNewVersion_require_text">membutuhkan versi %1$s sekurang-kurangnya &gt;=</string>
99
</resources>

webui/src/main/res/values-ja/strings_webui.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<string name="requireNewVersion_cannot_load_webui">WebUI を読み込めません</string>
44
<string name="requireNewVersion_refresh">更新</string>
55
<string name="requireNewVersion_try_the_following">次のことをお試しください:</string>
6-
<string name="requireNewVersion_require_text">最低限必要: 最新の MMRL &gt;=</string>
7-
<string name="requireNewVersion_try_the_following_one">Google Play または GitHub のリリースから MMRL を最新バージョンに更新する。</string>
6+
<string name="requireNewVersion_require_text">最低限必要: 最新の %1$s &gt;=</string>
7+
<string name="requireNewVersion_try_the_following_one">Google Play または GitHub のリリースから %1$s を最新バージョンに更新する。</string>
88
<string name="requireNewVersion_try_the_following_two">回避策については、モジュールの開発者にお問い合わせください。</string>
99
</resources>

webui/src/main/res/values-lv/strings_webui.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<resources>
33
<string name="requireNewVersion_cannot_load_webui">Nevar ielādēt WebUI</string>
4-
<string name="requireNewVersion_require_text">nepieciešams vismaz MMRL &gt;=</string>
5-
<string name="requireNewVersion_try_the_following_one">Atjauniniet MMRL uz jaunāko versiju Google veikalā vai lejupielādējot no GitHub izlaidumu vietnes.</string>
4+
<string name="requireNewVersion_require_text">nepieciešams vismaz %1$s &gt;=</string>
5+
<string name="requireNewVersion_try_the_following_one">Atjauniniet %1$s uz jaunāko versiju Google veikalā vai lejupielādējot no GitHub izlaidumu vietnes.</string>
66
<string name="requireNewVersion_try_the_following_two">Lai atrastu iespējamo risinājumu, sazinieties ar moduļa izstrādātāju.</string>
77
<string name="requireNewVersion_refresh">Atsvaidzināt</string>
88
<string name="requireNewVersion_try_the_following">Izmēģiniet sekojošo:</string>
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<resources>
33
<string name="requireNewVersion_cannot_load_webui">Nie można załadować WebUI</string>
4-
<string name="requireNewVersion_require_text">wymaga co najmniej MMRL &gt;=</string>
4+
<string name="requireNewVersion_require_text">wymaga co najmniej %1$s &gt;=</string>
55
<string name="requireNewVersion_try_the_following">Wypróbuj poniższe rozwiązanie:</string>
6-
<string name="requireNewVersion_try_the_following_one">Zaktualizuj MMRL do najnowszej wersji, pobierając ją ze sklepu Google Play lub GitHub Releases.</string>
6+
<string name="requireNewVersion_try_the_following_one">Zaktualizuj %1$s do najnowszej wersji, pobierając ją ze sklepu Google Play lub GitHub Releases.</string>
77
<string name="requireNewVersion_try_the_following_two">Skontaktuj się z twórcą modułu, aby znaleźć możliwe obejście problemu.</string>
88
<string name="requireNewVersion_refresh">Odśwież</string>
99
</resources>
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<resources>
33
<string name="requireNewVersion_try_the_following">Попробуйте сделать следующее:</string>
4-
<string name="requireNewVersion_try_the_following_one">Обновите MMRL до последней версии с Google Play или GitHub Releases.</string>
4+
<string name="requireNewVersion_try_the_following_one">Обновите %1$s до последней версии с Google Play или GitHub Releases.</string>
55
<string name="requireNewVersion_cannot_load_webui">Невозможно загрузить WebUI</string>
6-
<string name="requireNewVersion_require_text">требуется как минимум MMRL &gt;=</string>
6+
<string name="requireNewVersion_require_text">требуется как минимум %1$s &gt;=</string>
77
<string name="requireNewVersion_try_the_following_two">Обратитесь к разработчику модуля, чтобы узнать о возможном обходном пути.</string>
88
<string name="requireNewVersion_refresh">Обновить</string>
99
</resources>
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<resources>
33
<string name="requireNewVersion_cannot_load_webui">无法加载 WebUI</string>
4-
<string name="requireNewVersion_require_text">至少需要 MMRL &gt;=</string>
4+
<string name="requireNewVersion_require_text">至少需要 %1$s &gt;=</string>
55
<string name="requireNewVersion_try_the_following">请尝试:</string>
6-
<string name="requireNewVersion_try_the_following_one">从 Google Play 或 Github Releases 中更新 MMRL</string>
6+
<string name="requireNewVersion_try_the_following_one">从 Google Play 或 Github Releases 中更新 %1$s</string>
77
<string name="requireNewVersion_try_the_following_two">联系模块开发者获取可能的解决方案</string>
88
<string name="requireNewVersion_refresh">刷新</string>
99
</resources>

0 commit comments

Comments
 (0)