Status Update
Comments
my...@gmail.com <my...@gmail.com> #2
Branch: androidx-master-dev
commit c6ef3e2ebec135a8b0a1495fee98e2a70b454486
Author: Daniel Santiago Rivera <danysantiago@google.com>
Date: Mon Nov 12 11:42:26 2018
Support ListenableFuture<T> as return type for shortcut methods.
Created method binder providers and method binder for supporting
ListenableFuture as return types in DAO methods with @Insert, @Update
and @Delete.
Bug: 119418331
Test: ./gradlew :room:integration-tests:testapp:assembleAndroidTest
Change-Id: I1f1e36e6e7fad68b035df81587b3bee97f2c3d1d
M room/compiler/src/main/kotlin/androidx/room/solver/TypeAdapterStore.kt
A room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/GuavaListenableFutureDeleteOrUpdateMethodBinder.kt
A room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/GuavaListenableFutureInsertMethodBinder.kt
A room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/GuavaListenableFutureDeleteOrUpdateMethodBinderProvider.kt
A room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/GuavaListenableFutureInsertMethodBinderProvider.kt
A room/compiler/src/test/data/common/input/GuavaRoom.java
A room/compiler/src/test/data/common/input/guava/ListenableFuture.java
M room/compiler/src/test/kotlin/androidx/room/processor/ShortcutMethodProcessorTest.kt
M room/compiler/src/test/kotlin/androidx/room/solver/TypeAdapterStoreTest.kt
M room/compiler/src/test/kotlin/androidx/room/testing/test_util.kt
M room/guava/src/main/java/androidx/room/guava/GuavaRoom.java
M room/integration-tests/testapp/src/androidTest/java/androidx/room/integration/testapp/dao/UserDao.java
se...@google.com <se...@google.com>
jb...@google.com <jb...@google.com> #3
That looks to still be using the previous version. Could you upload a minimal sample project using 2.3.0-alpha05 that reproduces your issue?
my...@gmail.com <my...@gmail.com> #4
The sample at #1 should be using 2.3.0-alpha05 out of the box. I do not have a minimal sample at the time, sorry.
jb...@google.com <jb...@google.com> #5
That sample was using lifecycle 2.2.0 when I opened it. Upgraded it to 2.3.0-alpha05 and got an ObsoleteLintCustomCheck which is being addressed in
Gonna close this as not reproducible, and once you get a chance to reproduce it, just upload it here and would be happy to take a look.
my...@gmail.com <my...@gmail.com> #6
Can you try this again:
Lint produced by Circle CI:
../../src/main/java/be/mygod/vpnhotspot/client/ClientViewModel.kt: Unexpected failure during lint analysis of ClientViewModel.kt (this is a bug in lint or one of the libraries it depends on)
Message: null cannot be cast to non-null type org.jetbrains.uast.UAnnotated
The crash seems to involve the detector androidx.lifecycle.lint.NonNullableMutableLiveDataDetector.
You can try disabling it with something like this:
android {
lintOptions {
disable "NullSafeMutableLiveData"
}
}
Stack: TypeCastException:NonNullableMutableLiveDataDetectorKt.isNullable(NonNullableMutableLiveDataDetector.kt:197)
←NonNullableMutableLiveDataDetector.visitMethodCall(NonNullableMutableLiveDataDetector.kt:133)
←UElementVisitor$DelegatingPsiVisitor.visitMethodCallExpression(UElementVisitor.kt:1079)
←UElementVisitor$DelegatingPsiVisitor.visitCallExpression(UElementVisitor.kt:1059)
←KotlinUFunctionCallExpression.accept(KotlinUFunctionCallExpression.kt:205)
←UQualifiedReferenceExpression$DefaultImpls.accept(UQualifiedReferenceExpression.kt:34)
←KotlinUQualifiedReferenceExpression.accept(KotlinUQualifiedReferenceExpression.kt:27)
←ImplementationUtilsKt.acceptList(implementationUtils.kt:23)
You can set environment variable LINT_PRINT_STACKTRACE=true to dump a full stacktrace to stdout.
Also reproducible locally on Android Studio 4.1 beta 3.
jb...@google.com <jb...@google.com> #7
Still couldn't make see in the app. But was able to reproduce based on the class throwing the error and get a fix.
ap...@google.com <ap...@google.com> #8
Branch: androidx-master-dev
commit 236cdbe9c248e30d0120e5c23933b74581ae9198
Author: Jeremy Woods <jbwoods@google.com>
Date: Thu Jul 09 11:00:56 2020
Fix NullSafeMutableLiveData resolve error
When attempting to assign a MutableList to a MutableLiveData value, the
lint rule can fail to resolve a DOT_EXPRESSION and throw an error.
We should add null checks to avoid the error.
Test: Added NonNullableMutableLiveData test
Bug: 159987480
Change-Id: Ie3136bdd5362e7aa699a2b0b2f42caac03ed5217
M lifecycle/lifecycle-livedata-core-ktx-lint/build.gradle
M lifecycle/lifecycle-livedata-core-ktx-lint/src/main/java/androidx/lifecycle/lint/NonNullableMutableLiveDataDetector.kt
M lifecycle/lifecycle-livedata-core-ktx-lint/src/test/java/androidx/lifecycle/lint/NonNullableMutableLiveDataDetectorTest.kt
jb...@google.com <jb...@google.com> #9
This has been fixed internally and will be available in the Lifecycle 2.3.0-alpha06 release.
my...@gmail.com <my...@gmail.com> #10
Hi the error at line 133 seems resolved in alpha06 but the error at line 105 is still there.
b9...@gmail.com <b9...@gmail.com> #11
jb...@google.com <jb...@google.com> #12
please file a new bug with a minimal sample project.
Description
Component & version used:
Devices/Android versions reproduced on: N/A
Source code:https://github.com/Mygod/VPNHotspot/commit/cc14f607ef48bba755350e68bef68c0f256377fd
Circle CI build:https://app.circleci.com/pipelines/github/Mygod/VPNHotspot/92/workflows/6676d5ec-59eb-4353-845a-4a398c53d90f/jobs/459/steps (should be accessible with any account)
Relevant part of compiler output: