Migrate additional flags to Starlark.

--internal_persistent_busybox_tools
--internal_persistent_multiplex_busybox_tools​
--internal_persistent_android_dex_desugar
--internal_persistent_multiplex_android_dex_desugar

PiperOrigin-RevId: 949706149
Change-Id: I3d1d47aa9e240632236d66c9ea218ea3217817eb
diff --git a/rules/busybox.bzl b/rules/busybox.bzl
index 6ce5fda..13b7919 100644
--- a/rules/busybox.bzl
+++ b/rules/busybox.bzl
@@ -14,6 +14,7 @@
 """Bazel ResourcesBusyBox Commands."""
 
 load("//rules:visibility.bzl", "PROJECT_VISIBILITY")
+load("//rules/flags:flags.bzl", "read_possibly_native_flag")
 load(":busybox_compat.bzl", "AAPT2_COMPAT_FLAGS")
 load(":java.bzl", _java = "java")
 
@@ -132,15 +133,15 @@
     )
 
 def _set_worker_mode_param_file(ctx, args):
-    if (ctx.fragments.android.persistent_busybox_tools or
-        ctx.fragments.android.persistent_multiplex_busybox_tools):
+    if (read_possibly_native_flag(ctx, "internal_persistent_busybox_tools") or
+        read_possibly_native_flag(ctx, "internal_persistent_multiplex_busybox_tools")):
         # Only sets param file mode when worker mode is enabled.
         args.use_param_file("@%s", use_always = True)
         args.set_param_file_format("multiline")
 
 def _set_warning_level(ctx, args):
-    if (ctx.fragments.android.persistent_busybox_tools or
-        ctx.fragments.android.persistent_multiplex_busybox_tools):
+    if (read_possibly_native_flag(ctx, "internal_persistent_busybox_tools") or
+        read_possibly_native_flag(ctx, "internal_persistent_multiplex_busybox_tools")):
         # Disable warnings - this are output to stdin/stderr which breaks worker mode
         args.add("--logWarnings=false")
 
@@ -845,8 +846,8 @@
     )
 
 def _java_run(ctx, mnemonic = None, *args, **kwargs):
-    enable_workers = ctx.fragments.android.persistent_busybox_tools
-    multiplex_workers = ctx.fragments.android.persistent_multiplex_busybox_tools
+    enable_workers = read_possibly_native_flag(ctx, "internal_persistent_busybox_tools")
+    multiplex_workers = read_possibly_native_flag(ctx, "internal_persistent_multiplex_busybox_tools")
 
     _java.run(ctx, mnemonic = mnemonic, supports_workers = enable_workers, supports_multiplex_workers = multiplex_workers, *args, **kwargs)
 
diff --git a/rules/dex.bzl b/rules/dex.bzl
index eacbb03..9d82101 100644
--- a/rules/dex.bzl
+++ b/rules/dex.bzl
@@ -19,6 +19,7 @@
 load("//rules:common.bzl", _common = "common")
 load("//rules:java.bzl", _java = "java")
 load("//rules:visibility.bzl", "PROJECT_VISIBILITY")
+load("//rules/flags:flags.bzl", "read_possibly_native_flag")
 load("@bazel_skylib//lib:collections.bzl", "collections")
 load(":utils.bzl", "ANDROID_TOOLCHAIN_TYPE", "get_android_toolchain", "utils")
 
@@ -431,9 +432,9 @@
         args.add("--min_sdk_version", min_sdk_version)
 
     execution_requirements = {}
-    if ctx.fragments.android.persistent_android_dex_desugar:
+    if read_possibly_native_flag(ctx, "internal_persistent_android_dex_desugar"):
         execution_requirements["supports-workers"] = "1"
-        if ctx.fragments.android.persistent_multiplex_android_dex_desugar:
+        if read_possibly_native_flag(ctx, "internal_persistent_multiplex_android_dex_desugar"):
             execution_requirements["supports-multiplex-workers"] = "1"
 
     ctx.actions.run(
diff --git a/rules/flags/flags.bzl b/rules/flags/flags.bzl
index b966106..70f8770 100644
--- a/rules/flags/flags.bzl
+++ b/rules/flags/flags.bzl
@@ -195,6 +195,22 @@
         lambda ctx: ctx.fragments.android.compress_java_resources,
         "starlark",
     ),
+    "internal_persistent_android_dex_desugar": (
+        lambda ctx: ctx.fragments.android.persistent_android_dex_desugar,
+        "starlark",
+    ),
+    "internal_persistent_busybox_tools": (
+        lambda ctx: ctx.fragments.android.persistent_busybox_tools,
+        "starlark",
+    ),
+    "internal_persistent_multiplex_android_dex_desugar": (
+        lambda ctx: ctx.fragments.android.persistent_multiplex_android_dex_desugar,
+        "starlark",
+    ),
+    "internal_persistent_multiplex_busybox_tools": (
+        lambda ctx: ctx.fragments.android.persistent_multiplex_busybox_tools,
+        "starlark",
+    ),
 }
 
 def read_possibly_native_flag(ctx, flag_name):