AttachCurrentThread should only warn on missing thread name if CheckJNI is enabled.

Bug: 17108693

(cherry picked from commit 3ea69c0abce1b81b3c45033867d49b00e6d6b709)

Change-Id: Ide8158cc3e12e604f4fa344cd881fe6f68476ab7
diff --git a/runtime/runtime.cc b/runtime/runtime.cc
index 8a85e0d..4bd9943 100644
--- a/runtime/runtime.cc
+++ b/runtime/runtime.cc
@@ -907,11 +907,7 @@
 
 bool Runtime::AttachCurrentThread(const char* thread_name, bool as_daemon, jobject thread_group,
                                   bool create_peer) {
-  bool success = Thread::Attach(thread_name, as_daemon, thread_group, create_peer) != NULL;
-  if (thread_name == NULL) {
-    LOG(WARNING) << *Thread::Current() << " attached without supplying a name";
-  }
-  return success;
+  return Thread::Attach(thread_name, as_daemon, thread_group, create_peer) != NULL;
 }
 
 void Runtime::DetachCurrentThread() {
diff --git a/runtime/thread.cc b/runtime/thread.cc
index dbb42c9..61a627d 100644
--- a/runtime/thread.cc
+++ b/runtime/thread.cc
@@ -404,6 +404,8 @@
     if (thread_name != nullptr) {
       self->tlsPtr_.name->assign(thread_name);
       ::art::SetThreadName(thread_name);
+    } else if (self->GetJniEnv()->check_jni) {
+      LOG(WARNING) << *Thread::Current() << " attached without supplying a name";
     }
   }