Merge "all active branches are now T aware"
diff --git a/Tethering/apex/Android.bp b/Tethering/apex/Android.bp
index b3cae7c..4a4e6ee 100644
--- a/Tethering/apex/Android.bp
+++ b/Tethering/apex/Android.bp
@@ -18,6 +18,20 @@
     default_applicable_licenses: ["Android-Apache-2.0"],
 }
 
+prebuilt_etc {
+    name: "TetheringInProcessFlag",
+    src: "in-process",
+    filename_from_src: true,
+    sub_dir: "flag",
+}
+
+prebuilt_etc {
+    name: "TetheringOutOfProcessFlag",
+    src: "out-of-process",
+    filename_from_src: true,
+    sub_dir: "flag",
+}
+
 // Defaults to enable/disable java targets which uses development APIs. "enabled" may have a
 // different value depending on the branch.
 java_defaults {
@@ -82,6 +96,7 @@
     prebuilts: [
         "current_sdkinfo",
         "privapp_allowlist_com.android.tethering",
+        "TetheringOutOfProcessFlag",
     ],
     manifest: "manifest.json",
     key: "com.android.tethering.key",
@@ -187,4 +202,9 @@
         "ServiceConnectivityResources",
         "InProcessTethering",
     ],
+    prebuilts: [
+        "current_sdkinfo",
+        "privapp_allowlist_com.android.tethering",
+        "TetheringInProcessFlag",
+    ],
 }
diff --git a/Tethering/apex/in-process b/Tethering/apex/in-process
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Tethering/apex/in-process
diff --git a/Tethering/apex/out-of-process b/Tethering/apex/out-of-process
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Tethering/apex/out-of-process
diff --git a/tests/mts/bpf_existence_test.cpp b/tests/mts/bpf_existence_test.cpp
index bbc8e5e..bed0ff8 100644
--- a/tests/mts/bpf_existence_test.cpp
+++ b/tests/mts/bpf_existence_test.cpp
@@ -146,31 +146,42 @@
     addAll(unexpected, INTRODUCED_R);
     addAll(unexpected, INTRODUCED_S);
     addAll(unexpected, INTRODUCED_T);
+    addAll(unexpected, INTRODUCED_T_5_4);
+    addAll(unexpected, INTRODUCED_T_5_15);
 
     if (IsAtLeastR()) {
-        addAll(expected, INTRODUCED_R);
         removeAll(unexpected, INTRODUCED_R);
+        addAll(expected, INTRODUCED_R);
+
         // Nothing removed in R.
     }
 
     if (IsAtLeastS()) {
-        addAll(expected, INTRODUCED_S);
-        removeAll(expected, REMOVED_S);
-
-        addAll(unexpected, REMOVED_S);
         removeAll(unexpected, INTRODUCED_S);
+        addAll(expected, INTRODUCED_S);
+
+        removeAll(expected, REMOVED_S);
+        addAll(unexpected, REMOVED_S);
     }
 
     // Nothing added or removed in SCv2.
 
     if (IsAtLeastT()) {
-        addAll(expected, INTRODUCED_T);
-        if (android::bpf::isAtLeastKernelVersion(5, 4, 0)) addAll(expected, INTRODUCED_T_5_4);
-        if (android::bpf::isAtLeastKernelVersion(5, 15, 0)) addAll(expected, INTRODUCED_T_5_15);
-        removeAll(expected, REMOVED_T);
-
-        addAll(unexpected, REMOVED_T);
         removeAll(unexpected, INTRODUCED_T);
+        addAll(expected, INTRODUCED_T);
+
+        if (android::bpf::isAtLeastKernelVersion(5, 4, 0)) {
+            removeAll(unexpected, INTRODUCED_T_5_4);
+            addAll(expected, INTRODUCED_T_5_4);
+        }
+
+        if (android::bpf::isAtLeastKernelVersion(5, 15, 0)) {
+            removeAll(unexpected, INTRODUCED_T_5_15);
+            addAll(expected, INTRODUCED_T_5_15);
+        }
+
+        removeAll(expected, REMOVED_T);
+        addAll(unexpected, REMOVED_T);
     }
 }