Fixed
Status Update
Comments
uc...@google.com <uc...@google.com> #2
il...@gmail.com <il...@gmail.com> #3
> We accept pull requests! :)
Is there a public repo somewhere? I don't see any obvious repo for it inhttps://android.googlesource.com , and it doesn't seem to be inside https://android.googlesource.com/platform/frameworks/support .
Room supports final fields (yay!), which probably will suffice for many people with respect to this feature request.
Is there a public repo somewhere? I don't see any obvious repo for it in
Room supports final fields (yay!), which probably will suffice for many people with respect to this feature request.
il...@gmail.com <il...@gmail.com> #4
Room supports immutability (it can use arg constructors) but does not directly support AutoValue. It is in the schedule but not high priority :/. Idk much about its internals at this stage so I'm not sure how we would implement it but should be totally doable.
Sorry we don't have the source release yet :/.
Sorry we don't have the source release yet :/.
vs...@google.com <vs...@google.com>
en...@google.com <en...@google.com> #5
"It is in the schedule but not high priority" -- completely understandable.
"Sorry we don't have the source release yet :/." -- ah, OK, I thought perhaps with the pull request comment, that meant that there was a repo somewhere that I had overlooked.
Thanks!
"Sorry we don't have the source release yet :/." -- ah, OK, I thought perhaps with the pull request comment, that meant that there was a repo somewhere that I had overlooked.
Thanks!
zy...@google.com <zy...@google.com> #6
Add autovalue support also means you can easily achieve parcelable by https://github.com/rharter/auto-value-parcel . Please consider support this.
en...@google.com <en...@google.com> #7
AutoValue is really a handy way to ensure data integrity.
en...@google.com <en...@google.com> #8
Please add AutoValue support. AutoValue is a Google library with really good benefits such as toString() , hashCode() , AutoValue.Builder , checks at creation time if @NonNull values are null, etc.
jo...@googlemail.com <jo...@googlemail.com> #9
FWIW, issue 64206877 is not publicly accessible.
ch...@gmx.de <ch...@gmx.de> #10
@Yigit: That appears to be a private ticket. Any way we can have access to keep up with it?
ts...@gmail.com <ts...@gmail.com> #11
Have any updates?
yo...@gmail.com <yo...@gmail.com> #12
news?
ch...@gmail.com <ch...@gmail.com> #13
Is there any update? This is huge for app that absolutely enforces immutable entities.
bo...@gmail.com <bo...@gmail.com> #14
SqlDelight has out of the box support for AutoValue. Use it with SqlBrite and you've got *pretty good* parity with Room. With the lack of movement on this ticket, I'd suggest at least taking a look at those if AutoValue is important to you.
me...@morl.au <me...@morl.au> #15
Support on olways
me...@morl.au <me...@morl.au> #16
Sorry this used to be higher priority but other features got in the way (and to be honest, androidX migration took a lot more time than we thought).
I want to make 1 thing clear though, Room does support immutable entities. One of the reasons why this ticket lost some priority is that it is specific to AutoValue, not immutability. If you are using Kotlin, data classes give you the same power and Room supports them properly. (hence, there is an easy way to achieve immutability w/ Room).
The issue in this one is that we don't have out of the box support to discover AutoValue builders.
We still plan to do this, sorry that it is taking longer than we initially communicated.
I want to make 1 thing clear though, Room does support immutable entities. One of the reasons why this ticket lost some priority is that it is specific to AutoValue, not immutability. If you are using Kotlin, data classes give you the same power and Room supports them properly. (hence, there is an easy way to achieve immutability w/ Room).
The issue in this one is that we don't have out of the box support to discover AutoValue builders.
We still plan to do this, sorry that it is taking longer than we initially communicated.
me...@morl.au <me...@morl.au> #17
I'd like to piggy back onto this issue, because I've fun into a similar problem with immutability that does NOT involve autovalue. What I have found is either a bug or a missing feature, depending on your perspective.
Let's say I have a Kotlin data class with only `val` properties. I want to serialize this into my Room database, but I want to decorate it with a few other values, for example a timestamp so I know when it was last updated, and a userId because my database supports multiple users. Oh look! There's an annotation `@Embedded` that seems to do just want I want. I can create a new class specific to Room persistence, add the few new properties I want, and then "embed" the original object, and damn that was easy.
Oh no. Now my project won't compile. It seems that embedded objects must have public getters -- all my `val`s must now be `var`s. D:
Sigh. I guess I'll just write a new class that has _all_ the properties of the original, plus a few more, and write an extension function to transform from one to the other. Really glad Room saved me all that Sqlite boilerplate, so I now have time for Room-specific boilerplate ;-)
Let's say I have a Kotlin data class with only `val` properties. I want to serialize this into my Room database, but I want to decorate it with a few other values, for example a timestamp so I know when it was last updated, and a userId because my database supports multiple users. Oh look! There's an annotation `@Embedded` that seems to do just want I want. I can create a new class specific to Room persistence, add the few new properties I want, and then "embed" the original object, and damn that was easy.
Oh no. Now my project won't compile. It seems that embedded objects must have public getters -- all my `val`s must now be `var`s. D:
Sigh. I guess I'll just write a new class that has _all_ the properties of the original, plus a few more, and write an extension function to transform from one to the other. Really glad Room saved me all that Sqlite boilerplate, so I now have time for Room-specific boilerplate ;-)
ba...@gmail.com <ba...@gmail.com> #18
*public setters, not public getters
ch...@gmx.de <ch...@gmx.de> #19
#17 seems like a bug, we are supposed to handle Embedded fields in constructor parameters.
Can you file a bug with a sample project ?
We do have a test for having embedded as a constructor parameter, so maybe something else is wrong.
from one of our tests:
@Entity(tableName = "fc")
static class FullConstructor {
@PrimaryKey
public final int a;
public final int b;
@Embedded
public final MyEmbedded embedded;
FullConstructor(int a, int b, MyEmbedded embedded) {
this.a = a;
this.b = b;
this.embedded = embedded;
}
}
Can you file a bug with a sample project ?
We do have a test for having embedded as a constructor parameter, so maybe something else is wrong.
from one of our tests:
@Entity(tableName = "fc")
static class FullConstructor {
@PrimaryKey
public final int a;
public final int b;
@Embedded
public final MyEmbedded embedded;
FullConstructor(int a, int b, MyEmbedded embedded) {
this.a = a;
this.b = b;
this.embedded = embedded;
}
}
ar...@gmail.com <ar...@gmail.com> #20
Sure, I'd be happy to put up a sample project. I'll try to pull something together later today or maybe tomorrow.
ar...@gmail.com <ar...@gmail.com> #21
Well, I tried. Either I did something wrong the first time, or... I did something wrong the first time :shrug-emoji: Tried reproducing in a sample project, couldn't. Mystified, I tried again in my much more complex work project -- couldn't. So, I guess that's a good thing!
fe...@gmail.com <fe...@gmail.com> #22
if added this feature will be good!
ni...@gmail.com <ni...@gmail.com> #23
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 8c2d348127161daaf624f77d80cb662e65e3af2a
Author: Daniel Santiago Rivera <danysantiago@google.com>
Date: Fri Jul 13 15:18:42 2018
Add support for using AutoValue classes as Pojos and Entities.
Support using AutoValue generated classes as Pojos by processing the
AutoValue_* generated class that contains fields and getter
implementations.
To support the AutoValue api @PrimaryKey and @ColumnInfo have been
opened up to target methods. However, since we only want to allow their
usage in methods to support AutoValue a new processing step was added
that throws an error if it finds a method not implement by AutoValue
with any of these two annotations.
Note that Embedded and Relations are not yet supported.
Bug: 62408420
Test: ./gradlew :room:room-compiler:test \
:room:integration-tests:testapp:cC \
:room:integration-tests:autovaluetestapp:cC
Change-Id: I782d6ec074776f7af7cae977848443f3311b1d87
M app-toolkit/settings.gradle
M buildSrc/src/main/kotlin/androidx/build/dependencies/Dependencies.kt
M room/common/src/main/java/androidx/room/ColumnInfo.java
M room/common/src/main/java/androidx/room/PrimaryKey.java
M room/compiler/build.gradle
M room/compiler/src/main/kotlin/androidx/room/RoomProcessor.kt
A room/compiler/src/main/kotlin/androidx/room/checker/AutoValueTargetChecker.kt
M room/compiler/src/main/kotlin/androidx/room/ext/element_ext.kt
M room/compiler/src/main/kotlin/androidx/room/processor/EntityProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/processor/PojoProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/processor/ProcessorErrors.kt
M room/compiler/src/main/kotlin/androidx/room/processor/RawQueryMethodProcessor.kt
A room/compiler/src/main/kotlin/androidx/room/processor/autovalue/AutoValuePojoProcessorDelegate.kt
M room/compiler/src/main/kotlin/androidx/room/solver/TypeAdapterStore.kt
M room/compiler/src/main/kotlin/androidx/room/vo/Constructor.kt
M room/compiler/src/main/kotlin/androidx/room/vo/Warning.kt
M room/compiler/src/main/kotlin/androidx/room/writer/FieldReadWriteWriter.kt
M room/compiler/src/test/kotlin/androidx/room/processor/EntityProcessorTest.kt
M room/compiler/src/test/kotlin/androidx/room/processor/PojoProcessorTest.kt
A room/compiler/src/test/kotlin/androidx/room/processor/autovalue/AutoValuePojoProcessorDelegateTest.kt
A room/compiler/src/test/kotlin/androidx/room/processor/checker/AutoValueTargetCheckerTest.kt
M room/compiler/src/test/kotlin/androidx/room/testing/test_util.kt
A room/integration-tests/autovaluetestapp/.gitignore
A room/integration-tests/autovaluetestapp/build.gradle
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/TestDatabase.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/dao/ParcelableEntityDao.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/dao/PersonDao.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/dao/PetDao.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/test/ParcelableEntityDaoTest.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/test/PersonDaoTest.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/test/PetDaoTest.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/test/TestDatabaseTest.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/vo/EmbeddedAutoValue.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/vo/ParcelableEntity.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/vo/Person.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/vo/Pet.java
A room/integration-tests/autovaluetestapp/src/main/AndroidManifest.xml
M settings.gradle
https://android-review.googlesource.com/720548
https://goto.google.com/android-sha1/8c2d348127161daaf624f77d80cb662e65e3af2a
Branch: androidx-master-dev
commit 8c2d348127161daaf624f77d80cb662e65e3af2a
Author: Daniel Santiago Rivera <danysantiago@google.com>
Date: Fri Jul 13 15:18:42 2018
Add support for using AutoValue classes as Pojos and Entities.
Support using AutoValue generated classes as Pojos by processing the
AutoValue_* generated class that contains fields and getter
implementations.
To support the AutoValue api @PrimaryKey and @ColumnInfo have been
opened up to target methods. However, since we only want to allow their
usage in methods to support AutoValue a new processing step was added
that throws an error if it finds a method not implement by AutoValue
with any of these two annotations.
Note that Embedded and Relations are not yet supported.
Bug: 62408420
Test: ./gradlew :room:room-compiler:test \
:room:integration-tests:testapp:cC \
:room:integration-tests:autovaluetestapp:cC
Change-Id: I782d6ec074776f7af7cae977848443f3311b1d87
M app-toolkit/settings.gradle
M buildSrc/src/main/kotlin/androidx/build/dependencies/Dependencies.kt
M room/common/src/main/java/androidx/room/ColumnInfo.java
M room/common/src/main/java/androidx/room/PrimaryKey.java
M room/compiler/build.gradle
M room/compiler/src/main/kotlin/androidx/room/RoomProcessor.kt
A room/compiler/src/main/kotlin/androidx/room/checker/AutoValueTargetChecker.kt
M room/compiler/src/main/kotlin/androidx/room/ext/element_ext.kt
M room/compiler/src/main/kotlin/androidx/room/processor/EntityProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/processor/PojoProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/processor/ProcessorErrors.kt
M room/compiler/src/main/kotlin/androidx/room/processor/RawQueryMethodProcessor.kt
A room/compiler/src/main/kotlin/androidx/room/processor/autovalue/AutoValuePojoProcessorDelegate.kt
M room/compiler/src/main/kotlin/androidx/room/solver/TypeAdapterStore.kt
M room/compiler/src/main/kotlin/androidx/room/vo/Constructor.kt
M room/compiler/src/main/kotlin/androidx/room/vo/Warning.kt
M room/compiler/src/main/kotlin/androidx/room/writer/FieldReadWriteWriter.kt
M room/compiler/src/test/kotlin/androidx/room/processor/EntityProcessorTest.kt
M room/compiler/src/test/kotlin/androidx/room/processor/PojoProcessorTest.kt
A room/compiler/src/test/kotlin/androidx/room/processor/autovalue/AutoValuePojoProcessorDelegateTest.kt
A room/compiler/src/test/kotlin/androidx/room/processor/checker/AutoValueTargetCheckerTest.kt
M room/compiler/src/test/kotlin/androidx/room/testing/test_util.kt
A room/integration-tests/autovaluetestapp/.gitignore
A room/integration-tests/autovaluetestapp/build.gradle
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/TestDatabase.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/dao/ParcelableEntityDao.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/dao/PersonDao.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/dao/PetDao.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/test/ParcelableEntityDaoTest.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/test/PersonDaoTest.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/test/PetDaoTest.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/test/TestDatabaseTest.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/vo/EmbeddedAutoValue.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/vo/ParcelableEntity.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/vo/Person.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/vo/Pet.java
A room/integration-tests/autovaluetestapp/src/main/AndroidManifest.xml
M settings.gradle
t....@gmail.com <t....@gmail.com> #24
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 038e674add5afddbb34371b9c1fda6885efbd7be
Author: Daniel Santiago Rivera <danysantiago@google.com>
Date: Fri Jul 13 15:18:42 2018
Add support for using AutoValue classes as Pojos and Entities.
Support using AutoValue generated classes as Pojos by processing the
AutoValue_* generated class that contains fields and getter
implementations.
To support the AutoValue api @PrimaryKey and @ColumnInfo have been
opened up to target methods. However, since we only want to allow their
usage in methods to support AutoValue a new processing step was added
that throws an error if it finds a method not implement by AutoValue
with any of these two annotations.
Note that Embedded and Relations are not yet supported.
Bug: 62408420
Test: ./gradlew :room:room-compiler:test \
:room:integration-tests:testapp:cC \
:room:integration-tests:autovaluetestapp:cC
Change-Id: Idce0b5934e0aa864117fc95e7d19a7edc2c94f9f
M app-toolkit/settings.gradle
M buildSrc/src/main/kotlin/androidx/build/dependencies/Dependencies.kt
M room/common/src/main/java/androidx/room/ColumnInfo.java
M room/common/src/main/java/androidx/room/PrimaryKey.java
M room/compiler/build.gradle
M room/compiler/src/main/kotlin/androidx/room/RoomProcessor.kt
A room/compiler/src/main/kotlin/androidx/room/checker/AutoValueTargetChecker.kt
M room/compiler/src/main/kotlin/androidx/room/ext/element_ext.kt
M room/compiler/src/main/kotlin/androidx/room/processor/EntityProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/processor/PojoProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/processor/ProcessorErrors.kt
M room/compiler/src/main/kotlin/androidx/room/processor/RawQueryMethodProcessor.kt
A room/compiler/src/main/kotlin/androidx/room/processor/autovalue/AutoValuePojoProcessorDelegate.kt
M room/compiler/src/main/kotlin/androidx/room/solver/TypeAdapterStore.kt
M room/compiler/src/main/kotlin/androidx/room/vo/Constructor.kt
M room/compiler/src/main/kotlin/androidx/room/vo/Warning.kt
M room/compiler/src/main/kotlin/androidx/room/writer/FieldReadWriteWriter.kt
M room/compiler/src/test/kotlin/androidx/room/processor/EntityProcessorTest.kt
M room/compiler/src/test/kotlin/androidx/room/processor/PojoProcessorTest.kt
A room/compiler/src/test/kotlin/androidx/room/processor/autovalue/AutoValuePojoProcessorDelegateTest.kt
A room/compiler/src/test/kotlin/androidx/room/processor/checker/AutoValueTargetCheckerTest.kt
M room/compiler/src/test/kotlin/androidx/room/testing/test_util.kt
A room/integration-tests/autovaluetestapp/.gitignore
A room/integration-tests/autovaluetestapp/build.gradle
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/TestDatabase.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/dao/ParcelableEntityDao.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/dao/PersonDao.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/dao/PetDao.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/test/ParcelableEntityDaoTest.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/test/PersonDaoTest.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/test/PetDaoTest.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/test/TestDatabaseTest.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/vo/EmbeddedAutoValue.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/vo/ParcelableEntity.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/vo/Person.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/vo/Pet.java
A room/integration-tests/autovaluetestapp/src/main/AndroidManifest.xml
M settings.gradle
https://android-review.googlesource.com/720788
https://goto.google.com/android-sha1/038e674add5afddbb34371b9c1fda6885efbd7be
Branch: androidx-master-dev
commit 038e674add5afddbb34371b9c1fda6885efbd7be
Author: Daniel Santiago Rivera <danysantiago@google.com>
Date: Fri Jul 13 15:18:42 2018
Add support for using AutoValue classes as Pojos and Entities.
Support using AutoValue generated classes as Pojos by processing the
AutoValue_* generated class that contains fields and getter
implementations.
To support the AutoValue api @PrimaryKey and @ColumnInfo have been
opened up to target methods. However, since we only want to allow their
usage in methods to support AutoValue a new processing step was added
that throws an error if it finds a method not implement by AutoValue
with any of these two annotations.
Note that Embedded and Relations are not yet supported.
Bug: 62408420
Test: ./gradlew :room:room-compiler:test \
:room:integration-tests:testapp:cC \
:room:integration-tests:autovaluetestapp:cC
Change-Id: Idce0b5934e0aa864117fc95e7d19a7edc2c94f9f
M app-toolkit/settings.gradle
M buildSrc/src/main/kotlin/androidx/build/dependencies/Dependencies.kt
M room/common/src/main/java/androidx/room/ColumnInfo.java
M room/common/src/main/java/androidx/room/PrimaryKey.java
M room/compiler/build.gradle
M room/compiler/src/main/kotlin/androidx/room/RoomProcessor.kt
A room/compiler/src/main/kotlin/androidx/room/checker/AutoValueTargetChecker.kt
M room/compiler/src/main/kotlin/androidx/room/ext/element_ext.kt
M room/compiler/src/main/kotlin/androidx/room/processor/EntityProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/processor/PojoProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/processor/ProcessorErrors.kt
M room/compiler/src/main/kotlin/androidx/room/processor/RawQueryMethodProcessor.kt
A room/compiler/src/main/kotlin/androidx/room/processor/autovalue/AutoValuePojoProcessorDelegate.kt
M room/compiler/src/main/kotlin/androidx/room/solver/TypeAdapterStore.kt
M room/compiler/src/main/kotlin/androidx/room/vo/Constructor.kt
M room/compiler/src/main/kotlin/androidx/room/vo/Warning.kt
M room/compiler/src/main/kotlin/androidx/room/writer/FieldReadWriteWriter.kt
M room/compiler/src/test/kotlin/androidx/room/processor/EntityProcessorTest.kt
M room/compiler/src/test/kotlin/androidx/room/processor/PojoProcessorTest.kt
A room/compiler/src/test/kotlin/androidx/room/processor/autovalue/AutoValuePojoProcessorDelegateTest.kt
A room/compiler/src/test/kotlin/androidx/room/processor/checker/AutoValueTargetCheckerTest.kt
M room/compiler/src/test/kotlin/androidx/room/testing/test_util.kt
A room/integration-tests/autovaluetestapp/.gitignore
A room/integration-tests/autovaluetestapp/build.gradle
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/TestDatabase.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/dao/ParcelableEntityDao.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/dao/PersonDao.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/dao/PetDao.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/test/ParcelableEntityDaoTest.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/test/PersonDaoTest.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/test/PetDaoTest.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/test/TestDatabaseTest.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/vo/EmbeddedAutoValue.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/vo/ParcelableEntity.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/vo/Person.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/vo/Pet.java
A room/integration-tests/autovaluetestapp/src/main/AndroidManifest.xml
M settings.gradle
ch...@gmail.com <ch...@gmail.com> #25
Project: platform/frameworks/support
Branch: androidx-master-dev
commit b4e0fe5d54a89ce8ce9a852774892c498edd4508
Author: Daniel Santiago Rivera <danysantiago@google.com>
Date: Mon Jul 23 19:51:46 2018
Add support for @Embedded in AutoValue Pojos.
Bug: 62408420
Test: ./gradlew :room:integration-tests:autovaluetestapp:cC
Change-Id: I4aa02aae022e4971a8708c4aba4cf9f3e90f65a5
M room/common/src/main/java/androidx/room/Embedded.java
M room/compiler/src/main/kotlin/androidx/room/checker/AutoValueTargetChecker.kt
M room/compiler/src/test/kotlin/androidx/room/processor/checker/AutoValueTargetCheckerTest.kt
M room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/dao/PersonDao.java
M room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/dao/PetDao.java
M room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/test/PersonDaoTest.java
M room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/test/PetDaoTest.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/vo/PersonAndCat.java
M room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/vo/Pet.java
https://android-review.googlesource.com/720896
https://goto.google.com/android-sha1/b4e0fe5d54a89ce8ce9a852774892c498edd4508
Branch: androidx-master-dev
commit b4e0fe5d54a89ce8ce9a852774892c498edd4508
Author: Daniel Santiago Rivera <danysantiago@google.com>
Date: Mon Jul 23 19:51:46 2018
Add support for @Embedded in AutoValue Pojos.
Bug: 62408420
Test: ./gradlew :room:integration-tests:autovaluetestapp:cC
Change-Id: I4aa02aae022e4971a8708c4aba4cf9f3e90f65a5
M room/common/src/main/java/androidx/room/Embedded.java
M room/compiler/src/main/kotlin/androidx/room/checker/AutoValueTargetChecker.kt
M room/compiler/src/test/kotlin/androidx/room/processor/checker/AutoValueTargetCheckerTest.kt
M room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/dao/PersonDao.java
M room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/dao/PetDao.java
M room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/test/PersonDaoTest.java
M room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/test/PetDaoTest.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/vo/PersonAndCat.java
M room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/vo/Pet.java
sa...@gmail.com <sa...@gmail.com> #26
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 0f55cbbe13e26294af67aca6bce0e13a960ae752
Author: Daniel Santiago Rivera <danysantiago@google.com>
Date: Mon Jul 30 17:06:22 2018
Add support for @Relation in AutoValue Pojos.
Bug: 62408420
Test: ./gradlew :room:integration-tests:autovaluetestapp:cC
Change-Id: I7634ac388e328dca9c33f7ac422080b42b362ee0
M room/common/src/main/java/androidx/room/Relation.java
M room/compiler/src/main/kotlin/androidx/room/checker/AutoValueTargetChecker.kt
M room/compiler/src/test/kotlin/androidx/room/processor/checker/AutoValueTargetCheckerTest.kt
M room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/dao/PersonDao.java
M room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/dao/PetDao.java
M room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/test/PersonDaoTest.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/vo/PersonWithCats.java
https://android-review.googlesource.com/723664
https://goto.google.com/android-sha1/0f55cbbe13e26294af67aca6bce0e13a960ae752
Branch: androidx-master-dev
commit 0f55cbbe13e26294af67aca6bce0e13a960ae752
Author: Daniel Santiago Rivera <danysantiago@google.com>
Date: Mon Jul 30 17:06:22 2018
Add support for @Relation in AutoValue Pojos.
Bug: 62408420
Test: ./gradlew :room:integration-tests:autovaluetestapp:cC
Change-Id: I7634ac388e328dca9c33f7ac422080b42b362ee0
M room/common/src/main/java/androidx/room/Relation.java
M room/compiler/src/main/kotlin/androidx/room/checker/AutoValueTargetChecker.kt
M room/compiler/src/test/kotlin/androidx/room/processor/checker/AutoValueTargetCheckerTest.kt
M room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/dao/PersonDao.java
M room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/dao/PetDao.java
M room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/test/PersonDaoTest.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/vo/PersonWithCats.java
ma...@gmail.com <ma...@gmail.com> #27
This feature will be available in Room 2.1.0
ad...@gmail.com <ad...@gmail.com> #28
Does this means it could be used only with AutoValue, and not with other code generators like Immutables https://immutables.github.io/ ?
In that case it's really limited.
Can you provide way to have static factory methods instead of constructors? Then we can use whatever code generator.
Like:
@RoomFactoryMethod
public static MyEntity create(int id, String name) {
return ImmutableMyEntity.of(id, name);
}
In that case it's really limited.
Can you provide way to have static factory methods instead of constructors? Then we can use whatever code generator.
Like:
@RoomFactoryMethod
public static MyEntity create(int id, String name) {
return ImmutableMyEntity.of(id, name);
}
vi...@gmail.com <vi...@gmail.com> #29
Yes, this is specific to AutoValue (we also support regular java immutables and kotlin) as this solves the problem w/o any extra code on the developer side.
Having an entity factory method seems reasonable too as a future improvement.
Having an entity factory method seems reasonable too as a future improvement.
ak...@gmail.com <ak...@gmail.com> #30
Would it be possible to support the AutoValue Builder pattern? Currently the only supported pattern appears to require a create() method.
ak...@gmail.com <ak...@gmail.com> #31
Your AutoValue class can have an @AutoValue.Builder along side with a create() method as shown here: https://android.googlesource.com/platform/frameworks/support/+/androidx-master-dev/room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/vo/Person.java . If you are asking for Room to solely support the Builder pattern without any create() method then please file a separate issue since that is not currently available.
ma...@gmail.com <ma...@gmail.com> #33
Nexus 5X, I reflashed with ADB (25.0.3) but no luck! guess it's doomed
a6...@gmail.com <a6...@gmail.com> #34
Following #16,#23 and #26's suggestion (sorry I cannot view their full name), it works for me.
win10 x64
platform-tools r25.0.3 (link at #16)
oneplus 3t Oxygen OS
win10 x64
platform-tools r25.0.3 (link at #16)
oneplus 3t Oxygen OS
a6...@gmail.com <a6...@gmail.com> #35
Following #16,#23 and #26's suggestion (sorry I cannot view their full name), it works for me.
win10 x64
platform-tools r25.0.3 (link at #16)
oneplus 3t Oxygen OS
win10 x64
platform-tools r25.0.3 (link at #16)
oneplus 3t Oxygen OS
en...@google.com <en...@google.com> #36
yes, using the previous version (available at https://dl.google.com/android/repository/platform-tools_r25.0.3-windows.zip ) is the best workaround for now. 25.0.5 should be released at 10:00 America/Los_Angeles time on Monday, at which point adb.exe will only need 64KiB to sideload a package no matter how large it is.
en...@google.com <en...@google.com> #37
bl...@gmail.com <bl...@gmail.com> #38
Still receiving this error on 25.0.5 with Nexus 6p 7.1.2 OTA image. angler-ota-n2g47h-f3bffaba.zip
en...@google.com <en...@google.com> #39
@38: you're almost certainly not running the new adb.
sc...@gmail.com <sc...@gmail.com> #40
deleted old platform-tools dir, downloaded 25.0.5, extracted, still receiving this error
en...@google.com <en...@google.com> #41
output of "adb --version"?
bl...@gmail.com <bl...@gmail.com> #42
c:\> adb --version
Android Debug Bridge version 1.0.39
Revision 3db08f2c6889-android
downloaded last night from:
https://developer.android.com/studio/releases/platform-tools.html
Android Debug Bridge version 1.0.39
Revision 3db08f2c6889-android
downloaded last night from:
en...@google.com <en...@google.com> #43
screenshot of the full error output?
bl...@gmail.com <bl...@gmail.com> #44
screenshot attached
en...@google.com <en...@google.com> #45
huh. given the "falling back to older sideload method" message, this kinda makes sense --- i didn't touch the old sideload codepath.
but it doesn't really make sense: you really shouldn't be on that codepath talking to a 6P. i think JellyBean was the last release that used the older sideload method! it looks like we'll give the old method a go regardless of how the new method fails. so my suspicion is that your real problem is that adb isn't able to talk to your 6P and falls back to the old method just in case (even though we know that won't work because the 6P is too new, adb doesn't).
the output from
adb kill-server
set ADB_TRACE=all
adb sideload <whatever you've been doing>
might be informative.
but it doesn't really make sense: you really shouldn't be on that codepath talking to a 6P. i think JellyBean was the last release that used the older sideload method! it looks like we'll give the old method a go regardless of how the new method fails. so my suspicion is that your real problem is that adb isn't able to talk to your 6P and falls back to the old method just in case (even though we know that won't work because the 6P is too new, adb doesn't).
the output from
adb kill-server
set ADB_TRACE=all
adb sideload <whatever you've been doing>
might be informative.
bl...@gmail.com <bl...@gmail.com> #46
Hope this helps!
en...@google.com <en...@google.com> #47
yeah, the "no devices/emulators found" is pretty much what i was expecting to see. what does "adb devices" say? i'm assuming that can't see your device either.
(have you ever sideloaded before? you know that you have to get the device ready to receive before "adb sideload" will work?)
(have you ever sideloaded before? you know that you have to get the device ready to receive before "adb sideload" will work?)
am...@gmail.com <am...@gmail.com> #48
I had no devices connected. Had to unplug and reconnect my phone. Then it worked. You should add that step to the official instructions here: https://developers.google.com/android/ota
bl...@gmail.com <bl...@gmail.com> #49
C:\WINDOWS\system32>adb devices
List of devices attached
8XV7N15B24004979 device
Is that my device?
I have never sideloaded. I haven't messed with a rom since Samsung S3 days.
I would think that it sees my device since I can do the "adb reboot recovery"
List of devices attached
8XV7N15B24004979 device
Is that my device?
I have never sideloaded. I haven't messed with a rom since Samsung S3 days.
I would think that it sees my device since I can do the "adb reboot recovery"
en...@google.com <en...@google.com> #50
@daniel: i've no idea whether that's your device :-) but what i can tell you is that if your device was actually in sideload mode, it would say "sideload" rather than "device". so that seems like your problem. see step 4 of the instructions at https://developers.google.com/android/ota .
@miguel: that's actually a 6P bug where it drops off USB when it reboots. i'm assuming that's fixed in O, but you're right that it might be worth adding an "adb devices" step to the instructions. i'll see what i can do.
i've uploadedhttps://android-review.googlesource.com/387532/ to improve the error messages. a future version of adb asked to sideload without any devices connected will instead say:
$ adb sideload mysid-ota-424425.zip
adb: sideload connection failed: no devices/emulators found
adb: trying pre-KitKat sideload method...
adb: pre-KitKat sideload connection failed: no devices/emulators found
@miguel: that's actually a 6P bug where it drops off USB when it reboots. i'm assuming that's fixed in O, but you're right that it might be worth adding an "adb devices" step to the instructions. i'll see what i can do.
i've uploaded
$ adb sideload mysid-ota-424425.zip
adb: sideload connection failed: no devices/emulators found
adb: trying pre-KitKat sideload method...
adb: pre-KitKat sideload connection failed: no devices/emulators found
bl...@gmail.com <bl...@gmail.com> #51
i ran adb devices with phone just plugged in. previous time i ran the sideload i had followed step 4.
i unplugged and replugged in my phone and got a installing drivers screen. looks like it is working now???!!
I'm at the serving :~2% so far.
i unplugged and replugged in my phone and got a installing drivers screen. looks like it is working now???!!
I'm at the serving :~2% so far.
lo...@gmail.com <lo...@gmail.com> #52
I can confirm I no longer experience bad_alloc with 25.0.5 on Windows 10 x64
bl...@gmail.com <bl...@gmail.com> #53
Confirmed as well. Once i unplugged and replugged in my phone and got an installing drivers screen while in recovery mode.
cb...@gmail.com <cb...@gmail.com> #54
I am still getting the crash on the most recent version with a 6P. How do I check the version of adb that I am running? I only downloaded it from Google today.
cb...@gmail.com <cb...@gmail.com> #55
Follow up to #54, I also rebooted into recovery, selected update from adb, while on the screen waiting for the package, I unplugged and replugged in my phone, adb status changed to sideload, sent the package, loaded as usual.
en...@google.com <en...@google.com> #56
adb --version will tell you what version you're using. if you include the screenshot of your error message (or just look for " falling back to older sideload method..." and you're not trying to sideload to a pre-KitKat device) we can see if it's the same "adb can't see your device" problem as the other two folks. "adb devices" before "adb sideload" will show you whether (a) adb can see your device and (b) whether it's actually showing up in "sideload" mode.
ja...@gmail.com <ja...@gmail.com> #57
+1 same issue on Windows 10 with Android Debug Bridge version 1.0.39, platform-tools 25.0.5, Pixel XL.
opening '.\marlin-ota-n2g47o-61bf55a3.zip'...
connecting...
falling back to older sideload method...
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
I tried unplugging and plugging back in once recovery was up, no change.
opening '.\marlin-ota-n2g47o-61bf55a3.zip'...
connecting...
falling back to older sideload method...
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
I tried unplugging and plugging back in once recovery was up, no change.
ja...@gmail.com <ja...@gmail.com> #58
Update to #57, looks like I wasn't in sideload mode. Even with that, I think adb shouldn't crash but rather exit with an error message like 'no devices in sideload found' or something to that effect.
en...@google.com <en...@google.com> #59
@57: that's what we've done for a future release. see my comment #50 .
i've also updated the public instructions athttps://developers.google.com/android/ota to recommend folks check that their device is actually in sideload mode.
i've also updated the public instructions at
li...@gmail.com <li...@gmail.com> #60
Now unlock your device and confirm the backup operation...
PS C:\Users\wohen> adb reboot sideload "D:\download\Compressed\update.zip"
PS C:\Users\wohen> adb sideload "D:\download\Compressed\update.zip"
loading: 'D:\download\Compressed\update.zip'...
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
...........................................................
PS C:\Users\wohen> adb reboot sideload "D:\download\Compressed\update.zip"
PS C:\Users\wohen> adb sideload "D:\download\Compressed\update.zip"
loading: 'D:\download\Compressed\update.zip'...
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
...........................................................
en...@google.com <en...@google.com> #61
i can tell from the first line that you're running an old version. please upgrade to 25.0.5.
am...@gmail.com <am...@gmail.com> #62
Android lolipop 5.1.1
am...@gmail.com <am...@gmail.com> #63
Lyf wind 7
da...@gmail.com <da...@gmail.com> #64
All best tq
sa...@gmail.com <sa...@gmail.com> #65
Heloo semua
sa...@gmail.com <sa...@gmail.com> #66
#santosrudy05
al...@gmail.com <al...@gmail.com> #67
Hizmet
az...@gmail.com <az...@gmail.com> #68
[Deleted User] <[Deleted User]> #69
Brinton
10...@gmail.com <10...@gmail.com> #70
Fucker
[Deleted User] <[Deleted User]> #71
0633601601
ka...@gmail.com <ka...@gmail.com> #72
Cheng my device
[Deleted User] <[Deleted User]> #73
Hi
gi...@gmail.com <gi...@gmail.com> #76
Check out the one who's been trying to destroy people me and my children in particular and hurt little kids...ka....@gmail or LH@gmail. Now....Bo...at gmail. I'm Bo but the way the one who lost all three of my babys due to her and jr. Dunns decipt along with her little online friends she was my wife of 8 years moved me and the kids here after setting my up in my company by saying she'd do the books and I'd do the work not only did she do that ....talk about clash of clans...she molested a 14 year old girl. Raped her with her boyfriend I never new anything about ...the state tool all my children and both KAYLA BOAK AND JEFFREY GABBERD ARE IN MANATEE COUNTY JAIL. FACING LIFE FOR KIDNAPING RAPE ECT....JUST LOOK UP THEIR NAMES kayla boak Bradenton florida.....They supposedly ran a land escaping company together called the landscape connection 9412509643. And kayla's was 9412414667....she made flyers for this man and at least gave him a shot to be a business man. All I have now is deep depression fro me and my children and have nothing to show for 8 years....it was most likely because she didn't but in the effort she just wanted to set me up watch me fail and get 3 kids out of me ....I'm in florida now doing everything I can to get my kids and go home I'll never stop fighting...all I can do now I'd even if its just 100 a day if I can feed my kids and there with me and not some sick freaks I will be more thankful than ever ....don't expect kayla and Lowe and jr to hang on to much longer unless there just plain hatefull....the stare of florida is offering them life in prison...he has like a 500,000 bond and hers is pathetically incredible too...check out Google and type I'm kayla boak bradenton itll pull up. And if you want the real details of these sick fucks please feel free to google manatee cleark of courts web page put in her first and last name it tells all....I'm so sorry for that little girl and her family I hope to god I never see them again....she has shamed our whole family so she could use drugs and cheet on a good husband....oh well I'm a great person and so are my babys someone will love is and be loyal one day. I wont loose hope or stop fighting. Anyhow tha I you for the time ...if you do the research it's worth the read....ypu never really know someone I suppose. Please pray for me and my kids it's all i have to keep going foward. Tha is again . BO Edwards
gi...@gmail.com <gi...@gmail.com> #77
Ps . Please ask jr Dunn and the person who kayla set me up years ago in 2015 to remove that stupid repository on me ..I'd be .I'm not a bad man at all I gave it my all with her but she lied and cheated us out of our heard work . I have nothing to show in my life but a rented bedroom and a broke down SUV and a car I bought my 16year old son I'm lonely broken down and hurt as are my kids. So if you have any kinda hearts please leave us in peace now. Me and my kids. We would be very thankful
..and JR of you still want to be with some that evil to hurt little 14 and 12 year old girls go for it. And be sure and bring your gun like you promised in your encrypted letter I decoded.....I wasnt scared when I drove to Texas for kayla and my front door is open every night . So if that's who you are so be it I'm scared of no man! I just hope your not that stupid in both manners frankly but do as ye will. And I'll be waiting.
..and JR of you still want to be with some that evil to hurt little 14 and 12 year old girls go for it. And be sure and bring your gun like you promised in your encrypted letter I decoded.....I wasnt scared when I drove to Texas for kayla and my front door is open every night . So if that's who you are so be it I'm scared of no man! I just hope your not that stupid in both manners frankly but do as ye will. And I'll be waiting.
ab...@gmail.com <ab...@gmail.com> #78
انتهاك خصوصية
Description
Platform-tools rev.25.0.4
Steps to reproduce:
1. Run "adb sideload <file>".
2. Error is here.
On Platform-tools rev.25.0.3 its fine.