Fixed
Status Update
Comments
ng...@gmail.com <ng...@gmail.com> #2
The project uses plugin androidx.navigation.safeargs (version 1.0.0-alpha04) and that seems to change the version of the models to 3.2.0-beta03, causing the project to require an upgrade. If the plugin is removed from the project then the issue is gone. Can you confirm if the issue is gone after removing the plugin? I have attached a patch with the changes if needed.
fl...@google.com <fl...@google.com>
yb...@google.com <yb...@google.com> #3
So maybe this bug needs to be assigned to `androidx.navigation.safeargs` plugin team ?
th...@gmail.com <th...@gmail.com> #4
We need to review this plugin and see what it does in general.
The fact that a non final plugin depend on a non final version of our plugin and breaks things is sad but not something we can solve easily on our end. (we need to have other plugin depend on a more stable API artifact rather than specific versions of our plugin.
The fact that a non final plugin depend on a non final version of our plugin and breaks things is sad but not something we can solve easily on our end. (we need to have other plugin depend on a more stable API artifact rather than specific versions of our plugin.
ng...@gmail.com <ng...@gmail.com> #6
Project: platform/frameworks/support
Branch: androidx-master-dev
commit d276ac5482afaf12a78ea357fffe40b2a7964301
Author: Daniel Santiago Rivera <danysantiago@google.com>
Date: Mon Oct 22 14:18:06 2018
Set fixed Android Gradle Plugin dependency version for SafeArgs.
Fixing the version makes it so that if the plugin is updated to a beta
or alpha version for frameworks/support we don't ship SafeArgs with
a non-stable dependency that can cause olders Android Studio versions
to reject syncing.
Bug: 113167627
Test: SafeArgs Tests
Change-Id: Id2de86e4ac724d6d812ea6bd383059737695e948
M buildSrc/src/main/kotlin/androidx/build/dependencies/Dependencies.kt
M navigation/safe-args-gradle-plugin/build.gradle
https://android-review.googlesource.com/798471
https://goto.google.com/android-sha1/d276ac5482afaf12a78ea357fffe40b2a7964301
Branch: androidx-master-dev
commit d276ac5482afaf12a78ea357fffe40b2a7964301
Author: Daniel Santiago Rivera <danysantiago@google.com>
Date: Mon Oct 22 14:18:06 2018
Set fixed Android Gradle Plugin dependency version for SafeArgs.
Fixing the version makes it so that if the plugin is updated to a beta
or alpha version for frameworks/support we don't ship SafeArgs with
a non-stable dependency that can cause olders Android Studio versions
to reject syncing.
Bug: 113167627
Test: SafeArgs Tests
Change-Id: Id2de86e4ac724d6d812ea6bd383059737695e948
M buildSrc/src/main/kotlin/androidx/build/dependencies/Dependencies.kt
M navigation/safe-args-gradle-plugin/build.gradle
ap...@google.com <ap...@google.com> #7
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 105f01b7e716b5d9e228805c11b2e71fc1bebb7b
Author: Florina Muntenescu <florinam@google.com>
Date: Thu Oct 25 12:09:26 2018
Generating final params for DAO methods
Bug: 118015483
Test: DaoWriterTest
Change-Id: I7d511652450725e11e9be889e5f4aa907ec0739b
M room/compiler/src/main/kotlin/androidx/room/writer/DaoWriter.kt
M room/compiler/src/test/data/daoWriter/output/ComplexDao.java
M room/compiler/src/test/data/daoWriter/output/DeletionDao.java
M room/compiler/src/test/data/daoWriter/output/UpdateDao.java
M room/compiler/src/test/data/daoWriter/output/WriterDao.java
M room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/BooksDao.kt
M room/integration-tests/testapp/src/androidTest/java/androidx/room/integration/testapp/dao/UserDao.java
https://android-review.googlesource.com/814629
https://goto.google.com/android-sha1/105f01b7e716b5d9e228805c11b2e71fc1bebb7b
Branch: androidx-master-dev
commit 105f01b7e716b5d9e228805c11b2e71fc1bebb7b
Author: Florina Muntenescu <florinam@google.com>
Date: Thu Oct 25 12:09:26 2018
Generating final params for DAO methods
Bug: 118015483
Test: DaoWriterTest
Change-Id: I7d511652450725e11e9be889e5f4aa907ec0739b
M room/compiler/src/main/kotlin/androidx/room/writer/DaoWriter.kt
M room/compiler/src/test/data/daoWriter/output/ComplexDao.java
M room/compiler/src/test/data/daoWriter/output/DeletionDao.java
M room/compiler/src/test/data/daoWriter/output/UpdateDao.java
M room/compiler/src/test/data/daoWriter/output/WriterDao.java
M room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/BooksDao.kt
M room/integration-tests/testapp/src/androidTest/java/androidx/room/integration/testapp/dao/UserDao.java
da...@google.com <da...@google.com> #9
This fix was actually released in Room 2.1.0-alpha03.
Description
Version used: 2.1.0-alpha01
Devices/Android versions reproduced on: Nexus 5 (Android 6.0.1) and Emulator (Android 8)
Android Studio 3.3 Canary 13
I create this DAO
import androidx.room.*
import dominando.android.data_room.entity.Book
import io.reactivex.Completable
import io.reactivex.Flowable
import io.reactivex.Maybe
@Dao
interface BookDao {
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun save(book: Book): Completable
@Delete
fun delete(vararg book: Book): Completable
@Query("SELECT * FROM Book WHERE title LIKE :title ORDER BY title")
fun bookByTitle(title: String = "%"): Flowable<List<Book>>
@Query("SELECT * FROM Book WHERE id = :id")
fun bookById(id: String): Maybe<Book>
}
But compilation fails with this error.
error: local variable book is accessed from within inner class; needs to be declared final
When I look to the generated code, this is it.
@Override
public Completable save(Book book) {
return Completable.fromCallable(new Callable() {
@Override
public Void call() throws Exception {
__db.beginTransaction();
try {
__insertionAdapterOfBook.insert(book);
__db.setTransactionSuccessful();
return null;
} finally {
__db.endTransaction();
}
}
});
}
As you can see, book parameter is not marked as final and cannot be accessed inside of Completable.fromCallable.