Fix thread safety issue when getting api-versions.xml resource

I245f05cf2ebb5e6430e5396e5cfe5b590e92f57b got reverted because
of a thread safety issue caused by the usage of
getResourceAsStream(). This CL fixes that issue by using
getResource(resource).openStream() instead.

Bug: 137929327
Bug: 156605931
Test: existing + postsubmit should pass consistently
Change-Id: I750adc3f8c05e337346bbfa97ae2461e5a703e9d
diff --git a/compiler/src/main/java/android/databinding/tool/reflection/SdkUtil.java b/compiler/src/main/java/android/databinding/tool/reflection/SdkUtil.java
index d9a82d6..5782991 100644
--- a/compiler/src/main/java/android/databinding/tool/reflection/SdkUtil.java
+++ b/compiler/src/main/java/android/databinding/tool/reflection/SdkUtil.java
@@ -112,7 +112,9 @@
             InputStream inputStream = null;
             try {
                 if (apiFile == null || !apiFile.exists()) {
-                    inputStream = getClass().getClassLoader().getResourceAsStream("api-versions.xml");
+                    // Use getResource().openStream() instead of getResourceAsStream() to avoid
+                    // concurrency issue (see http://issuetracker.google.com/137929327 for details)
+                    inputStream = getClass().getClassLoader().getResource("api-versions.xml").openStream();
                 } else {
                     inputStream = FileUtils.openInputStream(apiFile);
                 }