Prepare android rules for Starlark `CcInfo`.

Starlark version of `CcInfo` will not have `build_info()` files as an attribute, because:
* It is a private attribute which is now enforced by Java code, however once the provider is in pure Starlark the convention is to have a field to start with an `_` if it is private.
* It is discouraged to have functions as provider fields therefore the new field will be `_build_info_files`.

PiperOrigin-RevId: 595205549
Change-Id: I16cffe4a971d65f6c83aa2b9f69a92fc09046f32
diff --git a/rules/native_deps.bzl b/rules/native_deps.bzl
index 1500c47..ab58850 100644
--- a/rules/native_deps.bzl
+++ b/rules/native_deps.bzl
@@ -243,10 +243,17 @@
     return getattr(ctx.attr, "stamp", 0)
 
 def _get_build_info(ctx, cc_toolchain):
-    if _is_stamping_enabled(ctx):
-        return cc_toolchain.build_info_files().non_redacted_build_info_files.to_list()
+    # TODO(gnish): This is a temporary workaround until Blaze with Starlark CcToolchainInfo is released.
+    if hasattr(cc_toolchain, "_build_info_files"):
+        # For Starlark CcToolchainInfo.
+        build_info_collection = cc_toolchain._build_info_files
     else:
-        return cc_toolchain.build_info_files().redacted_build_info_files.to_list()
+        # For native CcToolchainInfo.
+        build_info_collection = cc_toolchain.build_info_files()
+    if _is_stamping_enabled(ctx):
+        return build_info_collection.non_redacted_build_info_files.to_list()
+    else:
+        return build_info_collection.redacted_build_info_files.to_list()
 
 def _get_shared_native_deps_path(
         linker_inputs,