Print more information about hidden API accesses

This patch changes when we print hidden API access warnings and the
message that is printed:

(a) prints message even if reflection is denied
(b) prints if the access was due to reflection or JNI

Bug: 64382372
Test: manual
Change-Id: I1e59982516c12580a207fd294aa8aab851b1ad46
diff --git a/runtime/hidden_api_access_flags.h b/runtime/hidden_api_access_flags.h
index c328f96..6a88c12 100644
--- a/runtime/hidden_api_access_flags.h
+++ b/runtime/hidden_api_access_flags.h
@@ -146,6 +146,24 @@
   };
 };
 
+inline std::ostream& operator<<(std::ostream& os, HiddenApiAccessFlags::ApiList value) {
+  switch (value) {
+    case HiddenApiAccessFlags::kWhitelist:
+      os << "whitelist";
+      break;
+    case HiddenApiAccessFlags::kLightGreylist:
+      os << "light greylist";
+      break;
+    case HiddenApiAccessFlags::kDarkGreylist:
+      os << "dark greylist";
+      break;
+    case HiddenApiAccessFlags::kBlacklist:
+      os << "blacklist";
+      break;
+  }
+  return os;
+}
+
 }  // namespace art