fix default music assets not loading

This commit is contained in:
qimiko committed 2022-05-26 23:31:45 -07:00
1 parent cbbd5c8c00
commit a10e21844e
2 files changed
+13

No files matched your search

@@ -1,6 +1,8 @@
package com.robtopx.geometryjump
import android.content.pm.PackageInfo
import android.content.pm.PackageManager
import android.content.res.AssetManager
import dalvik.system.BaseDexClassLoader
import java.io.File
@@ -50,4 +52,12 @@ object LaunchUtils {
false
}
}
fun addAssetsFromPackage(assetManager: AssetManager, packageInfo: PackageInfo) {
// this method is officially marked as deprecated but it is the only method we are allowed to reflect
// (the source recommends replacing with AssetManager.setApkAssets(ApkAssets[], boolean) lol)
val clazz = assetManager.javaClass
val aspMethod = clazz.getDeclaredMethod("addAssetPath", String::class.java)
aspMethod.invoke(assetManager, packageInfo.applicationInfo.sourceDir)
}
}
@@ -2,6 +2,7 @@ package dev.xyze.geodelauncher
import android.content.Intent
import android.content.pm.ActivityInfo
import android.os.Build
import android.os.Bundle
import android.os.Environment
import androidx.activity.ComponentActivity
@@ -42,6 +43,8 @@ class GeometryDashActivity : ComponentActivity(), Cocos2dxHelper.Cocos2dxHelperL
val gdPackageInfo = packageManager.getPackageInfo(GJConstants.PACKAGE_NAME, 0)
val gdNativeLibraryPath = "${gdPackageInfo.applicationInfo.nativeLibraryDir}/"
LaunchUtils.addAssetsFromPackage(assets, gdPackageInfo)
LaunchUtils.addDirectoryToClassPath(gdNativeLibraryPath, classLoader)
System.loadLibrary(GJConstants.FMOD_LIB_NAME)