Fixed
Status Update
Comments
yb...@google.com <yb...@google.com> #2
Project: platform/frameworks/support
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
https://android-review.googlesource.com/823581
https://goto.google.com/android-sha1/c6ef3e2ebec135a8b0a1495fee98e2a70b454486
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
Description
Version used: 1.1.0-alpha1
Devices/Android versions reproduced on: O MR1
This is like
// This Kotlin interface...
@Dao
interface MyDao {
@Transaction
fun doSomething() {
// ...
}
}
// ... looks like this from Java
@Metadata(
mv = {1, 1, 9},
bv = {1, 0, 2},
k = 1,
d1 = {"\u0000\u0010\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u0002\n\u0000\bg\u0018\u00002\u00020\u0001J\b\u0010\u0002\u001a\u00020\u0003H\u0017¨\u0006\u0004"},
d2 = {"Landroid/arch/persistence/room/integration/kotlintestapp/MyDao;", "", "doSomething", "", "test sources for module kotlintestapp"}
)
@Dao
public interface MyDao {
@Transaction
void doSomething();
@Metadata(
mv = {1, 1, 9},
bv = {1, 0, 2},
k = 3
)
public static final class DefaultImpls {
@Transaction
public static void doSomething(MyDao $this) {
}
}
}