Skip to content

Commit efeb453

Browse files
committed
update config
1 parent 88d7e26 commit efeb453

File tree

2 files changed

+23
-7
lines changed

2 files changed

+23
-7
lines changed

webui/src/main/kotlin/com/dergoogler/mmrl/webui/model/Config.kt

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,24 @@ data class WebUIConfigRequireVersion(
3434
val required: Int = 1,
3535
val supportText: String? = null,
3636
val supportLink: String? = null,
37-
val packages: List<WebUIConfigRequireVersionPackages> = emptyList()
3837
)
3938

4039
@JsonClass(generateAdapter = true)
4140
data class WebUIConfigRequireVersionPackages(
4241
val code: Int = -1,
43-
val packageName: String,
42+
val packageName: Any,
4443
val supportText: String? = null,
4544
val supportLink: String? = null,
46-
)
45+
) {
46+
val packageNames
47+
get(): List<String> {
48+
return when (packageName) {
49+
is String -> listOf(packageName)
50+
is List<*> -> packageName.filterIsInstance<String>()
51+
else -> emptyList()
52+
}
53+
}
54+
}
4755

4856
/**
4957
* Represents the required configuration for the Web UI.
@@ -55,6 +63,7 @@ data class WebUIConfigRequireVersionPackages(
5563
*/
5664
@JsonClass(generateAdapter = true)
5765
data class WebUIConfigRequire(
66+
val packages: List<WebUIConfigRequireVersionPackages> = emptyList(),
5867
val version: WebUIConfigRequireVersion = WebUIConfigRequireVersion(),
5968
)
6069

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

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -106,41 +106,45 @@ data class WebUIOptions(
106106
private val currentPackageInfo: PackageInfo?
107107
get() {
108108
if (packageManager == null) {
109+
Log.d(TAG, "packageManager is null")
109110
return null
110111
}
111112

112113
if (myUserId == null) {
114+
Log.d(TAG, "myUserId is null")
113115
return null
114116
}
115117

116118
try {
117119
return packageManager!!.getPackageInfo(context.packageName, 0, myUserId!!)
118120
} catch (e: Exception) {
119-
Log.e("WebUIOptions", "Error getting package version code: ${e.message}")
121+
Log.e(TAG, "Error getting package version code: ${e.message}")
120122
return null
121123
}
122124
}
123125

124126
val requireNewAppVersion: Boolean
125127
get() {
126128
if (currentPackageInfo == null) {
129+
Log.d(TAG, "currentPackageInfo is null")
127130
return false
128131
}
129132

130133
val packageName = currentPackageInfo!!.packageName
131134
val versionCode = PackageInfoCompat.getLongVersionCode(currentPackageInfo!!)
132135

133-
val findPkgFromCfg =
134-
config.require.version.packages.find { it.packageName == packageName }
136+
val findPkgFromCfg = config.require.packages.find { pkg ->
137+
packageName in pkg.packageNames
138+
}
135139

136140
if (findPkgFromCfg == null) {
141+
Log.d(TAG, "Package $packageName not found in config")
137142
return false
138143
}
139144

140145
return versionCode < findPkgFromCfg.code
141146
}
142147

143-
144148
val domainUrl
145149
get(): String {
146150
if (debug && remoteDebug) {
@@ -166,6 +170,9 @@ data class WebUIOptions(
166170
}
167171
}
168172

173+
private companion object Default {
174+
const val TAG = "WebUIOptions"
175+
}
169176
}
170177

171178
/**

0 commit comments

Comments
 (0)