package mono; import java.io.*; import java.lang.String; import java.util.Locale; import java.util.HashSet; import java.util.zip.*; import android.content.Context; import android.content.Intent; import android.content.pm.ApplicationInfo; import android.content.res.AssetManager; import android.util.Log; import mono.android.Runtime; public class MonoPackageManager { static Object lock = new Object (); static boolean initialized; static android.content.Context Context; public static void LoadApplication (Context context, ApplicationInfo runtimePackage, String[] apks) { synchronized (lock) { if (context instanceof android.app.Application) { Context = context; } if (!initialized) { android.content.IntentFilter timezoneChangedFilter = new android.content.IntentFilter ( android.content.Intent.ACTION_TIMEZONE_CHANGED ); context.registerReceiver (new mono.android.app.NotifyTimeZoneChanges (), timezoneChangedFilter); System.loadLibrary("monodroid"); Locale locale = Locale.getDefault (); String language = locale.getLanguage () + "-" + locale.getCountry (); String filesDir = context.getFilesDir ().getAbsolutePath (); String cacheDir = context.getCacheDir ().getAbsolutePath (); String dataDir = getNativeLibraryPath (context); ClassLoader loader = context.getClassLoader (); java.io.File external0 = android.os.Environment.getExternalStorageDirectory (); String externalDir = new java.io.File ( external0, "Android/data/" + context.getPackageName () + "/files/.__override__").getAbsolutePath (); String externalLegacyDir = new java.io.File ( external0, "../legacy/Android/data/" + context.getPackageName () + "/files/.__override__").getAbsolutePath (); Runtime.init ( language, apks, getNativeLibraryPath (runtimePackage), new String[]{ filesDir, cacheDir, dataDir, }, loader, new String[] { externalDir, externalLegacyDir }, MonoPackageManager_Resources.Assemblies, context.getPackageName ()); mono.android.app.ApplicationRegistration.registerApplications (); initialized = true; } } } public static void setContext (Context context) { // Ignore; vestigial } static String getNativeLibraryPath (Context context) { return getNativeLibraryPath (context.getApplicationInfo ()); } static String getNativeLibraryPath (ApplicationInfo ainfo) { if (android.os.Build.VERSION.SDK_INT >= 9) return ainfo.nativeLibraryDir; return ainfo.dataDir + "/lib"; } public static String[] getAssemblies () { return MonoPackageManager_Resources.Assemblies; } public static String[] getDependencies () { return MonoPackageManager_Resources.Dependencies; } public static String getApiPackageName () { return MonoPackageManager_Resources.ApiPackageName; } } class MonoPackageManager_Resources { public static final String[] Assemblies = new String[]{ /* We need to ensure that "WatercolorGames.Pong.dll" comes first in this list. */ "WatercolorGames.Pong.dll", "MonoGame.Framework.dll", }; public static final String[] Dependencies = new String[]{ }; public static final String ApiPackageName = "Mono.Android.Platform.ApiLevel_23"; }