Fixed
Status Update
Comments
ab...@gmail.com <ab...@gmail.com> #2
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.room:room-compiler:2.7.0-alpha07
yb...@google.com <yb...@google.com>
ya...@google.com <ya...@google.com> #3
I haven't been able to reproduce this. I created a test with the same pattern (@Embedded field in the parent class), but it is working fine in 2.1.0-alpha and 1.1.1.
http://r.android.com/864049
Are there any other conditions?
Are there any other conditions?
yb...@google.com <yb...@google.com> #4
Никита, can you provide a sample application that reproduces this error ?
ab...@gmail.com <ab...@gmail.com> #5
yes, ready: https://github.com/abbath0767/RoomBugReport
For ChildSecond in generated class SecondDao_Impl (in the case FirstDao_Impl is not a problem) i see next code:
final ContactDetails _tmpContactDetails;
if (! (_cursor.isNull(_cursorIndexOfPhoneNumber) && _cursor.isNull(_cursorIndexOfCountryCode))) {
final String _tmpPhoneNumber;
_tmpPhoneNumber = _cursor.getString(_cursorIndexOfPhoneNumber);
final String _tmpCountryCode;
_tmpCountryCode = _cursor.getString(_cursorIndexOfCountryCode);
_tmpContactDetails = new ContactDetails(_tmpPhoneNumber,_tmpCountryCode);
} else {
_tmpContactDetails = null;
}
_item = new ChildSecond(_tmpEntityId,_tmpSomeField,null);
That is, the problem is exactly the same
For ChildSecond in generated class SecondDao_Impl (in the case FirstDao_Impl is not a problem) i see next code:
final ContactDetails _tmpContactDetails;
if (! (_cursor.isNull(_cursorIndexOfPhoneNumber) && _cursor.isNull(_cursorIndexOfCountryCode))) {
final String _tmpPhoneNumber;
_tmpPhoneNumber = _cursor.getString(_cursorIndexOfPhoneNumber);
final String _tmpCountryCode;
_tmpCountryCode = _cursor.getString(_cursorIndexOfCountryCode);
_tmpContactDetails = new ContactDetails(_tmpPhoneNumber,_tmpCountryCode);
} else {
_tmpContactDetails = null;
}
_item = new ChildSecond(_tmpEntityId,_tmpSomeField,null);
That is, the problem is exactly the same
ab...@gmail.com <ab...@gmail.com> #6
i check it on 2.1.0-alpha03 and issue has reproduce
ya...@google.com <ya...@google.com> #7
Thank you, I can reproduce this now. I'll work on a fix.
da...@google.com <da...@google.com>
ai...@gmail.com <ai...@gmail.com> #8
When child class has empty constructor, field is set to null
[Deleted User] <[Deleted User]> #9
please - Is there any non-AndroidX room library that this bug is known to a) occur in or b) not occur in?
Description
Version used: 1.1.0
Devices/Android versions reproduced on: all
I have two classes:
parent class - parent.kt
child class - child.kt
and standart dao.
But allways return data with null value - contactDetails. In generated code i will see next:
```
//...
final ContactDetails _tmpContactDetails;
if (! (_cursor.isNull(_cursorIndexOfCountryCode) && _cursor.isNull(_cursorIndexOfPhoneNumber))) {
final String _tmpCountryCode;
_tmpCountryCode = _cursor.getString(_cursorIndexOfCountryCode);
final String _tmpPhoneNumber;
_tmpPhoneNumber = _cursor.getString(_cursorIndexOfPhoneNumber);
_tmpContactDetails = new ContactDetails(_tmpCountryCode,_tmpPhoneNumber);
} else {
_tmpContactDetails = null;
}
_item = new ShareAccount(_tmpShareId,_tmpEntityId,_tmpUserId,_tmpOwnerId,null,_tmpCreatedAt,_tmpModifiedAt,_tmpAction);
/....
```
that is, regardless of the value of _tmpContactDetails, it will eventually be set to null.