Propagate recovery_available property through to sdk snapshot

Needed for jni_headers which is marked as recovery_available because libchrome
is also marked and that library is used by others that are the recovery
partition. There may be other dependency paths that require jni_headers to be
recovery_available that was just the first one found.

Bug: 168301990
Test: m nothing
Change-Id: I916ecfe7700b9c153b29115e849da148fc7e7a76
diff --git a/cc/library_sdk_member.go b/cc/library_sdk_member.go
index c6b0bf0..7187360 100644
--- a/cc/library_sdk_member.go
+++ b/cc/library_sdk_member.go
@@ -119,6 +119,10 @@
 
 	ccModule := member.Variants()[0].(*Module)
 
+	if proptools.Bool(ccModule.Properties.Recovery_available) {
+		pbm.AddProperty("recovery_available", true)
+	}
+
 	if proptools.Bool(ccModule.VendorProperties.Vendor_available) {
 		pbm.AddProperty("vendor_available", true)
 	}
diff --git a/sdk/cc_sdk_test.go b/sdk/cc_sdk_test.go
index 0811ef5..8c9e228 100644
--- a/sdk/cc_sdk_test.go
+++ b/sdk/cc_sdk_test.go
@@ -1672,6 +1672,7 @@
 			],
 			export_include_dirs: ["include"],
 			stl: "none",
+			recovery_available: true,
 			vendor_available: true,
 		}
 	`)
@@ -1684,6 +1685,7 @@
     name: "myexports_mynativelib@current",
     sdk_member_name: "mynativelib",
     installable: false,
+    recovery_available: true,
     vendor_available: true,
     stl: "none",
     compile_multilib: "both",
@@ -1711,6 +1713,7 @@
 cc_prebuilt_library {
     name: "mynativelib",
     prefer: false,
+    recovery_available: true,
     vendor_available: true,
     stl: "none",
     compile_multilib: "both",