Fixed
Status Update
Comments
gg...@google.com <gg...@google.com> #2
that is a bug. we should be able to resolve it properly.
le...@gmail.com <le...@gmail.com> #3
interesting, this works fine if the generic field is public final but does not work w/ getters setters.
gg...@google.com <gg...@google.com> #4
ok, turns out we are not properly processing methods when processing pojos.
That is why it works when I use a field.
I've created a CL that fixes the problem. Until it is shipped, you can workaround the problem by making that field public (preferably public final if possible).
Thanks for the report.
That is why it works when I use a field.
I've created a CL that fixes the problem. Until it is shipped, you can workaround the problem by making that field public (preferably public final if possible).
Thanks for the report.
le...@gmail.com <le...@gmail.com> #5
should be fixed in 1.1.0-alpha3
le...@gmail.com <le...@gmail.com> #6
Thanks!!!
le...@gmail.com <le...@gmail.com> #7
I may have made another mistake, but using @Embedded on the generic type doesn't seem to work for me. Sounds like it could be related to the fix. Do I open another bug for that one?
le...@gmail.com <le...@gmail.com> #8
Oops, submitted before attaching the example. Here it is:
public class BaseEntity<T extends BaseEmbeddedType> {
@Embedded
public T embeddedType;
}
Am I wrong in expecting this to work? It fails with an IllegalArgumentException in the Room processor:
Caused by: java.lang.IllegalArgumentException
at com.google.auto.common.MoreElements$2.defaultAction(MoreElements.java:95)
at com.google.auto.common.MoreElements$2.defaultAction(MoreElements.java:93)
at com.sun.tools.javac.code.Symbol$TypeVariableSymbol.accept(Symbol.java:821)
at com.google.auto.common.MoreElements.asType(MoreElements.java:125)
at com.google.auto.common.MoreTypes.asTypeElement(MoreTypes.java:541)
at android.arch.persistence.room.processor.PojoProcessor.processEmbeddedField(PojoProcessor.kt:367)
at android.arch.persistence.room.processor.PojoProcessor.doProcess(PojoProcessor.kt:150)
at android.arch.persistence.room.processor.PojoProcessor.access$doProcess(PojoProcessor.kt:73)
at android.arch.persistence.room.processor.PojoProcessor$process$1.invoke(PojoProcessor.kt:104)
at android.arch.persistence.room.processor.PojoProcessor$process$1.invoke(PojoProcessor.kt:73)
at android.arch.persistence.room.processor.cache.Cache$Bucket.get(Cache.kt:46)
at android.arch.persistence.room.processor.PojoProcessor.process(PojoProcessor.kt:101)
at android.arch.persistence.room.processor.EntityProcessor.doProcess(EntityProcessor.kt:68)
at android.arch.persistence.room.processor.EntityProcessor.access$doProcess(EntityProcessor.kt:50)
at android.arch.persistence.room.processor.EntityProcessor$process$1.invoke(EntityProcessor.kt:57)
at android.arch.persistence.room.processor.EntityProcessor$process$1.invoke(EntityProcessor.kt:50)
at android.arch.persistence.room.processor.cache.Cache$Bucket.get(Cache.kt:46)
at android.arch.persistence.room.processor.EntityProcessor.process(EntityProcessor.kt:56)
at android.arch.persistence.room.processor.DatabaseProcessor.processEntities(DatabaseProcessor.kt:248)
at android.arch.persistence.room.processor.DatabaseProcessor.doProcess(DatabaseProcessor.kt:63)
at android.arch.persistence.room.processor.DatabaseProcessor.process(DatabaseProcessor.kt:53)
at android.arch.persistence.room.RoomProcessor$DatabaseProcessingStep.process(RoomProcessor.kt:57)
at com.google.auto.common.BasicAnnotationProcessor.process(BasicAnnotationProcessor.java:318)
at com.google.auto.common.BasicAnnotationProcessor.process(BasicAnnotationProcessor.java:171)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:794)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:705)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.access$1800(JavacProcessingEnvironment.java:91)
at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1035)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1176)
at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1170)
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:856)
at com.sun.tools.javac.main.Main.compile(Main.java:523)
... 52 more
public class BaseEntity<T extends BaseEmbeddedType> {
@Embedded
public T embeddedType;
}
Am I wrong in expecting this to work? It fails with an IllegalArgumentException in the Room processor:
Caused by: java.lang.IllegalArgumentException
at com.google.auto.common.MoreElements$2.defaultAction(MoreElements.java:95)
at com.google.auto.common.MoreElements$2.defaultAction(MoreElements.java:93)
at com.sun.tools.javac.code.Symbol$TypeVariableSymbol.accept(Symbol.java:821)
at com.google.auto.common.MoreElements.asType(MoreElements.java:125)
at com.google.auto.common.MoreTypes.asTypeElement(MoreTypes.java:541)
at android.arch.persistence.room.processor.PojoProcessor.processEmbeddedField(PojoProcessor.kt:367)
at android.arch.persistence.room.processor.PojoProcessor.doProcess(PojoProcessor.kt:150)
at android.arch.persistence.room.processor.PojoProcessor.access$doProcess(PojoProcessor.kt:73)
at android.arch.persistence.room.processor.PojoProcessor$process$1.invoke(PojoProcessor.kt:104)
at android.arch.persistence.room.processor.PojoProcessor$process$1.invoke(PojoProcessor.kt:73)
at android.arch.persistence.room.processor.cache.Cache$Bucket.get(Cache.kt:46)
at android.arch.persistence.room.processor.PojoProcessor.process(PojoProcessor.kt:101)
at android.arch.persistence.room.processor.EntityProcessor.doProcess(EntityProcessor.kt:68)
at android.arch.persistence.room.processor.EntityProcessor.access$doProcess(EntityProcessor.kt:50)
at android.arch.persistence.room.processor.EntityProcessor$process$1.invoke(EntityProcessor.kt:57)
at android.arch.persistence.room.processor.EntityProcessor$process$1.invoke(EntityProcessor.kt:50)
at android.arch.persistence.room.processor.cache.Cache$Bucket.get(Cache.kt:46)
at android.arch.persistence.room.processor.EntityProcessor.process(EntityProcessor.kt:56)
at android.arch.persistence.room.processor.DatabaseProcessor.processEntities(DatabaseProcessor.kt:248)
at android.arch.persistence.room.processor.DatabaseProcessor.doProcess(DatabaseProcessor.kt:63)
at android.arch.persistence.room.processor.DatabaseProcessor.process(DatabaseProcessor.kt:53)
at android.arch.persistence.room.RoomProcessor$DatabaseProcessingStep.process(RoomProcessor.kt:57)
at com.google.auto.common.BasicAnnotationProcessor.process(BasicAnnotationProcessor.java:318)
at com.google.auto.common.BasicAnnotationProcessor.process(BasicAnnotationProcessor.java:171)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:794)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:705)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.access$1800(JavacProcessingEnvironment.java:91)
at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1035)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1176)
at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1170)
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:856)
at com.sun.tools.javac.main.Main.compile(Main.java:523)
... 52 more
le...@gmail.com <le...@gmail.com> #9
I've recorded a video of an amount of attempts to type "guge", which is attached below:
1. high speed typing - several different results containing the right one ”谷歌“.
2. slow typing - nothing went wrong with the correct suggested word "谷歌" in the first position.
1. high speed typing - several different results containing the right one ”谷歌“.
2. slow typing - nothing went wrong with the correct suggested word "谷歌" in the first position.
gg...@google.com <gg...@google.com> #10
Our engineering team has fixed this issue. It will be available in a future Android release.
le...@gmail.com <le...@gmail.com> #11
thank you very much
Description
device: OnePlus 5
OS: OxygenOS 5.0.4 based on Android 8.0.0
Gboard version: 7.1.8.191763606-release-arm64-v8a
when i was going to input "谷歌输入法", it turned out to be unexpectedly bizarre, like this: