Fixed
Status Update
Comments
do...@traveloka.com <do...@traveloka.com> #2
we've initially planned this for 1.0.0 but didn't make the cut.
pa...@gmail.com <pa...@gmail.com> #3
I would add my +1 to this, if only that Room would recognize views (creation being secondary as it can be accomplished with raw queries).
pa...@gmail.com <pa...@gmail.com> #4
+1 For this. View support would be very helpful.
ap...@google.com <ap...@google.com> #7
+10 for view support :)
pa...@google.com <pa...@google.com> #8
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 86ccd847759ea146464aaaf9ed128342d704b3ac
Author: Yuichi Araki <yaraki@google.com>
Date: Mon Aug 06 12:15:14 2018
Database View
Use @DatabaseView to create a view.
Bug: 67033276
Test: DatabaseViewTest, DatabaseViewProcessorTest, DatabaseVerifierTest,
Test: DatabaseWriterTest, SQLiteOpenHelperWriterTest,
Test: DatabaseViewSyncTest, InvalidationTrackerTest
Change-Id: I4a909add53f82fc6816b8d944278a3c9abef735d
M room/common/api/current.txt
M room/common/src/main/java/androidx/room/Database.java
A room/common/src/main/java/androidx/room/DatabaseView.java
M room/common/src/main/java/androidx/room/SkipQueryVerification.java
M room/compiler/src/main/kotlin/androidx/room/ext/javapoet_ext.kt
M room/compiler/src/main/kotlin/androidx/room/parser/ParserErrors.kt
M room/compiler/src/main/kotlin/androidx/room/processor/DatabaseProcessor.kt
A room/compiler/src/main/kotlin/androidx/room/processor/DatabaseViewProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/processor/ProcessorErrors.kt
M room/compiler/src/main/kotlin/androidx/room/verifier/DatabaseVerifier.kt
M room/compiler/src/main/kotlin/androidx/room/vo/Database.kt
A room/compiler/src/main/kotlin/androidx/room/vo/DatabaseView.kt
M room/compiler/src/main/kotlin/androidx/room/writer/DatabaseWriter.kt
M room/compiler/src/main/kotlin/androidx/room/writer/SQLiteOpenHelperWriter.kt
A room/compiler/src/main/kotlin/androidx/room/writer/ViewInfoValidationWriter.kt
A room/compiler/src/test/data/common/input/UserSummary.java
M room/compiler/src/test/data/databasewriter/input/ComplexDatabase.java
M room/compiler/src/test/data/databasewriter/output/ComplexDatabase.java
M room/compiler/src/test/kotlin/androidx/room/processor/DaoProcessorTest.kt
M room/compiler/src/test/kotlin/androidx/room/processor/DatabaseProcessorTest.kt
A room/compiler/src/test/kotlin/androidx/room/processor/DatabaseViewProcessorTest.kt
M room/compiler/src/test/kotlin/androidx/room/processor/QueryMethodProcessorTest.kt
M room/compiler/src/test/kotlin/androidx/room/testing/test_util.kt
M room/compiler/src/test/kotlin/androidx/room/verifier/DatabaseVerifierTest.kt
M room/compiler/src/test/kotlin/androidx/room/writer/DaoWriterTest.kt
M room/compiler/src/test/kotlin/androidx/room/writer/DatabaseWriterTest.kt
M room/compiler/src/test/kotlin/androidx/room/writer/SQLiteOpenHelperWriterTest.kt
M room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/TestDatabase.java
M room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/dao/PetDao.java
M room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/test/PetDaoTest.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/vo/DogWithOwner.java
A room/integration-tests/testapp/schemas/androidx.room.integration.testapp.migration.MigrationDb/8.json
M room/integration-tests/testapp/src/androidTest/java/androidx/room/integration/testapp/TestDatabase.java
M room/integration-tests/testapp/src/androidTest/java/androidx/room/integration/testapp/dao/PetDao.java
M room/integration-tests/testapp/src/androidTest/java/androidx/room/integration/testapp/migration/MigrationDb.java
M room/integration-tests/testapp/src/androidTest/java/androidx/room/integration/testapp/migration/MigrationTest.java
A room/integration-tests/testapp/src/androidTest/java/androidx/room/integration/testapp/test/DatabaseViewTest.java
M room/integration-tests/testapp/src/androidTest/java/androidx/room/integration/testapp/test/InvalidationTest.java
M room/integration-tests/testapp/src/androidTest/java/androidx/room/integration/testapp/test/LiveDataQueryTest.java
A room/integration-tests/testapp/src/androidTest/java/androidx/room/integration/testapp/vo/PetWithUser.java
M room/migration/src/main/java/androidx/room/migration/bundle/BundleUtil.java
M room/migration/src/main/java/androidx/room/migration/bundle/DatabaseBundle.java
A room/migration/src/main/java/androidx/room/migration/bundle/DatabaseViewBundle.java
M room/migration/src/test/java/androidx/room/migration/bundle/DatabaseBundleTest.java
A room/migration/src/test/java/androidx/room/migration/bundle/DatabaseViewBundleTest.java
A room/runtime/src/androidTest/java/androidx/room/migration/ViewInfoTest.java
M room/runtime/src/main/java/androidx/room/InvalidationTracker.java
A room/runtime/src/main/java/androidx/room/util/ViewInfo.java
M room/runtime/src/test/java/androidx/room/InvalidationTrackerTest.java
M room/testing/src/main/java/androidx/room/testing/MigrationTestHelper.java
https://android-review.googlesource.com/731045
https://goto.google.com/android-sha1/86ccd847759ea146464aaaf9ed128342d704b3ac
Branch: androidx-master-dev
commit 86ccd847759ea146464aaaf9ed128342d704b3ac
Author: Yuichi Araki <yaraki@google.com>
Date: Mon Aug 06 12:15:14 2018
Database View
Use @DatabaseView to create a view.
Bug: 67033276
Test: DatabaseViewTest, DatabaseViewProcessorTest, DatabaseVerifierTest,
Test: DatabaseWriterTest, SQLiteOpenHelperWriterTest,
Test: DatabaseViewSyncTest, InvalidationTrackerTest
Change-Id: I4a909add53f82fc6816b8d944278a3c9abef735d
M room/common/api/current.txt
M room/common/src/main/java/androidx/room/Database.java
A room/common/src/main/java/androidx/room/DatabaseView.java
M room/common/src/main/java/androidx/room/SkipQueryVerification.java
M room/compiler/src/main/kotlin/androidx/room/ext/javapoet_ext.kt
M room/compiler/src/main/kotlin/androidx/room/parser/ParserErrors.kt
M room/compiler/src/main/kotlin/androidx/room/processor/DatabaseProcessor.kt
A room/compiler/src/main/kotlin/androidx/room/processor/DatabaseViewProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/processor/ProcessorErrors.kt
M room/compiler/src/main/kotlin/androidx/room/verifier/DatabaseVerifier.kt
M room/compiler/src/main/kotlin/androidx/room/vo/Database.kt
A room/compiler/src/main/kotlin/androidx/room/vo/DatabaseView.kt
M room/compiler/src/main/kotlin/androidx/room/writer/DatabaseWriter.kt
M room/compiler/src/main/kotlin/androidx/room/writer/SQLiteOpenHelperWriter.kt
A room/compiler/src/main/kotlin/androidx/room/writer/ViewInfoValidationWriter.kt
A room/compiler/src/test/data/common/input/UserSummary.java
M room/compiler/src/test/data/databasewriter/input/ComplexDatabase.java
M room/compiler/src/test/data/databasewriter/output/ComplexDatabase.java
M room/compiler/src/test/kotlin/androidx/room/processor/DaoProcessorTest.kt
M room/compiler/src/test/kotlin/androidx/room/processor/DatabaseProcessorTest.kt
A room/compiler/src/test/kotlin/androidx/room/processor/DatabaseViewProcessorTest.kt
M room/compiler/src/test/kotlin/androidx/room/processor/QueryMethodProcessorTest.kt
M room/compiler/src/test/kotlin/androidx/room/testing/test_util.kt
M room/compiler/src/test/kotlin/androidx/room/verifier/DatabaseVerifierTest.kt
M room/compiler/src/test/kotlin/androidx/room/writer/DaoWriterTest.kt
M room/compiler/src/test/kotlin/androidx/room/writer/DatabaseWriterTest.kt
M room/compiler/src/test/kotlin/androidx/room/writer/SQLiteOpenHelperWriterTest.kt
M room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/TestDatabase.java
M room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/dao/PetDao.java
M room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/test/PetDaoTest.java
A room/integration-tests/autovaluetestapp/src/androidTest/java/androidx/room/integration/autovaluetestapp/vo/DogWithOwner.java
A room/integration-tests/testapp/schemas/androidx.room.integration.testapp.migration.MigrationDb/8.json
M room/integration-tests/testapp/src/androidTest/java/androidx/room/integration/testapp/TestDatabase.java
M room/integration-tests/testapp/src/androidTest/java/androidx/room/integration/testapp/dao/PetDao.java
M room/integration-tests/testapp/src/androidTest/java/androidx/room/integration/testapp/migration/MigrationDb.java
M room/integration-tests/testapp/src/androidTest/java/androidx/room/integration/testapp/migration/MigrationTest.java
A room/integration-tests/testapp/src/androidTest/java/androidx/room/integration/testapp/test/DatabaseViewTest.java
M room/integration-tests/testapp/src/androidTest/java/androidx/room/integration/testapp/test/InvalidationTest.java
M room/integration-tests/testapp/src/androidTest/java/androidx/room/integration/testapp/test/LiveDataQueryTest.java
A room/integration-tests/testapp/src/androidTest/java/androidx/room/integration/testapp/vo/PetWithUser.java
M room/migration/src/main/java/androidx/room/migration/bundle/BundleUtil.java
M room/migration/src/main/java/androidx/room/migration/bundle/DatabaseBundle.java
A room/migration/src/main/java/androidx/room/migration/bundle/DatabaseViewBundle.java
M room/migration/src/test/java/androidx/room/migration/bundle/DatabaseBundleTest.java
A room/migration/src/test/java/androidx/room/migration/bundle/DatabaseViewBundleTest.java
A room/runtime/src/androidTest/java/androidx/room/migration/ViewInfoTest.java
M room/runtime/src/main/java/androidx/room/InvalidationTracker.java
A room/runtime/src/main/java/androidx/room/util/ViewInfo.java
M room/runtime/src/test/java/androidx/room/InvalidationTrackerTest.java
M room/testing/src/main/java/androidx/room/testing/MigrationTestHelper.java
pa...@gmail.com <pa...@gmail.com> #9
I don't remember when I was this excited about a feature. Great work, can't wait to see it land in an official release.
Description
Java version "1.8.0_121"
Jetifier version: 1.0.0-beta04
Let there be a Library Foo with the following 'proguard-rules.txt' file:
# DBFlow
-keep class * extends com.raizlabs.android.dbflow.config.DatabaseHolder { *; }
-dontwarn com.raizlabs.android.dbflow.**
# Note: the configuration keeps the entry point 'com.raizlabs.android.dbflow.config.FlowManager$GlobalDatabaseHolder { FlowManager$GlobalDatabaseHolder(com.raizlabs.android.dbflow.config.FlowManager$1); }', but not the descriptor class 'com.raizlabs.android.dbflow.config.FlowManager$1'
-keep class com.raizlabs.android.dbflow.config.FlowManager$*
When trying to jetify this library:
./jetifier-standalone -i /Users/someuser/Downloads/foo/foo.aar -o newfoo.aar
The Jetifier fails with the following output:
Exception in thread "main" java.util.regex.PatternSyntaxException: Illegal repetition near index 147
com/raizlabs/android/dbflow/.*
# Note: the configuration keeps the entry point 'com/raizlabs/android/dbflow/config/FlowManager$GlobalDatabaseHolder { FlowManager$GlobalDatabaseHolder(com/raizlabs/android/dbflow/config/FlowManager$1); }'
^
at java.util.regex.Pattern.error(Pattern.java:1955)
at java.util.regex.Pattern.closure(Pattern.java:3157)
at java.util.regex.Pattern.sequence(Pattern.java:2134)
at java.util.regex.Pattern.expr(Pattern.java:1996)
at java.util.regex.Pattern.compile(Pattern.java:1696)
at java.util.regex.Pattern.<init>(Pattern.java:1351)
at java.util.regex.Pattern.compile(Pattern.java:1028)
at com.android.tools.build.jetifier.core.type.TypesMap.matchOldProguardForNewTypes(TypesMap.kt:112)
[...]
If i remove the notes, the new 'proguard-rules.txt' looks like this:
# DBFlow
-keep class * extends com.raizlabs.android.dbflow.config.DatabaseHolder { *; }
-dontwarn com.raizlabs.android.dbflow.**
-keep class com.raizlabs.android.dbflow.config.FlowManager$*
And this runs through the jetifier just fine. Please provide a fix for this issue, since i have to patch my dependencies currently in order to make AndroidX work for me.