mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-11-04 08:08:55 +01:00 
			
		
		
		
	@@ -141,6 +141,11 @@ internal object ExtensionLoader {
 | 
			
		||||
            ?.asSequence()
 | 
			
		||||
            ?.filter { it.isFile && it.extension == PRIVATE_EXTENSION_EXTENSION }
 | 
			
		||||
            ?.mapNotNull {
 | 
			
		||||
                // Just in case, since Android 14+ requires them to be read-only
 | 
			
		||||
                if (it.canWrite()) {
 | 
			
		||||
                    it.setReadOnly()
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                val path = it.absolutePath
 | 
			
		||||
                pkgManager.getPackageArchiveInfo(path, PACKAGE_FLAGS)
 | 
			
		||||
                    ?.apply { applicationInfo.fixBasePaths(path) }
 | 
			
		||||
@@ -277,7 +282,12 @@ internal object ExtensionLoader {
 | 
			
		||||
        val hasReadme = appInfo.metaData.getInt(METADATA_HAS_README, 0) == 1
 | 
			
		||||
        val hasChangelog = appInfo.metaData.getInt(METADATA_HAS_CHANGELOG, 0) == 1
 | 
			
		||||
 | 
			
		||||
        val classLoader = PathClassLoader(appInfo.sourceDir, null, context.classLoader)
 | 
			
		||||
        val classLoader = try {
 | 
			
		||||
            PathClassLoader(appInfo.sourceDir, null, context.classLoader)
 | 
			
		||||
        } catch (e: Exception) {
 | 
			
		||||
            logcat(LogPriority.ERROR, e) { "Extension load error: $extName ($pkgName)" }
 | 
			
		||||
            return LoadResult.Error
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        val sources = appInfo.metaData.getString(METADATA_SOURCE_CLASS)!!
 | 
			
		||||
            .split(";")
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user