Handle IgnorePrefer32OnDevice() in first_prefer32 path properties

This was causing missing dependency errors because the arch mutator
will replace first_prefer32 with first when IgnorePrefer32OnDevice()
is set.

Bug: 372091092
Test: m nothing with aosp/3315229 on a device that sets IgnorePrefer32OnDevice()
Change-Id: I04e4d7f95500befaf65cde58e9e16f643307b0a8
diff --git a/android/path_properties.go b/android/path_properties.go
index b4fabeb..55a4dc0 100644
--- a/android/path_properties.go
+++ b/android/path_properties.go
@@ -86,13 +86,18 @@
 	// properties tagged path_device_first_prefer32 get the first 32 bit target if one is available,
 	// otherwise they use the first 64 bit target
 	if len(pathDeviceFirstPrefer32Properties) > 0 {
-		firstPrefer32Target := FirstTarget(ctx.Config().Targets[Android], "lib32", "lib64")
-		if len(firstPrefer32Target) == 0 {
+		var targets []Target
+		if ctx.Config().IgnorePrefer32OnDevice() {
+			targets, _ = decodeMultilibTargets("first", ctx.Config().Targets[Android], false)
+		} else {
+			targets, _ = decodeMultilibTargets("first_prefer32", ctx.Config().Targets[Android], false)
+		}
+		if len(targets) == 0 {
 			ctx.ModuleErrorf("Could not find a first_prefer32 target")
 		} else {
 			for _, s := range pathDeviceFirstPrefer32Properties {
 				if m, t := SrcIsModuleWithTag(s); m != "" {
-					ctx.AddVariationDependencies(firstPrefer32Target[0].Variations(), sourceOrOutputDepTag(m, t), m)
+					ctx.AddVariationDependencies(targets[0].Variations(), sourceOrOutputDepTag(m, t), m)
 				}
 			}
 		}