# Android AssetFileDescriptor, can be retrieve by AssetManager and used to load a sound in a SoundPool
extern class NativeAssetFileDescriptor in "Java" `{ android.content.res.AssetFileDescriptor `}
super JavaObject
fun in "Java" `{
try {
self.close();
}catch(IOException e){
e.printStackTrace();
}
`}
fun : NativeFileInputStream in "Java" `{
try {
return self.createInputStream();
}catch(IOException e){
Log.e("Error creating input_stream", e.getMessage());
e.printStackTrace();
return null;
}
`}
fun : NativeFileOutputStream in "Java" `{
try {
return self.createOutputStream();
}catch(IOException e){
Log.e("Error creating output stream", e.getMessage());
e.printStackTrace();
return null;
}
`}
fun : Int in "Java" `{ return (int)self.describeContents(); `}
fun : Int in "Java" `{ return (int)self.getDeclaredLength(); `}
# fun extras: Bundle in "Java" `{ return self.getExtras(); `}
fun : NativeFileDescriptor in "Java" `{
FileDescriptor fd = self.getFileDescriptor();
if (fd == null) {
Log.e("AssetFileDesciptorError", "Can't retrieve the FileDescriptor of this AssetFileDescriptor");
}
return fd;
`}
fun : Int in "Java" `{ return (int)self.getLength(); `}
fun : Int in "Java" `{ return (int)self.getStartOffset(); `}
redef fun to_s import JavaString.to_s in "Java" `{ return JavaString_to_s(self.toString()); `}
# HACK for bug #845
redef fun new_global_ref import sys, Sys.jni_env `{
Sys sys = NativeAssetFileDescriptor_sys(self);
JNIEnv *env = Sys_jni_env(sys);
return (*env)->NewGlobalRef(env, self);
`}
end
lib/android/assets_and_resources.nit:346,1--397,3