Property definitions

android $ NativeAssetManager :: defaultinit
# AssetManager from Java, used by `AssetManager` to access resources in `assets` app's directory
# This is a low-level class, use `AssetManager` instead
private extern class NativeAssetManager in "Java" `{ android.content.res.AssetManager `}
	super JavaObject

	# Close this asset manager
	fun close in "Java" `{ self.close(); `}

	# Get the locales that this assets manager contains data for
	fun get_locales: Array[JavaString] import Array[JavaString], Array[JavaString].add in "Java" `{
		nit.app.NitObject arr = new_Array_of_JavaString();
		for (String s : self.getLocales()) {
			Array_of_JavaString_add(arr, s);
		}
		return arr;
	`}

	# String Array of all the assets at the given path
	fun list(path: JavaString): Array[JavaString] import Array[JavaString], Array[JavaString].add  in "Java" `{
		nit.app.NitObject arr = new_Array_of_JavaString();
		try {
			for (String s : self.list(path)) {
				Array_of_JavaString_add(arr, s);
			}
		}catch (IOException e) {
			Log.e("Error retrieving the list of assets at 'path' ", e.getMessage());
			e.printStackTrace();
		}
		return arr;
	`}

	# Open an asset using ACCESS_STREAMING mode
	fun open(file_name: JavaString): NativeInputStream in "Java" `{
		InputStream stream = null;
		try {
			stream = self.open(file_name);
		}catch (IOException e) {
			Log.e("Error while opening " + file_name, e.getMessage());
			return null;
		}
		return stream;
	`}

	# Open an asset and return it's file descriptor
	fun open_fd(file_name: JavaString): NativeAssetFileDescriptor in "Java" `{
		AssetFileDescriptor afd = null;
		try {
			afd = self.openFd(file_name);
		}catch(IOException e){
			Log.e("Error while opening " + file_name, e.getMessage());
			return null;
		}
		return afd;
	`}

	# Open a ,non-asset and return it's file descriptor
	fun open_non_asset_fd(file_name: JavaString): NativeAssetFileDescriptor in "Java" `{
		AssetFileDescriptor afd = null;
		try {
			afd =  self.openNonAssetFd(file_name);
		}catch(IOException e){
			Log.e("Error while opening " + file_name, e.getMessage());
			return null;
		}
		return afd;
	`}

	# HACK for bug #845
	redef fun new_global_ref import sys, Sys.jni_env `{
		Sys sys = NativeAssetManager_sys(self);
		JNIEnv *env = Sys_jni_env(sys);
		return (*env)->NewGlobalRef(env, self);
	`}
end
lib/android/assets_and_resources.nit:45,1--118,3