Merge: Bench scripts
[nit.git] / lib / mnit_android / android_assets.nit
index 27911f3..20704b6 100644 (file)
@@ -32,8 +32,6 @@ in "C header" `{
 `}
 
 in "C" `{
-       extern struct android_app *mnit_java_app;
-
        void mnit_android_png_read_data(png_structp png_ptr,
                        png_bytep data, png_size_t length)
        {
@@ -52,9 +50,9 @@ in "C" `{
        }
 `}
 
-extern AndroidAsset in "C" `{struct AAsset*`}
+extern class AndroidAsset in "C" `{struct AAsset*`}
 
-       fun read(count: Int): nullable String is extern import String as nullable, NativeString.to_s `{
+       fun read(count: Int): nullable String is extern import String.as nullable, NativeString.to_s `{
                char *buffer = malloc(sizeof(char) * (count+1));
                int read = AAsset_read(recv, buffer, count);
                if (read != count)
@@ -103,8 +101,9 @@ redef class App
                return null
        end
 
-       protected fun load_asset_from_apk(path: String): nullable AndroidAsset is extern import String.to_cstring, AndroidAsset as nullable `{
-               struct AAsset* a = AAssetManager_open(mnit_java_app->activity->assetManager, String_to_cstring(path), AASSET_MODE_BUFFER);
+       protected fun load_asset_from_apk(path: String): nullable AndroidAsset is extern import String.to_cstring, AndroidAsset.as nullable, native_app_glue  `{
+               struct android_app *native_app_glue = App_native_app_glue(recv);
+               struct AAsset* a = AAssetManager_open(native_app_glue->activity->assetManager, String_to_cstring(path), AASSET_MODE_BUFFER);
                if (a == NULL)
                {
                        LOGW("nit d g a");