Verify database after opened

Room now keeps an identity hash on the database and checks it when database
is open to ensure that the schema matches the current one. If not, developer
probably forgot to update the version number so it crashes.

Bug: 35804916
Test: IdentityDetectionTest.java
Change-Id: I441cbb3e78d88874406806af6c36917d1bf0142c
diff --git a/app-toolkit/dependencies.gradle b/app-toolkit/dependencies.gradle
index 3b114a9..2bfed3c 100644
--- a/app-toolkit/dependencies.gradle
+++ b/app-toolkit/dependencies.gradle
@@ -36,12 +36,18 @@
 // https://github.com/xerial/sqlite-jdbc/issues/97
 ffVersions.xerial = "3.16.1"
 ffVersions.antlr = "4.5.3"
+ffVersions.commons_codec = "1.10"
 
 ffLibs.kotlin = [
         stdlib : "org.jetbrains.kotlin:kotlin-stdlib:$ffVersions.kotlin",
         gradle_plugin : "org.jetbrains.kotlin:kotlin-gradle-plugin:$ffVersions.kotlin"
 ]
 ffLibs.auto_common = "com.google.auto:auto-common:$ffVersions.auto_common"
+ffLibs.apache = [
+    commons : [
+            codec : "commons-codec:commons-codec:$ffVersions.commons_codec"
+    ]
+]
 
 def getSupportLib(String name, String version, String artifactName = null) {
     def sourceProject = findProject(name)