Snap for 9696069 from 55d84e75c29f45f9a277c01be46f19edef4e76c9 to mainline-os-statsd-release

Change-Id: I5df2b44a1cf6ece06a356f62b7eaa2f30f12a89c
diff --git a/Android.bp b/Android.bp
index 598623f..f3d5bb4 100644
--- a/Android.bp
+++ b/Android.bp
@@ -77,8 +77,8 @@
     ],
     apex_available: [
         "//apex_available:platform",
-        "com.android.extservices",
         "com.android.adservices",
+        "com.android.extservices",
     ],
 
     visibility: ["//external/libtextclassifier:__subpackages__"],
@@ -100,6 +100,7 @@
     apex_available: [
         "//apex_available:platform",
         "com.android.adservices",
+        "com.android.extservices",
     ],
 }
 
@@ -131,6 +132,7 @@
     apex_available: [
         "//apex_available:platform",
         "com.android.adservices",
+        "com.android.extservices",
     ],
 }
 
@@ -188,6 +190,7 @@
     apex_available: [
         "//apex_available:platform",
         "com.android.adservices",
+        "com.android.extservices",
     ],
 }
 
@@ -209,6 +212,7 @@
     apex_available: [
         "//apex_available:platform",
         "com.android.adservices",
+        "com.android.extservices",
     ],
 }
 
@@ -221,7 +225,6 @@
         "tensorflow_lite_support/java/src/native/task/core/builtin_op_resolver.cc",
         "tensorflow_lite_support/cc/utils/jni_utils.cc",
     ],
-    // TODO(b/247088924): Use linker_scripts here.
     version_script: "tensorflow_lite_support/java/tflite_version_script.lds",
     shared_libs: ["liblog"],
     static_libs: [
@@ -242,7 +245,6 @@
         "tensorflow_headers",
         "flatbuffer_headers",
         "jni_headers",
-        "liblog_headers",
         "libtextclassifier_flatbuffer_headers",
     ],
     generated_headers: [
@@ -257,6 +259,7 @@
     apex_available: [
         "//apex_available:platform",
         "com.android.adservices",
+        "com.android.extservices",
     ],
 }
 
@@ -273,6 +276,7 @@
     apex_available: [
         "//apex_available:platform",
         "com.android.adservices",
+        "com.android.extservices",
     ],
 }
 
@@ -304,6 +308,7 @@
     apex_available: [
         "//apex_available:platform",
         "com.android.adservices",
+        "com.android.extservices",
     ],
 }
 
@@ -332,6 +337,7 @@
     apex_available: [
         "//apex_available:platform",
         "com.android.adservices",
+        "com.android.extservices",
     ],
 }
 
@@ -443,6 +449,7 @@
     apex_available: [
         "//apex_available:platform",
         "com.android.adservices",
+        "com.android.extservices",
     ],
 }
 
diff --git a/tensorflow_lite_support/java/src/javatests/org/tensorflow/lite/task/text/nlclassifier/BertNLClassifierTest.java b/tensorflow_lite_support/java/src/javatests/org/tensorflow/lite/task/text/nlclassifier/BertNLClassifierTest.java
index 8c71f70..efaa9d9 100644
--- a/tensorflow_lite_support/java/src/javatests/org/tensorflow/lite/task/text/nlclassifier/BertNLClassifierTest.java
+++ b/tensorflow_lite_support/java/src/javatests/org/tensorflow/lite/task/text/nlclassifier/BertNLClassifierTest.java
@@ -124,6 +124,5 @@
     private void verifyDynamicInputResults(BertNLClassifier classifier) {
         List<Category> topics = classifier.classify("FooBarBaz");
         assertThat(topics.size()).isEqualTo(446);
-        // TODO(ag/19888344): Add a test for a long text input.
     }
 }
diff --git a/tensorflow_lite_support/java/src/native/task/core/minimal_op_resolver.cc b/tensorflow_lite_support/java/src/native/task/core/minimal_op_resolver.cc
index 31d693a..32d1054 100644
--- a/tensorflow_lite_support/java/src/native/task/core/minimal_op_resolver.cc
+++ b/tensorflow_lite_support/java/src/native/task/core/minimal_op_resolver.cc
@@ -15,7 +15,6 @@
 
 #include <memory>
 
-#include "absl/memory/memory.h"
 #include "tensorflow/lite/kernels/builtin_op_kernels.h"
 #include "tensorflow/lite/op_resolver.h"
 
@@ -23,21 +22,15 @@
 namespace task {
 
 // Create a minimal MutableOpResolver to provide only
-// the ops required by NLClassifier/BertNLClassifier.
+// the ops required by the bert_nl_classifier and rb_model for BertNLClassifier.
 std::unique_ptr<MutableOpResolver> CreateOpResolver() {
   MutableOpResolver resolver;
-  resolver.AddBuiltin(::tflite::BuiltinOperator_DEQUANTIZE,
-                      ::tflite::ops::builtin::Register_DEQUANTIZE());
   resolver.AddBuiltin(::tflite::BuiltinOperator_RESHAPE,
                       ::tflite::ops::builtin::Register_RESHAPE());
   resolver.AddBuiltin(::tflite::BuiltinOperator_GATHER,
                       ::tflite::ops::builtin::Register_GATHER());
   resolver.AddBuiltin(::tflite::BuiltinOperator_STRIDED_SLICE,
                       ::tflite::ops::builtin::Register_STRIDED_SLICE());
-  resolver.AddBuiltin(::tflite::BuiltinOperator_PAD,
-                      ::tflite::ops::builtin::Register_PAD());
-  resolver.AddBuiltin(::tflite::BuiltinOperator_CONCATENATION,
-                      ::tflite::ops::builtin::Register_CONCATENATION());
   resolver.AddBuiltin(::tflite::BuiltinOperator_FULLY_CONNECTED,
                       ::tflite::ops::builtin::Register_FULLY_CONNECTED());
   resolver.AddBuiltin(::tflite::BuiltinOperator_CAST,
@@ -54,7 +47,42 @@
                       ::tflite::ops::builtin::Register_PACK());
   resolver.AddBuiltin(::tflite::BuiltinOperator_SOFTMAX,
                       ::tflite::ops::builtin::Register_SOFTMAX());
-  return absl::make_unique<MutableOpResolver>(resolver);
+  resolver.AddBuiltin(::tflite::BuiltinOperator_EXPAND_DIMS,
+                      ::tflite::ops::builtin::Register_EXPAND_DIMS());
+  resolver.AddBuiltin(::tflite::BuiltinOperator_SHAPE,
+                      ::tflite::ops::builtin::Register_SHAPE());
+  resolver.AddBuiltin(::tflite::BuiltinOperator_FILL,
+                      ::tflite::ops::builtin::Register_FILL());
+  resolver.AddBuiltin(::tflite::BuiltinOperator_SUB,
+                      ::tflite::ops::builtin::Register_SUB());
+  resolver.AddBuiltin(::tflite::BuiltinOperator_MEAN,
+                      ::tflite::ops::builtin::Register_MEAN());
+  resolver.AddBuiltin(::tflite::BuiltinOperator_SQUARED_DIFFERENCE,
+                      ::tflite::ops::builtin::Register_SQUARED_DIFFERENCE());
+  resolver.AddBuiltin(::tflite::BuiltinOperator_RSQRT,
+                      ::tflite::ops::builtin::Register_RSQRT());
+  resolver.AddBuiltin(::tflite::BuiltinOperator_BATCH_MATMUL,
+                      ::tflite::ops::builtin::Register_BATCH_MATMUL());
+  resolver.AddBuiltin(::tflite::BuiltinOperator_GELU,
+                      ::tflite::ops::builtin::Register_GELU());
+  resolver.AddBuiltin(::tflite::BuiltinOperator_TANH,
+                      ::tflite::ops::builtin::Register_TANH());
+  resolver.AddBuiltin(::tflite::BuiltinOperator_LOGISTIC,
+                      ::tflite::ops::builtin::Register_LOGISTIC());
+  resolver.AddBuiltin(::tflite::BuiltinOperator_SLICE,
+                      ::tflite::ops::builtin::Register_SLICE());
+  // Needed for the test bert_nl_classifier model.
+  resolver.AddBuiltin(::tflite::BuiltinOperator_PAD,
+                      ::tflite::ops::builtin::Register_PAD());
+  resolver.AddBuiltin(::tflite::BuiltinOperator_CONCATENATION,
+                      ::tflite::ops::builtin::Register_CONCATENATION());
+  resolver.AddBuiltin(::tflite::BuiltinOperator_FULLY_CONNECTED,
+                      ::tflite::ops::builtin::Register_FULLY_CONNECTED(),
+                      /*version=*/9);
+  resolver.AddBuiltin(::tflite::BuiltinOperator_DEQUANTIZE,
+                      ::tflite::ops::builtin::Register_DEQUANTIZE(),
+                      /*version=*/2);
+  return std::make_unique<MutableOpResolver>(resolver);
 }
 
 }  // namespace task
diff --git a/third_party/zlib/Android.bp b/third_party/zlib/Android.bp
index c4a99b9..a0c7570 100644
--- a/third_party/zlib/Android.bp
+++ b/third_party/zlib/Android.bp
@@ -191,5 +191,6 @@
     apex_available: [
         "//apex_available:platform",
         "com.android.adservices",
+        "com.android.extservices",
     ],
 }