Manual Extension Fixes (#2139)

* Fix manual extension icons

* Delete extension where APK Url is null
This commit is contained in:
Mitchell Syer
2026-06-28 02:08:53 -04:00
committed by GitHub
parent e2fd15158c
commit c79486b8be
2 changed files with 8 additions and 8 deletions

View File

@@ -165,7 +165,7 @@ object Extension {
dex2jar(apkFilePath, jarFilePath, fileNameWithoutType)
extractAssetsFromApk(apkFilePath, jarFilePath)
extractAndCacheApkIcon(apkFilePath, apkName)
extractAndCacheApkIcon(apkFilePath, packageInfo.packageName)
// clean up
File(apkFilePath).delete()
@@ -257,7 +257,7 @@ object Extension {
private fun extractAndCacheApkIcon(
apkFilePath: String,
apkName: String,
pkgName: String,
) {
val iconCacheDir = "${applicationDirs.extensionsRoot}/icon"
try {
@@ -270,15 +270,15 @@ object Extension {
?.first
}
if (iconData == null) {
logger.warn { "No icon found in APK $apkName" }
logger.warn { "No icon found in APK $pkgName" }
return
}
File(iconCacheDir).mkdirs()
clearCachedImage(iconCacheDir, apkName)
saveImage("$iconCacheDir/$apkName", iconData.inputStream(), null)
clearCachedImage(iconCacheDir, pkgName)
saveImage("$iconCacheDir/$pkgName", iconData.inputStream(), null)
} catch (e: Exception) {
logger.warn(e) { "Failed to extract icon from APK $apkName" }
logger.warn(e) { "Failed to extract icon from APK $pkgName" }
}
}
@@ -371,7 +371,7 @@ object Extension {
SourceTable.deleteWhere { SourceTable.extension eq extensionId }
if (extensionRecord[ExtensionTable.isObsolete]) {
if (extensionRecord[ExtensionTable.isObsolete] || extensionRecord[ExtensionTable.apkUrl] == null) {
ExtensionTable.deleteWhere { ExtensionTable.pkgName eq pkgName }
} else {
ExtensionTable.update({ ExtensionTable.pkgName eq pkgName }) {

View File

@@ -23,7 +23,7 @@ object ExtensionTable : IntIdTable() {
val name = varchar("name", 128)
val pkgName = varchar("pkg_name", 128)
val apkUrl = varchar("apk_url", 2048)
val apkUrl = varchar("apk_url", 2048).nullable()
val extensionLib = varchar("extension_lib", 16).nullable()
val versionName = varchar("version_name", 16)
val versionCode = long("version_code")