Snap for 8554636 from 9357e3d64eb8c61bef872d9429bb65a6e1fc5fa1 to sdk-release

Change-Id: I14389df80f6c59e49dabaa1cc89c6c2630ddee64
diff --git a/Android.bp b/Android.bp
index 66396d6..774c382 100644
--- a/Android.bp
+++ b/Android.bp
@@ -104,7 +104,7 @@
         "services",
         "services.accessibility",
         "telephony-common",
-
+        "android.car",
     ],
 }
 
@@ -154,11 +154,11 @@
         "Robolectric_sandbox",
         "Robolectric_junit",
         "Robolectric_utils",
-        "asm-7.0",
+        "asm-9.2",
         "junit",
-        "asm-tree-7.0",
+        "asm-tree-9.2",
         "guava",
-        "asm-commons-7.0",
+        "asm-commons-9.2",
         "bouncycastle-unbundled",
         "robolectric-sqlite4java-0.282",
         "hamcrest",
diff --git a/junit/Android.bp b/junit/Android.bp
index beefdcb..38ab529 100644
--- a/junit/Android.bp
+++ b/junit/Android.bp
@@ -18,12 +18,12 @@
         "Robolectric_shadowapi",
         "Robolectric_sandbox",
         "Robolectric_utils",
-        "asm-commons-7.0",
+        "asm-commons-9.2",
         "guava",
-        "asm-tree-7.0",
+        "asm-tree-9.2",
         "hamcrest",
         "junit",
-        "asm-7.0",
+        "asm-9.2",
         "jsr305",
     ],
     srcs: ["src/main/java/**/*.java"],
diff --git a/processor/Android.bp b/processor/Android.bp
index a4b4ccc..043ef19 100644
--- a/processor/Android.bp
+++ b/processor/Android.bp
@@ -22,11 +22,11 @@
     static_libs: [
         "Robolectric_annotations",
         "Robolectric_shadowapi",
-        "asm-commons-7.0",
+        "asm-commons-9.2",
         "guava",
-        "asm-tree-7.0",
+        "asm-tree-9.2",
         "gson-prebuilt-jar",
-        "asm-7.0",
+        "asm-9.2",
         "jsr305",
     ],
 
diff --git a/report-internal.mk b/report-internal.mk
index a12479c..4b790c2 100644
--- a/report-internal.mk
+++ b/report-internal.mk
@@ -49,6 +49,9 @@
     $(my_coverage_output_zip):robotests-coverage/$(LOCAL_MODULE)/robolectric-html-coverage.zip \
     $(my_coverage_output):robotests-coverage/$(LOCAL_MODULE)/robolectric-coverage.xml)
 
+ALL_TARGETS.$(my_coverage_output_zip).META_LIC:=$(module_license_metadata)
+ALL_TARGETS.$(my_coverage_output).META_LIC:=$(module_license_metadata)
+
 # Running the coverage will always generate the report.
 $(my_target): $(my_coverage_output)
 
diff --git a/resources/src/main/java/org/robolectric/res/android/ByteBucketArray.java b/resources/src/main/java/org/robolectric/res/android/ByteBucketArray.java
index 209fb1e..0636e19 100644
--- a/resources/src/main/java/org/robolectric/res/android/ByteBucketArray.java
+++ b/resources/src/main/java/org/robolectric/res/android/ByteBucketArray.java
@@ -24,7 +24,7 @@
     }
 
 //    byte bucketIndex = static_cast<byte>(index) >> 4;
-    byte bucketIndex = (byte) (index >> 4);
+    byte bucketIndex = (byte) (Byte.toUnsignedInt((byte) index) >> 4);
     T[] bucket = (T[]) mBuckets[bucketIndex];
     if (bucket == null) {
       return mDefault;
@@ -38,7 +38,7 @@
 //        (uint32_t) index, (uint32_t) size());
 
 //    uint8_t bucketIndex = static_cast<uint8_t>(index) >> 4;
-    byte bucketIndex = (byte) (((byte) index) >> 4);
+    byte bucketIndex = (byte) (Byte.toUnsignedInt((byte) index) >> 4);
     Object[] bucket = mBuckets[bucketIndex];
     if (bucket == null) {
       bucket = mBuckets[bucketIndex] = new Object[BUCKET_SIZE];
@@ -60,7 +60,7 @@
     }
 
 //    editItemAt(index) = value;
-    byte bucketIndex = (byte) (((byte) index) >> 4);
+    byte bucketIndex = (byte) (Byte.toUnsignedInt((byte) index) >> 4);
     Object[] bucket = mBuckets[bucketIndex];
     if (bucket == null) {
       bucket = mBuckets[bucketIndex] = new Object[BUCKET_SIZE];
diff --git a/robolectric/Android.bp b/robolectric/Android.bp
index f2894ef..ab08b47 100644
--- a/robolectric/Android.bp
+++ b/robolectric/Android.bp
@@ -25,13 +25,13 @@
         "robolectric-host-androidx-test-monitor",
         "robolectric-maven-ant-tasks-2.1.3",
         "bouncycastle-unbundled",
-        "asm-commons-7.0",
+        "asm-commons-9.2",
         "guava",
         "robolectric-xstream-1.4.8",
-        "asm-tree-7.0",
+        "asm-tree-9.2",
         "junit",
         "robolectric-ant-1.8.0",
-        "asm-7.0",
+        "asm-9.2",
         "jsr305",
         "robolectric-host-android_all",
     ],
@@ -70,17 +70,17 @@
         "bouncycastle-unbundled",
         "hamcrest",
         "robolectric-sqlite4java-0.282",
-        "asm-commons-7.0",
+        "asm-commons-9.2",
         "robolectric-diffutils-1.3.0",
         "guava",
         "objenesis",
         "robolectric-xstream-1.4.8",
-        "asm-tree-7.0",
+        "asm-tree-9.2",
         "junit",
         "icu4j",
         "truth-prebuilt",
         "robolectric-ant-1.8.0",
-        "asm-7.0",
+        "asm-9.2",
         "jsr305",
     ],
     libs: ["robolectric-host-android_all"],
diff --git a/robotest-internal.mk b/robotest-internal.mk
index ee0baf6..77e1730 100644
--- a/robotest-internal.mk
+++ b/robotest-internal.mk
@@ -12,6 +12,9 @@
 my_target_output := $(intermediates)/$(my_filename_stem)-output.txt
 my_target_retval := $(intermediates)/$(my_filename_stem)-retval.txt
 
+ALL_TARGETS.$(my_target_output).META_LIC:=$(module_license_metadata)
+ALL_TARGETS.$(my_target_xml).META_LIC:=$(module_license_metadata)
+
 # We should always re-run the tests, even if nothing has changed.
 # So until the build system has a dedicated "no cache" option, claim
 # to write a file that is never produced.
diff --git a/sandbox/Android.bp b/sandbox/Android.bp
index 1260ea2..ae6aa36 100644
--- a/sandbox/Android.bp
+++ b/sandbox/Android.bp
@@ -18,10 +18,10 @@
         "Robolectric_annotations",
         "Robolectric_shadowapi",
         "Robolectric_utils",
-        "asm-commons-7.0",
+        "asm-commons-9.2",
         "guava",
-        "asm-tree-7.0",
-        "asm-7.0",
+        "asm-tree-9.2",
+        "asm-9.2",
         "jsr305",
     ],
 }
@@ -41,13 +41,13 @@
         "Robolectric_utils",
         "mockito",
         "hamcrest",
-        "asm-commons-7.0",
+        "asm-commons-9.2",
         "guava",
         "objenesis",
-        "asm-tree-7.0",
+        "asm-tree-9.2",
         "junit",
         "truth-prebuilt",
-        "asm-7.0",
+        "asm-9.2",
         "jsr305",
     ],
     test_suites: ["general-tests"],
diff --git a/shadows/httpclient/Android.bp b/shadows/httpclient/Android.bp
index f4cfa50..39d57a8 100644
--- a/shadows/httpclient/Android.bp
+++ b/shadows/httpclient/Android.bp
@@ -27,6 +27,10 @@
     plugins: ["Robolectric_processor"],
     javacflags: ["-Aorg.robolectric.annotation.processing.shadowPackage=org.robolectric.shadows.httpclient"],
     srcs: ["src/main/java/**/*.java"],
+
+    errorprone: {
+        javacflags: ["-Xep:EqualsNull:WARN"],
+    },
 }
 
 //#############################################
@@ -51,14 +55,14 @@
         "bouncycastle-unbundled",
         "hamcrest",
         "robolectric-httpclient-4.0.3",
-        "asm-commons-7.0",
+        "asm-commons-9.2",
         "robolectric-httpcore-4.0.1",
         "guava",
-        "asm-tree-7.0",
+        "asm-tree-9.2",
         "junit",
         "truth-prebuilt",
         "robolectric-ant-1.8.0",
-        "asm-7.0",
+        "asm-9.2",
         "jsr305",
         "robolectric-host-android_all",
         "robolectric-host-org_apache_http_legacy",
diff --git a/shadows/supportv4/Android.bp b/shadows/supportv4/Android.bp
index c3565a0..04714e5 100644
--- a/shadows/supportv4/Android.bp
+++ b/shadows/supportv4/Android.bp
@@ -53,14 +53,14 @@
         "mockito",
         "bouncycastle-unbundled",
         "hamcrest",
-        "asm-commons-7.0",
+        "asm-commons-9.2",
         "guava",
         "objenesis",
-        "asm-tree-7.0",
+        "asm-tree-9.2",
         "junit",
         "truth-prebuilt",
         "robolectric-ant-1.8.0",
-        "asm-7.0",
+        "asm-9.2",
         "jsr305",
     ],
     libs: ["robolectric-host-android_all"],