Fix error and message handler with thunking. Also fix null check with equals.
Change-Id: I3f05d3dfcbcfac679ce91feb3459ceb177c60161
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/BaseObj.java b/v8/renderscript/java/src/android/support/v8/renderscript/BaseObj.java
index 153019d..b9d3ef4 100644
--- a/v8/renderscript/java/src/android/support/v8/renderscript/BaseObj.java
+++ b/v8/renderscript/java/src/android/support/v8/renderscript/BaseObj.java
@@ -140,6 +140,10 @@
if (this == obj)
return true;
+ if (obj == null) {
+ return false;
+ }
+
if (getClass() != obj.getClass()) {
return false;
}
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/RenderScriptThunker.java b/v8/renderscript/java/src/android/support/v8/renderscript/RenderScriptThunker.java
index aa787c0a..d4a3a98 100644
--- a/v8/renderscript/java/src/android/support/v8/renderscript/RenderScriptThunker.java
+++ b/v8/renderscript/java/src/android/support/v8/renderscript/RenderScriptThunker.java
@@ -86,6 +86,42 @@
}
+ public void setMessageHandler(RSMessageHandler msg) {
+ mMessageCallback = msg;
+ try {
+ android.renderscript.RenderScript.RSMessageHandler handler =
+ new android.renderscript.RenderScript.RSMessageHandler() {
+ public void run() {
+ mMessageCallback.mData = mData;
+ mMessageCallback.mID = mID;
+ mMessageCallback.mLength = mLength;
+ mMessageCallback.run();
+ }
+ };
+ mN.setMessageHandler(handler);
+ } catch (android.renderscript.RSRuntimeException e) {
+ throw ExceptionThunker.convertException(e);
+ }
+ }
+
+ public void setErrorHandler(RSErrorHandler msg) {
+ mErrorCallback = msg;
+ try {
+ android.renderscript.RenderScript.RSErrorHandler handler =
+ new android.renderscript.RenderScript.RSErrorHandler() {
+ public void run() {
+ mErrorCallback.mErrorMessage = mErrorMessage;
+ mErrorCallback.mErrorNum = mErrorNum;
+ mErrorCallback.run();
+ }
+ };
+ mN.setErrorHandler(handler);
+ } catch (android.renderscript.RSRuntimeException e) {
+ throw ExceptionThunker.convertException(e);
+ }
+ }
+
+
boolean equals(Object obj1, Object obj2) {
if (obj2 instanceof android.support.v8.renderscript.BaseObj) {
return ((android.renderscript.BaseObj)obj1).equals(((android.support.v8.renderscript.BaseObj)obj2).getNObj());