Fixed
Status Update
Comments
de...@gmail.com <de...@gmail.com> #2
Thank you for reporting this issue. For us to further investigate this issue, please provide the following additional information:
Android build
Which Android build are you using? (e.g. OPP1.170223.012)
Steps to reproduce
What steps are needed to reproduce this issue?
Please provide sample project or apk to reproduce the issue. Also mention the steps to be followed for reproducing the issue with the given sample project or apk.
Frequency
How frequently does this issue occur? (e.g 100% of the time, 10% of the time)
Screen record of the issue, for clarity
Please capture screen record or video of the issue using following steps:
adb shell screenrecord /sdcard/video.mp4
Subsequently use following command to pull the recorded file:
adb pull /sdcard/video.mp4
Attach the file to this issue.
NOTE : To avoid leaking private information, please share screenshots and bugreports only in Google Drive. Share files with android-bugreport@google.com and include only Google drive links in your bug. Bug report attachments should not be included directly in issue reports.
Android build
Which Android build are you using? (e.g. OPP1.170223.012)
Steps to reproduce
What steps are needed to reproduce this issue?
Please provide sample project or apk to reproduce the issue. Also mention the steps to be followed for reproducing the issue with the given sample project or apk.
Frequency
How frequently does this issue occur? (e.g 100% of the time, 10% of the time)
Screen record of the issue, for clarity
Please capture screen record or video of the issue using following steps:
adb shell screenrecord /sdcard/video.mp4
Subsequently use following command to pull the recorded file:
adb pull /sdcard/video.mp4
Attach the file to this issue.
NOTE : To avoid leaking private information, please share screenshots and bugreports only in Google Drive. Share files with android-bugreport@google.com and include only Google drive links in your bug. Bug report attachments should not be included directly in issue reports.
yb...@google.com <yb...@google.com> #3
Android 9 on Nokia 7 Plus
Build number 00WW_3_54H_SP03
Android Studio 3.5.1 on macOS 10.13.6
compileSdkVersion 29
buildToolsVersion '29.0.2'
minSdkVersion 17
targetSdkVersion 28
implementation 'androidx.biometric:biometric:1.0.0-rc01'
Code taken from "Allow for fallback to non-biometric credentials" in
https://developer.android.com/training/sign-in/biometric-auth
Problem:
1. Show biometric prompt.
2. Tap "USE PASSWORD" instead of scanning fingerprint.
3. Unlock using pattern.
4. Activity stops responding.
See attached MP4 video.
This happens consistently.
Project attached in MyApplication.zip
Build number 00WW_3_54H_SP03
Android Studio 3.5.1 on macOS 10.13.6
compileSdkVersion 29
buildToolsVersion '29.0.2'
minSdkVersion 17
targetSdkVersion 28
implementation 'androidx.biometric:biometric:1.0.0-rc01'
Code taken from "Allow for fallback to non-biometric credentials" in
Problem:
1. Show biometric prompt.
2. Tap "USE PASSWORD" instead of scanning fingerprint.
3. Unlock using pattern.
4. Activity stops responding.
See attached MP4 video.
This happens consistently.
Project attached in MyApplication.zip
ji...@gmail.com <ji...@gmail.com> #4
Same issue with androidx.biometric:biometric:1.0.0-rc02
Android 9 on Nokia 7 Plus
Build number 00WW_3_54H_SP03
Android Studio 3.5.1 on macOS 10.13.6
compileSdkVersion 29
buildToolsVersion '29.0.2'
minSdkVersion 17
targetSdkVersion 28
implementation 'androidx.biometric:biometric:1.0.0-rc02'
Code taken from "Allow for fallback to non-biometric credentials" in
https://developer.android.com/training/sign-in/biometric-auth
Problem:
1. Show biometric prompt.
2. Tap "USE PASSWORD" instead of scanning fingerprint.
3. Unlock using pattern.
4. Activity stops responding.
See attached MP4 video.
This happens consistently.
Android 9 on Nokia 7 Plus
Build number 00WW_3_54H_SP03
Android Studio 3.5.1 on macOS 10.13.6
compileSdkVersion 29
buildToolsVersion '29.0.2'
minSdkVersion 17
targetSdkVersion 28
implementation 'androidx.biometric:biometric:1.0.0-rc02'
Code taken from "Allow for fallback to non-biometric credentials" in
Problem:
1. Show biometric prompt.
2. Tap "USE PASSWORD" instead of scanning fingerprint.
3. Unlock using pattern.
4. Activity stops responding.
See attached MP4 video.
This happens consistently.
ra...@gmail.com <ra...@gmail.com> #5
I am facing the exact same issue.
Android 9 on Moto Z2 Play (XT1710-07)
Build number PPS29.133-30
Android Studio 3.5.1 on Windows 10 Pro
compileSdkVersion 28
buildToolsVersion '28.0.3'
minSdkVersion 23
targetSdkVersion 28
implementation 'androidx.biometric:biometric:1.0.0-rc02'
Android 9 on Moto Z2 Play (XT1710-07)
Build number PPS29.133-30
Android Studio 3.5.1 on Windows 10 Pro
compileSdkVersion 28
buildToolsVersion '28.0.3'
minSdkVersion 23
targetSdkVersion 28
implementation 'androidx.biometric:biometric:1.0.0-rc02'
ra...@gmail.com <ra...@gmail.com> #6
la...@x2mobile.net <la...@x2mobile.net> #7
je...@gmail.com <je...@gmail.com> #8
This error case appears to be triggered by creating BiometricPrompt immediately before calling authenticate(), rather than recreating the prompt in the Activity's onCreate() (or Fragment's onCreateView()) lifecycle method as intended. That's obviously an easy mistake to make, so I'll work on making sure the documentation is clearer here.
The fact that the activity appears to hang afterward is definitely a bug and will be fixed by aosp/1151594, likely in a 1.0.1 bugfix release. For now, I'm closing this bug as a duplicate of b/143683687 .
The fact that the activity appears to hang afterward is definitely a bug and will be fixed by aosp/1151594, likely in a 1.0.1 bugfix release. For now, I'm closing this bug as a duplicate of
fr...@gmail.com <fr...@gmail.com> #9
Correction: b/143091227
sh...@gmail.com <sh...@gmail.com> #10
Must it be in onCreate?
I'm doing this in onResume instead of onCreate so that the prompt shows up when the user comes back to my app.
I'm doing this in onResume instead of onCreate so that the prompt shows up when the user comes back to my app.
do...@gmail.com <do...@gmail.com> #11
Project: platform/frameworks/support
Branch: androidx-master-dev
commit df08869e2c6f2d066f1caf143cebdb965c1b5a2c
Author: Curtis Belmonte <curtislb@google.com>
Date: Mon Nov 18 15:17:00 2019
Fix BiometricPrompt + device credential error case
BiometricPrompt currently has a bug in the following usage scenario:
1. The prompt is not instantiated in onCreate() or onCreateView()
2. Device credential auth is enabled with setDeviceCredentialAllowed()
3. authenticate() is called twice in the same activity/fragment
When this happens, the handler bridge is incorrectly reset before the
handler activity can be launched, preventing the prompt from being shown
at all. While this isn't a recommended usage pattern for
BiometricPrompt at the moment, it still shouldn't cause the prompt to
get stuck in this state. This commit therefore ensures that the above
scenario no longer triggers the bug.
Test: Manually, using sample app from b/143097321
Test: ./gradlew biometric:test
Test: ./gradlew biometric:connectedAndroidTest
Fixes: 143097321
Change-Id: Ie7e343d9323437d9765e512a09a0e25a6c86dd8e
M biometric/src/main/java/androidx/biometric/BiometricPrompt.java
M biometric/src/main/java/androidx/biometric/DeviceCredentialHandlerActivity.java
https://android-review.googlesource.com/1168851
Branch: androidx-master-dev
commit df08869e2c6f2d066f1caf143cebdb965c1b5a2c
Author: Curtis Belmonte <curtislb@google.com>
Date: Mon Nov 18 15:17:00 2019
Fix BiometricPrompt + device credential error case
BiometricPrompt currently has a bug in the following usage scenario:
1. The prompt is not instantiated in onCreate() or onCreateView()
2. Device credential auth is enabled with setDeviceCredentialAllowed()
3. authenticate() is called twice in the same activity/fragment
When this happens, the handler bridge is incorrectly reset before the
handler activity can be launched, preventing the prompt from being shown
at all. While this isn't a recommended usage pattern for
BiometricPrompt at the moment, it still shouldn't cause the prompt to
get stuck in this state. This commit therefore ensures that the above
scenario no longer triggers the bug.
Test: Manually, using sample app from
Test: ./gradlew biometric:test
Test: ./gradlew biometric:connectedAndroidTest
Fixes: 143097321
Change-Id: Ie7e343d9323437d9765e512a09a0e25a6c86dd8e
M biometric/src/main/java/androidx/biometric/BiometricPrompt.java
M biometric/src/main/java/androidx/biometric/DeviceCredentialHandlerActivity.java
wh...@gmail.com <wh...@gmail.com> #12
Yes, initializing the prompt in onResume() should be fine as well.
Unmarked as duplicate, since aosp/1168851 should be a more proper fix for this. Targeting it for inclusion in 1.0.1.
Unmarked as duplicate, since aosp/1168851 should be a more proper fix for this. Targeting it for inclusion in 1.0.1.
ej...@gmail.com <ej...@gmail.com> #13
vs...@gmail.com <vs...@gmail.com> #14
I believe I am facing a related issue. I am using BiometricPrompt with setDeviceCredentialAllowed. This is fully working on an older device running Oreo (now that I recreate the activity each time after using BiometricPrompt). The user can choose to use their fingerprint to authenticate, or can select to use the pin. In both cases, once the user successfully authenticates, onAuthenticationSucceeded is called on the BiometricPrompt.AuthenticationCallback.
However when used in the emulator, running Android 10, as soon as the user selects the "Use PIN" option, onAuthenticationError is called with errorCode=5 and errString=Authentication canceled
However when used in the emulator, running Android 10, as soon as the user selects the "Use PIN" option, onAuthenticationError is called with errorCode=5 and errString=Authentication canceled
lo...@gmail.com <lo...@gmail.com> #15
Yes I am facing the same issue. Once I get the errCode = 5, the activity starting acting very strange. It then again gives an errCode = 10 before crashing again.
56...@gmail.com <56...@gmail.com> #16
Please Give a star instead of adding new comments.
ju...@gmail.com <ju...@gmail.com> #17
This would be a nice improvement!
My initial response is to wrap the insert in a Completable when exposing the call to a consumer because of the time spent writing to the file system on the main thread. Guessing would probably desire the same API for delete.
Out of the box without LiveData/RxJava support for those types of calls it would violate strict rules and run into the guards of Room ensures that database is never accessed on the main thread.
My initial response is to wrap the insert in a Completable when exposing the call to a consumer because of the time spent writing to the file system on the main thread. Guessing would probably desire the same API for delete.
Out of the box without LiveData/RxJava support for those types of calls it would violate strict rules and run into the guards of Room ensures that database is never accessed on the main thread.
fo...@gmail.com <fo...@gmail.com> #18
It's really necessary thing and it's not implemented still(
sh...@gmail.com <sh...@gmail.com> #19
+1 Come on we need support for completable. its been more than an year :(
yb...@google.com <yb...@google.com> #20
we are targeting this for 2.1.
bo...@li.ru <bo...@li.ru> #21
+1 for completable for @Delete @Update and @Insert
ai...@gmail.com <ai...@gmail.com> #22
+1 Come on guys!! ^_^
ap...@google.com <ap...@google.com> #23
Project: platform/frameworks/support
Branch: androidx-master-dev
commit c0c36b71b1e73eeaa49e5f29c2e3ee3923c811da
Author: Florina Muntenescu <florinam@google.com>
Date: Wed Aug 15 10:49:18 2018
Refactoring insert/update/delete to allow extensibility around the return type
Bug: 63317956
Test: tests updated
Change-Id: I5f8168fbd5cf08e64cb80c1835f4eebef6b4e018
M room/compiler/src/main/kotlin/androidx/room/processor/DeletionMethodProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/processor/InsertionMethodProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/processor/ProcessorErrors.kt
M room/compiler/src/main/kotlin/androidx/room/processor/UpdateMethodProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/solver/TypeAdapterStore.kt
A room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/DeleteOrUpdateMethodBinder.kt
A room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/InsertMethodBinder.kt
A room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/InstantDeleteOrUpdateMethodBinder.kt
A room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/InstantInsertMethodBinder.kt
A room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/DeleteOrUpdateMethodBinderProvider.kt
A room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/InsertMethodBinderProvider.kt
A room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/InstantDeleteOrUpdateMethodBinderProvider.kt
A room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/InstantInsertMethodBinderProvider.kt
A room/compiler/src/main/kotlin/androidx/room/solver/shortcut/result/DeleteOrUpdateMethodAdapter.kt
A room/compiler/src/main/kotlin/androidx/room/solver/shortcut/result/InsertMethodAdapter.kt
M room/compiler/src/main/kotlin/androidx/room/vo/DeletionMethod.kt
M room/compiler/src/main/kotlin/androidx/room/vo/InsertionMethod.kt
M room/compiler/src/main/kotlin/androidx/room/vo/ShortcutMethod.kt
M room/compiler/src/main/kotlin/androidx/room/vo/UpdateMethod.kt
M room/compiler/src/main/kotlin/androidx/room/writer/DaoWriter.kt
M room/compiler/src/test/kotlin/androidx/room/processor/DeletionMethodProcessorTest.kt
M room/compiler/src/test/kotlin/androidx/room/processor/InsertionMethodProcessorTest.kt
M room/compiler/src/test/kotlin/androidx/room/processor/UpdateMethodProcessorTest.kt
M room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/BooksDao.kt
https://android-review.googlesource.com/732628
https://goto.google.com/android-sha1/c0c36b71b1e73eeaa49e5f29c2e3ee3923c811da
Branch: androidx-master-dev
commit c0c36b71b1e73eeaa49e5f29c2e3ee3923c811da
Author: Florina Muntenescu <florinam@google.com>
Date: Wed Aug 15 10:49:18 2018
Refactoring insert/update/delete to allow extensibility around the return type
Bug: 63317956
Test: tests updated
Change-Id: I5f8168fbd5cf08e64cb80c1835f4eebef6b4e018
M room/compiler/src/main/kotlin/androidx/room/processor/DeletionMethodProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/processor/InsertionMethodProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/processor/ProcessorErrors.kt
M room/compiler/src/main/kotlin/androidx/room/processor/UpdateMethodProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/solver/TypeAdapterStore.kt
A room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/DeleteOrUpdateMethodBinder.kt
A room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/InsertMethodBinder.kt
A room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/InstantDeleteOrUpdateMethodBinder.kt
A room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/InstantInsertMethodBinder.kt
A room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/DeleteOrUpdateMethodBinderProvider.kt
A room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/InsertMethodBinderProvider.kt
A room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/InstantDeleteOrUpdateMethodBinderProvider.kt
A room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/InstantInsertMethodBinderProvider.kt
A room/compiler/src/main/kotlin/androidx/room/solver/shortcut/result/DeleteOrUpdateMethodAdapter.kt
A room/compiler/src/main/kotlin/androidx/room/solver/shortcut/result/InsertMethodAdapter.kt
M room/compiler/src/main/kotlin/androidx/room/vo/DeletionMethod.kt
M room/compiler/src/main/kotlin/androidx/room/vo/InsertionMethod.kt
M room/compiler/src/main/kotlin/androidx/room/vo/ShortcutMethod.kt
M room/compiler/src/main/kotlin/androidx/room/vo/UpdateMethod.kt
M room/compiler/src/main/kotlin/androidx/room/writer/DaoWriter.kt
M room/compiler/src/test/kotlin/androidx/room/processor/DeletionMethodProcessorTest.kt
M room/compiler/src/test/kotlin/androidx/room/processor/InsertionMethodProcessorTest.kt
M room/compiler/src/test/kotlin/androidx/room/processor/UpdateMethodProcessorTest.kt
M room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/BooksDao.kt
ap...@google.com <ap...@google.com> #24
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 524c841aa2bec6fa72768b1aeb40f6c6b6734907
Author: Florina Muntenescu <florinam@google.com>
Date: Mon Sep 03 16:37:48 2018
Adding RxJava support to insert
Bug: 63317956
Change-Id: Ic122774f591319dcd70d7f362af94adb0342184b
Test: InsertionMethodProcessorTest and TypeAdapterStoreTest updated
M room/compiler/src/main/kotlin/androidx/room/ext/javapoet_ext.kt
M room/compiler/src/main/kotlin/androidx/room/processor/InsertionMethodProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/processor/ProcessorErrors.kt
M room/compiler/src/main/kotlin/androidx/room/solver/TypeAdapterStore.kt
A room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/RxCallableInsertMethodBinder.kt
M room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/InsertMethodBinderProvider.kt
M room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/InstantInsertMethodBinderProvider.kt
A room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/RxCallableInsertMethodBinderProvider.kt
M room/compiler/src/main/kotlin/androidx/room/solver/shortcut/result/InsertMethodAdapter.kt
A room/compiler/src/test/data/common/input/rxjava2/Completable.java
A room/compiler/src/test/data/common/input/rxjava2/Maybe.java
A room/compiler/src/test/data/common/input/rxjava2/Single.java
M room/compiler/src/test/kotlin/androidx/room/processor/InsertionMethodProcessorTest.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/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/BooksDao.kt
https://android-review.googlesource.com/745108
https://goto.google.com/android-sha1/524c841aa2bec6fa72768b1aeb40f6c6b6734907
Branch: androidx-master-dev
commit 524c841aa2bec6fa72768b1aeb40f6c6b6734907
Author: Florina Muntenescu <florinam@google.com>
Date: Mon Sep 03 16:37:48 2018
Adding RxJava support to insert
Bug: 63317956
Change-Id: Ic122774f591319dcd70d7f362af94adb0342184b
Test: InsertionMethodProcessorTest and TypeAdapterStoreTest updated
M room/compiler/src/main/kotlin/androidx/room/ext/javapoet_ext.kt
M room/compiler/src/main/kotlin/androidx/room/processor/InsertionMethodProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/processor/ProcessorErrors.kt
M room/compiler/src/main/kotlin/androidx/room/solver/TypeAdapterStore.kt
A room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/RxCallableInsertMethodBinder.kt
M room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/InsertMethodBinderProvider.kt
M room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/InstantInsertMethodBinderProvider.kt
A room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/RxCallableInsertMethodBinderProvider.kt
M room/compiler/src/main/kotlin/androidx/room/solver/shortcut/result/InsertMethodAdapter.kt
A room/compiler/src/test/data/common/input/rxjava2/Completable.java
A room/compiler/src/test/data/common/input/rxjava2/Maybe.java
A room/compiler/src/test/data/common/input/rxjava2/Single.java
M room/compiler/src/test/kotlin/androidx/room/processor/InsertionMethodProcessorTest.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/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/BooksDao.kt
ap...@google.com <ap...@google.com> #25
Project: platform/frameworks/support
Branch: androidx-master-dev
commit ecce72935bbe7987a9c0c1639f4aa245153c717a
Author: Florina Muntenescu <florinam@google.com>
Date: Fri Sep 07 15:36:18 2018
Add RxJava support for Delete and Update methods in Room.
Support for update and delete returning Integer also added.
Now, update and delete support:
* void
* int
* Integer
* Completable
* Single<Integer>
* Maybe<Integer>
Refactored the DeleteOrUpdateMethodAdapter to hold the return type, like InsertMethodAdapter is.
Bug: 63317956
Test: DaoWriterTest, TypeAdapterStoreTest, kotlin integration tests
Change-Id: Ic8d3cff21b9e8179fed237a18421c13b3e59059b
M room/compiler/src/main/kotlin/androidx/room/processor/DeletionMethodProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/processor/UpdateMethodProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/solver/TypeAdapterStore.kt
M room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/DeleteOrUpdateMethodBinder.kt
M room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/InstantDeleteOrUpdateMethodBinder.kt
A room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/RxCallableDeleteOrUpdateMethodBinder.kt
M room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/DeleteOrUpdateMethodBinderProvider.kt
M room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/InstantDeleteOrUpdateMethodBinderProvider.kt
A room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/RxCallableDeleteOrUpdateMethodBinderProvider.kt
M room/compiler/src/main/kotlin/androidx/room/solver/shortcut/result/DeleteOrUpdateMethodAdapter.kt
M room/compiler/src/main/kotlin/androidx/room/vo/DeletionMethod.kt
M room/compiler/src/main/kotlin/androidx/room/vo/ShortcutMethod.kt
M room/compiler/src/main/kotlin/androidx/room/vo/UpdateMethod.kt
M room/compiler/src/main/kotlin/androidx/room/writer/DaoWriter.kt
M room/compiler/src/test/data/common/input/rxjava2/Completable.java
M room/compiler/src/test/data/common/input/rxjava2/Maybe.java
M room/compiler/src/test/data/common/input/rxjava2/Single.java
M room/compiler/src/test/data/daoWriter/input/DeletionDao.java
M room/compiler/src/test/data/daoWriter/input/UpdateDao.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/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/writer/DaoWriterTest.kt
M room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/BooksDao.kt
https://android-review.googlesource.com/750573
https://goto.google.com/android-sha1/ecce72935bbe7987a9c0c1639f4aa245153c717a
Branch: androidx-master-dev
commit ecce72935bbe7987a9c0c1639f4aa245153c717a
Author: Florina Muntenescu <florinam@google.com>
Date: Fri Sep 07 15:36:18 2018
Add RxJava support for Delete and Update methods in Room.
Support for update and delete returning Integer also added.
Now, update and delete support:
* void
* int
* Integer
* Completable
* Single<Integer>
* Maybe<Integer>
Refactored the DeleteOrUpdateMethodAdapter to hold the return type, like InsertMethodAdapter is.
Bug: 63317956
Test: DaoWriterTest, TypeAdapterStoreTest, kotlin integration tests
Change-Id: Ic8d3cff21b9e8179fed237a18421c13b3e59059b
M room/compiler/src/main/kotlin/androidx/room/processor/DeletionMethodProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/processor/UpdateMethodProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/solver/TypeAdapterStore.kt
M room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/DeleteOrUpdateMethodBinder.kt
M room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/InstantDeleteOrUpdateMethodBinder.kt
A room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binder/RxCallableDeleteOrUpdateMethodBinder.kt
M room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/DeleteOrUpdateMethodBinderProvider.kt
M room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/InstantDeleteOrUpdateMethodBinderProvider.kt
A room/compiler/src/main/kotlin/androidx/room/solver/shortcut/binderprovider/RxCallableDeleteOrUpdateMethodBinderProvider.kt
M room/compiler/src/main/kotlin/androidx/room/solver/shortcut/result/DeleteOrUpdateMethodAdapter.kt
M room/compiler/src/main/kotlin/androidx/room/vo/DeletionMethod.kt
M room/compiler/src/main/kotlin/androidx/room/vo/ShortcutMethod.kt
M room/compiler/src/main/kotlin/androidx/room/vo/UpdateMethod.kt
M room/compiler/src/main/kotlin/androidx/room/writer/DaoWriter.kt
M room/compiler/src/test/data/common/input/rxjava2/Completable.java
M room/compiler/src/test/data/common/input/rxjava2/Maybe.java
M room/compiler/src/test/data/common/input/rxjava2/Single.java
M room/compiler/src/test/data/daoWriter/input/DeletionDao.java
M room/compiler/src/test/data/daoWriter/input/UpdateDao.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/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/writer/DaoWriterTest.kt
M room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/dao/BooksDao.kt
fl...@google.com <fl...@google.com> #26
Support for Single, Maybe and Completable added for insert, update and delete. To be released in Room 2.1
vf...@thoughtworks.com <vf...@thoughtworks.com> #27
When is Room 2.1 going to be released?
Description
Version used: 1.0.0alpha3
Devices/Android versions reproduced on: all
After using Room and RxRoom I was lacking of some functionalities like the ability to return an Single/Completable from insert queries.
For example something like this would be super helpful :
@Insert(onConflict = OnConflictStrategy.REPLACE)
Completable insertAll(CatalogEntry... entries);
@Insert(onConflict = OnConflictStrategy.REPLACE)
Single<Long> insertAll(CatalogEntry... entries);
@Insert(onConflict = OnConflictStrategy.REPLACE)
Single<List<Long>> insertAll(CatalogEntry... entries);
Also when doing a query for retrieving a list, why should I use Flowable, if I just want to get a list my query should be like:
@Query("SELECT * FROM catalog_entries")
Single<List<CatalogEntry>> getAll();
Thanks for your work ! I love it already :)