diff --git a/android/path_properties.go b/android/path_properties.go index ea925654e..6210aee91 100644 --- a/android/path_properties.go +++ b/android/path_properties.go @@ -109,9 +109,9 @@ func pathPropertiesForPropertyStruct(ctx BottomUpMutatorContext, ps interface{}) case reflect.Struct: intf := sv.Interface() if configurable, ok := intf.(proptools.Configurable[string]); ok { - ret = append(ret, proptools.String(configurable.Evaluate(ctx))) + ret = append(ret, configurable.GetOrDefault(ctx, "")) } else if configurable, ok := intf.(proptools.Configurable[[]string]); ok { - ret = append(ret, proptools.Slice(configurable.Evaluate(ctx))...) + ret = append(ret, configurable.GetOrDefault(ctx, nil)...) } else { panic(fmt.Errorf(`field %s in type %s has tag android:"path" but is not a string or slice of strings, it is a %s`, v.Type().FieldByIndex(i).Name, v.Type(), sv.Type())) diff --git a/android/selects_test.go b/android/selects_test.go index ec0847ffe..e59b3e65d 100644 --- a/android/selects_test.go +++ b/android/selects_test.go @@ -489,11 +489,11 @@ type selectsMockModule struct { func (p *selectsMockModule) GenerateAndroidBuildActions(ctx ModuleContext) { SetProvider(ctx, selectsTestProviderKey, selectsTestProvider{ - my_bool: p.properties.My_bool.Evaluate(ctx), - my_string: p.properties.My_string.Evaluate(ctx), - my_string_list: p.properties.My_string_list.Evaluate(ctx), - my_paths: p.properties.My_paths.Evaluate(ctx), - replacing_string_list: p.properties.Replacing_string_list.Evaluate(ctx), + my_bool: p.properties.My_bool.Get(ctx), + my_string: p.properties.My_string.Get(ctx), + my_string_list: p.properties.My_string_list.Get(ctx), + my_paths: p.properties.My_paths.Get(ctx), + replacing_string_list: p.properties.Replacing_string_list.Get(ctx), }) }