Fixed
Status Update
Comments
yb...@google.com <yb...@google.com> #2
since these are in public API (:/) we need to do this in 1.2
vn...@gmail.com <vn...@gmail.com> #3
since it is already marked as deprecated, we can probably do it by now.
yb...@google.com <yb...@google.com> #4
Opening diff shortly
vn...@gmail.com <vn...@gmail.com> #5
Project: platform/frameworks/support
Branch: androidx-master-dev
commit d576cbdc911cba16638a44fd8223391a90a07ef7
Author: Mike Nakhimovich <digitalbuddha@users.noreply.github.com>
Date: Tue Aug 11 09:30:34 2020
[GH] Hide deprecated internal API.
## Proposed Changes
* `RoomDatabase.java` has protected `mCallbacks` field which is leaking in the API docs, we should @Hide it.
## Testing
Test: Ran unit tests locally
## Issues Fixed
Fixes: 76109329
This is an imported pull request fromhttps://github.com/androidx/androidx/pull/61 .
Resolves #61
Github-Pr-Head-Sha: 6440daa3a63752c7f9d5ba2a390248cd85bc634f
GitOrigin-RevId: fe92d8466a59b44b218b6ca3cbd57dcda17992f7
Change-Id: Id599cdf5b02b32bdae0166266fb7da967598fe92
A room/runtime/api/current.ignore
M room/runtime/api/current.txt
M room/runtime/api/public_plus_experimental_current.txt
M room/runtime/api/restricted_current.txt
M room/runtime/src/main/java/androidx/room/RoomDatabase.java
https://android-review.googlesource.com/1396827
Branch: androidx-master-dev
commit d576cbdc911cba16638a44fd8223391a90a07ef7
Author: Mike Nakhimovich <digitalbuddha@users.noreply.github.com>
Date: Tue Aug 11 09:30:34 2020
[GH] Hide deprecated internal API.
## Proposed Changes
* `RoomDatabase.java` has protected `mCallbacks` field which is leaking in the API docs, we should @Hide it.
## Testing
Test: Ran unit tests locally
## Issues Fixed
Fixes: 76109329
This is an imported pull request from
Resolves #61
Github-Pr-Head-Sha: 6440daa3a63752c7f9d5ba2a390248cd85bc634f
GitOrigin-RevId: fe92d8466a59b44b218b6ca3cbd57dcda17992f7
Change-Id: Id599cdf5b02b32bdae0166266fb7da967598fe92
A room/runtime/api/current.ignore
M room/runtime/api/current.txt
M room/runtime/api/public_plus_experimental_current.txt
M room/runtime/api/restricted_current.txt
M room/runtime/src/main/java/androidx/room/RoomDatabase.java
vn...@gmail.com <vn...@gmail.com> #6
Here's my project to test
yb...@google.com <yb...@google.com>
yb...@google.com <yb...@google.com> #8
we can probably tie this to WAL support.
be...@google.com <be...@google.com> #9
So the title of this bug should be changed to "support multiple instances of RoomDatabase"?
yb...@google.com <yb...@google.com>
xm...@gmail.com <xm...@gmail.com> #10
When support this? i face the same problem, it multiple query and insert, it'll block
yb...@google.com <yb...@google.com> #11
hopefully we'll have this in 2.1 . What is your use case, are you accessing the same database from different processes or are you creating 2 instance of the same RoomDatabase in the same process?
xm...@gmail.com <xm...@gmail.com> #12
Create one instance of RoomDatabase, and use LiveData paging query the datas and when querying, i also use the db connect insert the data, the query always wait the insert end and return
xm...@gmail.com <xm...@gmail.com> #13
BTW, other thread insert the data, or update the data
yb...@google.com <yb...@google.com> #14
if you are in the same process, don't use multiple RoomDatabase instances.
xm...@gmail.com <xm...@gmail.com> #15
Why the LiveData been blocked? the query always waiting for the insert end and return
ap...@google.com <ap...@google.com> #16
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 41bbdfb46058e7ef3ea6aa21ac8d7a3c7642fa1d
Author: Yuichi Araki <yaraki@google.com>
Date: Wed May 23 17:38:58 2018
Multi-instance invalidation
Developers can now sync observers for InvalidationTracker and LiveData
between multiple RoomDatabase instances by
RoomDatabase.Builder.enableMultiInstanceInvalidation(). This can also be
used for database instances in other processes. All the instances have
to be using the same database file.
When multi-instance invalidation is turned on, all the tables are
observed by an instance of MultiInstanceInvalidationClient, and
invalidation detected in one instance is broadcast to other instances by
remote procedure call.
Test: MultiInstanceInvalidationTest
Bug: 62334005
Bug: 80464228
Change-Id: I76033c5ac543ddaef735be06f828b7d7d607883a
M room/integration-tests/testapp/build.gradle
A room/integration-tests/testapp/src/androidTest/java/androidx/room/integration/testapp/test/MultiInstanceInvalidationTest.java
M room/integration-tests/testapp/src/main/AndroidManifest.xml
A room/integration-tests/testapp/src/main/aidl/androidx/room/integration/testapp/ISampleDatabaseService.aidl
A room/integration-tests/testapp/src/main/java/androidx/room/integration/testapp/SampleDatabaseService.java
M room/integration-tests/testapp/src/main/java/androidx/room/integration/testapp/database/CustomerDao.java
A room/integration-tests/testapp/src/main/java/androidx/room/integration/testapp/database/Product.java
A room/integration-tests/testapp/src/main/java/androidx/room/integration/testapp/database/ProductDao.java
M room/integration-tests/testapp/src/main/java/androidx/room/integration/testapp/database/SampleDatabase.java
M room/runtime/api/current.txt
M room/runtime/src/main/AndroidManifest.xml
A room/runtime/src/main/aidl/androidx/room/IMultiInstanceInvalidationCallback.aidl
A room/runtime/src/main/aidl/androidx/room/IMultiInstanceInvalidationService.aidl
M room/runtime/src/main/java/androidx/room/DatabaseConfiguration.java
M room/runtime/src/main/java/androidx/room/InvalidationTracker.java
A room/runtime/src/main/java/androidx/room/MultiInstanceInvalidationClient.java
A room/runtime/src/main/java/androidx/room/MultiInstanceInvalidationService.java
M room/runtime/src/main/java/androidx/room/RoomDatabase.java
M room/testing/src/main/java/androidx/room/testing/MigrationTestHelper.java
https://android-review.googlesource.com/720919
https://goto.google.com/android-sha1/41bbdfb46058e7ef3ea6aa21ac8d7a3c7642fa1d
Branch: androidx-master-dev
commit 41bbdfb46058e7ef3ea6aa21ac8d7a3c7642fa1d
Author: Yuichi Araki <yaraki@google.com>
Date: Wed May 23 17:38:58 2018
Multi-instance invalidation
Developers can now sync observers for InvalidationTracker and LiveData
between multiple RoomDatabase instances by
RoomDatabase.Builder.enableMultiInstanceInvalidation(). This can also be
used for database instances in other processes. All the instances have
to be using the same database file.
When multi-instance invalidation is turned on, all the tables are
observed by an instance of MultiInstanceInvalidationClient, and
invalidation detected in one instance is broadcast to other instances by
remote procedure call.
Test: MultiInstanceInvalidationTest
Bug: 62334005
Bug: 80464228
Change-Id: I76033c5ac543ddaef735be06f828b7d7d607883a
M room/integration-tests/testapp/build.gradle
A room/integration-tests/testapp/src/androidTest/java/androidx/room/integration/testapp/test/MultiInstanceInvalidationTest.java
M room/integration-tests/testapp/src/main/AndroidManifest.xml
A room/integration-tests/testapp/src/main/aidl/androidx/room/integration/testapp/ISampleDatabaseService.aidl
A room/integration-tests/testapp/src/main/java/androidx/room/integration/testapp/SampleDatabaseService.java
M room/integration-tests/testapp/src/main/java/androidx/room/integration/testapp/database/CustomerDao.java
A room/integration-tests/testapp/src/main/java/androidx/room/integration/testapp/database/Product.java
A room/integration-tests/testapp/src/main/java/androidx/room/integration/testapp/database/ProductDao.java
M room/integration-tests/testapp/src/main/java/androidx/room/integration/testapp/database/SampleDatabase.java
M room/runtime/api/current.txt
M room/runtime/src/main/AndroidManifest.xml
A room/runtime/src/main/aidl/androidx/room/IMultiInstanceInvalidationCallback.aidl
A room/runtime/src/main/aidl/androidx/room/IMultiInstanceInvalidationService.aidl
M room/runtime/src/main/java/androidx/room/DatabaseConfiguration.java
M room/runtime/src/main/java/androidx/room/InvalidationTracker.java
A room/runtime/src/main/java/androidx/room/MultiInstanceInvalidationClient.java
A room/runtime/src/main/java/androidx/room/MultiInstanceInvalidationService.java
M room/runtime/src/main/java/androidx/room/RoomDatabase.java
M room/testing/src/main/java/androidx/room/testing/MigrationTestHelper.java
Description
Version used: 1.0.0-alpha1
Devices/Android versions reproduced on: Emulator