Skip to content

Commit

Permalink
asset: hoist global variable to Go and make C function static
Browse files Browse the repository at this point in the history
Change-Id: I19d933bb49eba462371451ac3b258744c69b0aad
Reviewed-on: https://go-review.googlesource.com/124916
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
  • Loading branch information
Elias Naur committed Jul 19, 2018
1 parent 56e3592 commit c7f1239
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions asset/asset_android.go
Expand Up @@ -11,10 +11,7 @@ package asset
#include <jni.h>
#include <stdlib.h>
// asset_manager is the asset manager of the app.
AAssetManager* asset_manager;
void asset_manager_init(uintptr_t java_vm, uintptr_t jni_env, jobject ctx) {
static AAssetManager* asset_manager_init(uintptr_t java_vm, uintptr_t jni_env, jobject ctx) {
JavaVM* vm = (JavaVM*)java_vm;
JNIEnv* env = (JNIEnv*)jni_env;
Expand All @@ -29,7 +26,7 @@ void asset_manager_init(uintptr_t java_vm, uintptr_t jni_env, jobject ctx) {
// Pin the AssetManager and load an AAssetManager from it.
am = (*env)->NewGlobalRef(env, am);
asset_manager = AAssetManager_fromJava(env, am);
return AAssetManager_fromJava(env, am);
}
*/
import "C"
Expand All @@ -46,9 +43,12 @@ import (

var assetOnce sync.Once

// asset_manager is the asset manager of the app.
var assetManager *C.AAssetManager

func assetInit() {
err := mobileinit.RunOnJVM(func(vm, env, ctx uintptr) error {
C.asset_manager_init(C.uintptr_t(vm), C.uintptr_t(env), C.jobject(ctx))
assetManager = C.asset_manager_init(C.uintptr_t(vm), C.uintptr_t(env), C.jobject(ctx))
return nil
})
if err != nil {
Expand All @@ -61,7 +61,7 @@ func openAsset(name string) (File, error) {
cname := C.CString(name)
defer C.free(unsafe.Pointer(cname))
a := &asset{
ptr: C.AAssetManager_open(C.asset_manager, cname, C.AASSET_MODE_UNKNOWN),
ptr: C.AAssetManager_open(assetManager, cname, C.AASSET_MODE_UNKNOWN),
name: name,
}
if a.ptr == nil {
Expand Down

0 comments on commit c7f1239

Please sign in to comment.