Load libart.so with RTLD_NODELETE
am: 6cf8e8d358

* commit '6cf8e8d3587a438c7117cce47330ac37ca9d6884':
  Load libart.so with RTLD_NODELETE

Change-Id: I6d031b978cc4b3f7f2bb58f36696beacbd2537a2
diff --git a/JNIHelp.cpp b/JNIHelp.cpp
index 08b5fd2..54cb52f 100644
--- a/JNIHelp.cpp
+++ b/JNIHelp.cpp
@@ -38,7 +38,7 @@
 template<typename T>
 class scoped_local_ref {
 public:
-    scoped_local_ref(C_JNIEnv* env, T localRef = NULL)
+    explicit scoped_local_ref(C_JNIEnv* env, T localRef = NULL)
     : mEnv(env), mLocalRef(localRef)
     {
     }
diff --git a/JniConstants.cpp b/JniConstants.cpp
index e95f980..43ad419 100644
--- a/JniConstants.cpp
+++ b/JniConstants.cpp
@@ -28,45 +28,28 @@
 static std::atomic<bool> g_constants_initialized(false);
 static std::mutex g_constants_mutex;
 
-jclass JniConstants::bigDecimalClass;
 jclass JniConstants::booleanClass;
 jclass JniConstants::byteArrayClass;
-jclass JniConstants::byteClass;
 jclass JniConstants::calendarClass;
-jclass JniConstants::characterClass;
 jclass JniConstants::charsetICUClass;
-jclass JniConstants::constructorClass;
-jclass JniConstants::deflaterClass;
 jclass JniConstants::doubleClass;
 jclass JniConstants::errnoExceptionClass;
-jclass JniConstants::fieldClass;
 jclass JniConstants::fileDescriptorClass;
-jclass JniConstants::floatClass;
 jclass JniConstants::gaiExceptionClass;
 jclass JniConstants::inet6AddressClass;
 jclass JniConstants::inetAddressClass;
 jclass JniConstants::inetAddressHolderClass;
 jclass JniConstants::inetSocketAddressClass;
 jclass JniConstants::inetSocketAddressHolderClass;
-jclass JniConstants::inflaterClass;
-jclass JniConstants::inputStreamClass;
 jclass JniConstants::integerClass;
 jclass JniConstants::localeDataClass;
 jclass JniConstants::longClass;
-jclass JniConstants::methodClass;
 jclass JniConstants::mutableIntClass;
 jclass JniConstants::mutableLongClass;
 jclass JniConstants::netlinkSocketAddressClass;
-jclass JniConstants::objectClass;
-jclass JniConstants::objectArrayClass;
-jclass JniConstants::outputStreamClass;
 jclass JniConstants::packetSocketAddressClass;
-jclass JniConstants::parsePositionClass;
 jclass JniConstants::patternSyntaxExceptionClass;
 jclass JniConstants::referenceClass;
-jclass JniConstants::shortClass;
-jclass JniConstants::socketClass;
-jclass JniConstants::socketImplClass;
 jclass JniConstants::socketTaggerClass;
 jclass JniConstants::stringClass;
 jclass JniConstants::structAddrinfoClass;
@@ -108,19 +91,12 @@
       return;
     }
 
-    bigDecimalClass = findClass(env, "java/math/BigDecimal");
     booleanClass = findClass(env, "java/lang/Boolean");
-    byteClass = findClass(env, "java/lang/Byte");
     byteArrayClass = findClass(env, "[B");
     calendarClass = findClass(env, "java/util/Calendar");
-    characterClass = findClass(env, "java/lang/Character");
     charsetICUClass = findClass(env, "java/nio/charset/CharsetICU");
-    constructorClass = findClass(env, "java/lang/reflect/Constructor");
-    floatClass = findClass(env, "java/lang/Float");
-    deflaterClass = findClass(env, "java/util/zip/Deflater");
     doubleClass = findClass(env, "java/lang/Double");
     errnoExceptionClass = findClass(env, "android/system/ErrnoException");
-    fieldClass = findClass(env, "java/lang/reflect/Field");
     fileDescriptorClass = findClass(env, "java/io/FileDescriptor");
     gaiExceptionClass = findClass(env, "android/system/GaiException");
     inet6AddressClass = findClass(env, "java/net/Inet6Address");
@@ -128,26 +104,16 @@
     inetAddressHolderClass = findClass(env, "java/net/InetAddress$InetAddressHolder");
     inetSocketAddressClass = findClass(env, "java/net/InetSocketAddress");
     inetSocketAddressHolderClass = findClass(env, "java/net/InetSocketAddress$InetSocketAddressHolder");
-    inflaterClass = findClass(env, "java/util/zip/Inflater");
-    inputStreamClass = findClass(env, "java/io/InputStream");
     integerClass = findClass(env, "java/lang/Integer");
     localeDataClass = findClass(env, "libcore/icu/LocaleData");
     longClass = findClass(env, "java/lang/Long");
-    methodClass = findClass(env, "java/lang/reflect/Method");
     mutableIntClass = findClass(env, "android/util/MutableInt");
     mutableLongClass = findClass(env, "android/util/MutableLong");
     netlinkSocketAddressClass = findClass(env, "android/system/NetlinkSocketAddress");
-    objectClass = findClass(env, "java/lang/Object");
-    objectArrayClass = findClass(env, "[Ljava/lang/Object;");
-    outputStreamClass = findClass(env, "java/io/OutputStream");
     packetSocketAddressClass = findClass(env, "android/system/PacketSocketAddress");
-    parsePositionClass = findClass(env, "java/text/ParsePosition");
     patternSyntaxExceptionClass = findClass(env, "java/util/regex/PatternSyntaxException");
     referenceClass = findClass(env, "java/lang/ref/Reference");
-    shortClass = findClass(env, "java/lang/Short");
-    socketClass = findClass(env, "java/net/Socket");
     socketTaggerClass = findClass(env, "dalvik/system/SocketTagger");
-    socketImplClass = findClass(env, "java/net/SocketImpl");
     stringClass = findClass(env, "java/lang/String");
     structAddrinfoClass = findClass(env, "android/system/StructAddrinfo");
     structFlockClass = findClass(env, "android/system/StructFlock");
diff --git a/include/nativehelper/JniConstants.h b/include/nativehelper/JniConstants.h
index ba8f8cb..af9e70a 100644
--- a/include/nativehelper/JniConstants.h
+++ b/include/nativehelper/JniConstants.h
@@ -39,45 +39,28 @@
 struct JniConstants {
     static void init(JNIEnv* env);
 
-    static jclass bigDecimalClass;
     static jclass booleanClass;
     static jclass byteArrayClass;
-    static jclass byteClass;
     static jclass calendarClass;
-    static jclass characterClass;
     static jclass charsetICUClass;
-    static jclass constructorClass;
-    static jclass deflaterClass;
     static jclass doubleClass;
     static jclass errnoExceptionClass;
-    static jclass fieldClass;
     static jclass fileDescriptorClass;
-    static jclass floatClass;
     static jclass gaiExceptionClass;
     static jclass inet6AddressClass;
     static jclass inetAddressClass;
     static jclass inetAddressHolderClass;
     static jclass inetSocketAddressClass;
     static jclass inetSocketAddressHolderClass;
-    static jclass inflaterClass;
-    static jclass inputStreamClass;
     static jclass integerClass;
     static jclass localeDataClass;
     static jclass longClass;
-    static jclass methodClass;
     static jclass mutableIntClass;
     static jclass mutableLongClass;
     static jclass netlinkSocketAddressClass;
-    static jclass objectClass;
-    static jclass objectArrayClass;
-    static jclass outputStreamClass;
     static jclass packetSocketAddressClass;
-    static jclass parsePositionClass;
     static jclass patternSyntaxExceptionClass;
     static jclass referenceClass;
-    static jclass shortClass;
-    static jclass socketClass;
-    static jclass socketImplClass;
     static jclass socketTaggerClass;
     static jclass stringClass;
     static jclass structAddrinfoClass;
diff --git a/toStringArray.cpp b/toStringArray.cpp
index f2fa53c..f2b0add 100644
--- a/toStringArray.cpp
+++ b/toStringArray.cpp
@@ -23,7 +23,7 @@
 
 struct ArrayCounter {
     const char* const* strings;
-    ArrayCounter(const char* const* strings) : strings(strings) {}
+    explicit ArrayCounter(const char* const* strings) : strings(strings) {}
     size_t operator()() {
         size_t count = 0;
         while (strings[count] != NULL) {
@@ -35,7 +35,7 @@
 
 struct ArrayGetter {
     const char* const* strings;
-    ArrayGetter(const char* const* strings) : strings(strings) {}
+    explicit ArrayGetter(const char* const* strings) : strings(strings) {}
     const char* operator()(size_t i) {
         return strings[i];
     }