I guess I found a bug. I have an internal native call which returns a float. I found via decompiling this code:
public static long nativeReadLong(long var0) {
return ABridge.callLong("android.os.Parcel.nativeReadLong(long)", (Object)null, new Object[]{new Long(var0)});
}
public static float nativeReadFloat(long var0) {
return ((Float)ABridge.callObject("android.os.Parcel.nativeReadFloat(long)", (Object)null, new Object[]{new Long(var0)})).floatValue();
}
public static double nativeReadDouble(long var0) {
return ((Double)ABridge.callObject("android.os.Parcel.nativeReadDouble(long)", (Object)null, new Object[]{new Long(var0)})).doubleValue();
}
public static String nativeReadString(long var0) {
return (String)ABridge.callObject("android.os.Parcel.nativeReadString(long)", (Object)null, new Object[]{new Long(var0)});
}