Use a sneaky throw in runInTransaction(Callable)
Using's Java8 sneaky throw technique allows us to not have to wrap
checked exceptions in RuntimeExceptions, meaning callers with exception
catches don't need to unwrap the exception.
Since this is only a Java8 compiler technique (bytecode doesn't
distinguish between unchecked and checked exceptions), then we
circumvent bumping Room's minSdk by simply jarring the unpublished
room-common-java8 library.
Bug: 128623748
Test: SneakyThrowTests in API 15
Change-Id: I1611bd776d1f3030b95ba57586d89a7d1742fbe8
diff --git a/settings.gradle b/settings.gradle
index de45149..2ea2fb1 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -146,6 +146,7 @@
includeProject(":room:integration-tests:room-testapp-kotlin", "room/integration-tests/kotlintestapp")
includeProject(":room:room-benchmark", "room/benchmark")
includeProject(":room:room-common", "room/common")
+includeProject(":room:room-common-java8", "room/common-java8")
includeProject(":room:room-compiler", "room/compiler")
includeProject(":room:room-guava", "room/guava")
includeProject(":room:room-ktx", "room/ktx")