Fix Java header generation for attributes with nullable list type. (#26880)
diff --git a/scripts/py_matter_idl/matter_idl/generators/java/__init__.py b/scripts/py_matter_idl/matter_idl/generators/java/__init__.py
index b420968..8f37670 100644
--- a/scripts/py_matter_idl/matter_idl/generators/java/__init__.py
+++ b/scripts/py_matter_idl/matter_idl/generators/java/__init__.py
@@ -166,11 +166,17 @@
def DecodableJniType(field: Field, context: TypeLookupContext) -> str:
actual = _CppType(field, context)
+ needsConstRef = False
if field.is_list:
- return f"const chip::app::DataModel::DecodableList<{actual}> &"
+ needsConstRef = True
+ actual = f"chip::app::DataModel::DecodableList<{actual}>"
if field.is_nullable:
- return f"const chip::app::DataModel::Nullable<{actual}> &"
+ needsConstRef = True
+ actual = f"chip::app::DataModel::Nullable<{actual}>"
+
+ if needsConstRef:
+ actual = f"const {actual} &"
return actual