am 179158fa: Switch RS support lib to use LOCAL_SDK_VERSION.

* commit '179158fa990160cf3f309f6a87a039e71ab664e8':
  Switch RS support lib to use LOCAL_SDK_VERSION.
diff --git a/v8/renderscript/Android.mk b/v8/renderscript/Android.mk
index d8f3ce5..a288a86 100644
--- a/v8/renderscript/Android.mk
+++ b/v8/renderscript/Android.mk
@@ -22,7 +22,7 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := android-support-v8-renderscript
-#LOCAL_SDK_VERSION := 17
+LOCAL_SDK_VERSION := 18
 LOCAL_SRC_FILES := $(call all-java-files-under, java/src)
 
 include $(BUILD_STATIC_JAVA_LIBRARY)
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/FieldPacker.java b/v8/renderscript/java/src/android/support/v8/renderscript/FieldPacker.java
index 1e54631..a5b5b41 100644
--- a/v8/renderscript/java/src/android/support/v8/renderscript/FieldPacker.java
+++ b/v8/renderscript/java/src/android/support/v8/renderscript/FieldPacker.java
@@ -16,7 +16,6 @@
 
 package android.support.v8.renderscript;
 
-import android.os.SystemProperties;
 import android.support.v8.renderscript.RenderScript;
 
 /**
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/FieldPackerThunker.java b/v8/renderscript/java/src/android/support/v8/renderscript/FieldPackerThunker.java
index fe021e1..b61e482 100644
--- a/v8/renderscript/java/src/android/support/v8/renderscript/FieldPackerThunker.java
+++ b/v8/renderscript/java/src/android/support/v8/renderscript/FieldPackerThunker.java
@@ -16,7 +16,6 @@
 
 package android.support.v8.renderscript;
 
-import android.os.SystemProperties;
 import android.support.v8.renderscript.RenderScript;
 
 /**
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/RenderScript.java b/v8/renderscript/java/src/android/support/v8/renderscript/RenderScript.java
index d9ff977..206fc8a 100644
--- a/v8/renderscript/java/src/android/support/v8/renderscript/RenderScript.java
+++ b/v8/renderscript/java/src/android/support/v8/renderscript/RenderScript.java
@@ -31,8 +31,6 @@
 import android.util.Log;
 import android.view.Surface;
 
-import android.os.SystemProperties;
-
 /**
  * This class provides access to a RenderScript context, which controls RenderScript
  * initialization, resource management, and teardown. An instance of the RenderScript
@@ -95,12 +93,25 @@
      */
     static private boolean setupThunk(int sdkVersion, Context ctx) {
         if (sThunk == -1) {
+
+            // get the value of the debug.rs.forcecompat property
+            int forcecompat = 0;
+            try {
+                Class<?> sysprop = Class.forName("android.os.SystemProperties");
+                Class[] signature = {String.class, Integer.TYPE};
+                Method getint = sysprop.getDeclaredMethod("getInt", signature);
+                Object[] args = {"debug.rs.forcecompat", new Integer(0)};
+                forcecompat = ((java.lang.Integer)getint.invoke(null, args)).intValue();
+            } catch (Exception e) {
+
+            }
+
             // use compat on Jelly Bean MR2 if we're requesting SDK 19+
             if (android.os.Build.VERSION.SDK_INT == 18 && sdkVersion >= 19) {
                 sThunk = 0;
             }
             else if ((android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR2)
-                && (SystemProperties.getInt("debug.rs.forcecompat", 0) == 0)) {
+                     && forcecompat == 0) {
                 sThunk = 1;
             } else {
                 sThunk = 0;
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 d4a3a98..bb6bf73 100644
--- a/v8/renderscript/java/src/android/support/v8/renderscript/RenderScriptThunker.java
+++ b/v8/renderscript/java/src/android/support/v8/renderscript/RenderScriptThunker.java
@@ -16,6 +16,9 @@
 
 package android.support.v8.renderscript;
 
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
@@ -52,11 +55,17 @@
     public static RenderScript create(Context ctx, int sdkVersion) {
         try {
             RenderScriptThunker rs = new RenderScriptThunker(ctx);
-            rs.mN = android.renderscript.RenderScript.create(ctx, sdkVersion);
+            Class<?> javaRS = Class.forName("android.renderscript.RenderScript");
+            Class[] signature = {Context.class, Integer.TYPE};
+            Object[] args = {ctx, new Integer(sdkVersion)};
+            Method create = javaRS.getDeclaredMethod("create", signature);
+            rs.mN = (android.renderscript.RenderScript)create.invoke(null, args);
             return rs;
         }
         catch(android.renderscript.RSRuntimeException e) {
             throw ExceptionThunker.convertException(e);
+        } catch (Exception e) {
+            throw new RSRuntimeException("Failure to create platform RenderScript context");
         }
     }