Fixed the unexpected scenario for "device_supported"

cc_defaults {
    name: boo,
    device_supported: false,
}

cc_library_static {
    name: foo,
    defaults: [boo],
}

Soong still tried to build foo_android_arm/arm64 device target which is not what we
expected.

Test: m -j checkbuild

Change-Id: I26a67c9ea024f5458f0818def0fa10cecc5fb7cf
diff --git a/android/module.go b/android/module.go
index 18810fb..7f541be 100644
--- a/android/module.go
+++ b/android/module.go
@@ -216,12 +216,7 @@
 	base.commonProperties.ArchSpecific = true
 
 	switch hod {
-	case HostAndDeviceSupported:
-		// Default to module to device supported, host not supported, can override in module
-		// properties
-		base.hostAndDeviceProperties.Device_supported = boolPtr(true)
-		fallthrough
-	case HostAndDeviceDefault:
+	case HostAndDeviceSupported, HostAndDeviceDefault:
 		m.AddProperties(&base.hostAndDeviceProperties)
 	}
 
@@ -363,7 +358,8 @@
 		if Bool(a.hostAndDeviceProperties.Host_supported) {
 			supported = append(supported, Host, HostCross)
 		}
-		if Bool(a.hostAndDeviceProperties.Device_supported) {
+		if a.hostAndDeviceProperties.Device_supported == nil ||
+			*a.hostAndDeviceProperties.Device_supported {
 			supported = append(supported, Device)
 		}
 		return supported
@@ -375,7 +371,8 @@
 func (a *ModuleBase) DeviceSupported() bool {
 	return a.commonProperties.HostOrDeviceSupported == DeviceSupported ||
 		a.commonProperties.HostOrDeviceSupported == HostAndDeviceSupported &&
-			Bool(a.hostAndDeviceProperties.Device_supported)
+			(a.hostAndDeviceProperties.Device_supported == nil ||
+				*a.hostAndDeviceProperties.Device_supported)
 }
 
 func (a *ModuleBase) Enabled() bool {