--- /home/fdroid/fdroiddata/tmp/com.odnovolov.forgetmenot_9.apk +++ /home/fdroid/fdroiddata/tmp/sigcp_com.odnovolov.forgetmenot_9.apk ├── /usr/lib/android-sdk/build-tools/debian/apksigner verify --verbose --print-certs {} │┄ error from `/usr/lib/android-sdk/build-tools/debian/apksigner verify --verbose --print-certs {}` (b): │┄ DOES NOT VERIFY │┄ ERROR: APK Signature Scheme v3 signer #1: APK integrity check failed. CHUNKED_SHA256 digest mismatch. Expected: <005623e7758efa7641a6463b2845fa3743c45176ac15f12d7340dd989f665f16>, actual: <0f6e3da7afa38665714c87f63ce74ecc38cdba80f47b7b3e53b65096f4ed479d> │┄ ERROR: APK Signature Scheme v3 signer #1: APK integrity check failed. VERITY_CHUNKED_SHA256 digest mismatch. Expected: <17000d6bd1a37620359059ce07b64f7fae84b5fad7628690b9e8181f2c6ec196ddac3b0000000000>, actual: │ @@ -1,89 +0,0 @@ │ -Verifies │ -Verified using v1 scheme (JAR signing): true │ -Verified using v2 scheme (APK Signature Scheme v2): true │ -Verified using v3 scheme (APK Signature Scheme v3): true │ -Verified using v4 scheme (APK Signature Scheme v4): false │ -Verified for SourceStamp: false │ -Number of signers: 1 │ -Signer #1 certificate DN: CN=FDroid, OU=FDroid, O=fdroid.org, L=ORG, ST=ORG, C=UK │ -Signer #1 certificate SHA-256 digest: d9577f995669418587530a4d3c13b34df929140cd80e133ca37cb942e6eae58b │ -Signer #1 certificate SHA-1 digest: 36cb74f74ff3e1d8c44b09817fda794c6f20abe1 │ -Signer #1 certificate MD5 digest: a6ddf5886d2829a9a7b08faf8a4171e7 │ -Signer #1 key algorithm: RSA │ -Signer #1 key size (bits): 2048 │ -Signer #1 public key SHA-256 digest: 7b053dfa1e6aa9c99f841279746a478e5888018df4767b1a6104e5ba5de8695a │ -Signer #1 public key SHA-1 digest: 34fb7f5f6a56980147232ff274e014e6b86706a4 │ -Signer #1 public key MD5 digest: 1182b95b4f01a06aafc883cf96a8a604 │ -WARNING: META-INF/activity-ktx_release.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.activity_activity-ktx.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.activity_activity.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.annotation_annotation-experimental.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.appcompat_appcompat-resources.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.appcompat_appcompat.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.arch.core_core-runtime.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.cardview_cardview.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.coordinatorlayout_coordinatorlayout.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.core_core-ktx.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.core_core.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.cursoradapter_cursoradapter.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.customview_customview.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.documentfile_documentfile.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.drawerlayout_drawerlayout.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.fragment_fragment-ktx.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.fragment_fragment.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.interpolator_interpolator.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.lifecycle_lifecycle-livedata-core-ktx.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.lifecycle_lifecycle-livedata-core.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.lifecycle_lifecycle-livedata.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.lifecycle_lifecycle-runtime-ktx.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.lifecycle_lifecycle-runtime.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.lifecycle_lifecycle-viewmodel-ktx.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.lifecycle_lifecycle-viewmodel-savedstate.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.lifecycle_lifecycle-viewmodel.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.loader_loader.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.media_media.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.navigation_navigation-common-ktx.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.navigation_navigation-common.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.navigation_navigation-fragment-ktx.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.navigation_navigation-fragment.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.navigation_navigation-runtime-ktx.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.navigation_navigation-runtime.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.navigation_navigation-ui-ktx.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.navigation_navigation-ui.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.recyclerview_recyclerview.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.savedstate_savedstate.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.sqlite_sqlite-framework.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.sqlite_sqlite.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.transition_transition.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.vectordrawable_vectordrawable-animated.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.vectordrawable_vectordrawable.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.versionedparcelable_versionedparcelable.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.viewpager2_viewpager2.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.viewpager_viewpager.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/app_release.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/collection-ktx.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/com.google.android.material_material.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/core-ktx_release.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/editorkit_release.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/fragment-ktx_release.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/klock_release.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/kotlin-android-extensions-runtime.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/kotlin-stdlib-common.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/kotlin-stdlib-jdk7.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/kotlin-stdlib-jdk8.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/kotlin-stdlib.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/kotlinx-coroutines-android.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/kotlinx-coroutines-core.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/kotlinx-serialization-core.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/language-base_release.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/lifecycle-livedata-core-ktx_release.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/lifecycle-runtime-ktx_release.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/lifecycle-viewmodel-ktx_release.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/navigation-common-ktx_release.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/navigation-fragment-ktx_release.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/navigation-runtime-ktx_release.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/navigation-ui-ktx_release.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/runtime.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/services/kotlinx.coroutines.CoroutineExceptionHandler not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/services/kotlinx.coroutines.internal.MainDispatcherFactory not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/sqldelight-android-driver_release.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. ├── zipinfo {} │ @@ -1161,8 +1161,8 @@ │ -rw---- 0.0 fat 312 b- defN 80-000-00 00:00 res/xml/standalone_badge_gravity_bottom_start.xml │ -rw---- 0.0 fat 312 b- defN 80-000-00 00:00 res/xml/standalone_badge_gravity_top_start.xml │ -rw---- 0.0 fat 360 b- defN 80-000-00 00:00 res/xml/standalone_badge_offset.xml │ -rw---- 0.0 fat 950708 b- stor 80-000-00 00:00 resources.arsc │ -rw---- 2.0 fat 135235 b- defN 80-000-00 00:00 META-INF/DB6D1C23.SF │ -rw---- 2.0 fat 1342 b- defN 80-000-00 00:00 META-INF/DB6D1C23.RSA │ -rw---- 2.0 fat 135170 b- defN 80-000-00 00:00 META-INF/MANIFEST.MF │ -1166 files, 7368564 bytes uncompressed, 3715177 bytes compressed: 49.6% │ +1166 files, 7368564 bytes uncompressed, 3715176 bytes compressed: 49.6% ├── classes.dex │ ├── classes.jar │ │ ├── zipinfo -v {} │ │ │ @@ -90494,15 +90494,15 @@ │ │ │ version of encoding software: 2.0 │ │ │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ │ │ minimum software version required to extract: 2.0 │ │ │ compression method: none (stored) │ │ │ file security status: not encrypted │ │ │ extended local header: no │ │ │ file last modified on (DOS date/time): 1980 Jan 1 00:00:00 │ │ │ - 32-bit CRC value (hex): 7fcfaf27 │ │ │ + 32-bit CRC value (hex): dec19290 │ │ │ compressed size: 8356 bytes │ │ │ uncompressed size: 8356 bytes │ │ │ length of filename: 17 characters │ │ │ length of extra field: 0 bytes │ │ │ length of file comment: 0 characters │ │ │ disk number on which file begins: disk 1 │ │ │ apparent file type: binary │ │ ├── q/a/a/c/d$a.class │ │ │ ├── procyon -ec {} │ │ │ │ @@ -14,27 +14,27 @@ │ │ │ │ static { │ │ │ │ a = new d$a(); │ │ │ │ } │ │ │ │ │ │ │ │ public void a(final b b) { │ │ │ │ k.e((Object)b, "driver"); │ │ │ │ final int n = 8; │ │ │ │ - w.h0(b, (Integer)null, "CREATE TABLE KeyValue (\n key INTEGER PRIMARY KEY,\n value TEXT\n)", 0, (l)null, n, (Object)null); │ │ │ │ + w.h0(b, (Integer)null, "CREATE TABLE KeyGestureMapDb (\n keyGesture TEXT PRIMARY KEY NOT NULL,\n keyGestureAction TEXT NOT NULL\n)", 0, (l)null, n, (Object)null); │ │ │ │ + w.h0(b, (Integer)null, "CREATE TABLE SerializableDb (\n key TEXT PRIMARY KEY NOT NULL,\n jsonData TEXT NOT NULL\n)", 0, (l)null, n, (Object)null); │ │ │ │ w.h0(b, (Integer)null, "CREATE TABLE TipStateDb (\n id INTEGER PRIMARY KEY,\n needToShow INTEGER NOT NULL,\n lastShowedAt INTEGER\n)", 0, (l)null, n, (Object)null); │ │ │ │ - w.h0(b, (Integer)null, "CREATE TABLE ExercisePreferenceDb (\n id INTEGER PRIMARY KEY,\n name TEXT NOT NULL,\n randomOrder INTEGER NOT NULL,\n testingMethod TEXT NOT NULL,\n intervalSchemeId INTEGER,\n pronunciationId INTEGER NOT NULL,\n isQuestionDisplayed INTEGER NOT NULL,\n cardInversion TEXT NOT NULL,\n pronunciationPlanId INTEGER NOT NULL,\n timeForAnswer INTEGER NOT NULL\n)", 0, (l)null, n, (Object)null); │ │ │ │ - w.h0(b, (Integer)null, "CREATE TABLE SharedExercisePreferenceDb (\n exercisePreferenceId INTEGER PRIMARY KEY\n)", 0, (l)null, n, (Object)null); │ │ │ │ - w.h0(b, (Integer)null, "CREATE TABLE PronunciationDb (\n id INTEGER PRIMARY KEY,\n questionLanguage TEXT,\n questionAutoSpeaking INTEGER NOT NULL,\n answerLanguage TEXT,\n answerAutoSpeaking INTEGER NOT NULL,\n speakTextInBrackets INTEGER NOT NULL\n)", 0, (l)null, n, (Object)null); │ │ │ │ - w.h0(b, (Integer)null, "CREATE TABLE IntervalDb (\n id INTEGER PRIMARY KEY,\n intervalSchemeId INTEGER NOT NULL REFERENCES IntervalSchemeDb ON DELETE CASCADE,\n grade INTEGER NOT NULL,\n value TEXT NOT NULL\n)", 0, (l)null, n, (Object)null); │ │ │ │ + w.h0(b, (Integer)null, "CREATE TABLE KeyValue (\n key INTEGER PRIMARY KEY,\n value TEXT\n)", 0, (l)null, n, (Object)null); │ │ │ │ w.h0(b, (Integer)null, "CREATE TABLE CardDb (\n id INTEGER PRIMARY KEY,\n deckId INTEGER NOT NULL REFERENCES DeckDb ON DELETE CASCADE,\n ordinal INTEGER NOT NULL,\n question TEXT NOT NULL,\n answer TEXT NOT NULL,\n lap INTEGER NOT NULL,\n isLearned INTEGER NOT NULL,\n grade INTEGER NOT NULL,\n lastTestedAt INTEGER\n)", 0, (l)null, n, (Object)null); │ │ │ │ + w.h0(b, (Integer)null, "CREATE TABLE PronunciationDb (\n id INTEGER PRIMARY KEY,\n questionLanguage TEXT,\n questionAutoSpeaking INTEGER NOT NULL,\n answerLanguage TEXT,\n answerAutoSpeaking INTEGER NOT NULL,\n speakTextInBrackets INTEGER NOT NULL\n)", 0, (l)null, n, (Object)null); │ │ │ │ w.h0(b, (Integer)null, "CREATE TABLE IntervalSchemeDb (\n id INTEGER PRIMARY KEY\n)", 0, (l)null, n, (Object)null); │ │ │ │ w.h0(b, (Integer)null, "CREATE TABLE PronunciationPlanDb (\n id INTEGER PRIMARY KEY,\n pronunciationEvents TEXT NOT NULL\n)", 0, (l)null, n, (Object)null); │ │ │ │ w.h0(b, (Integer)null, "CREATE TABLE DeckDb (\n id INTEGER PRIMARY KEY,\n name TEXT NOT NULL,\n createdAt INTEGER NOT NULL,\n lastTestedAt INTEGER,\n exercisePreferenceId INTEGER NOT NULL,\n isPinned INTEGER NOT NULL\n)", 0, (l)null, n, (Object)null); │ │ │ │ - w.h0(b, (Integer)null, "CREATE TABLE KeyGestureMapDb (\n keyGesture TEXT PRIMARY KEY NOT NULL,\n keyGestureAction TEXT NOT NULL\n)", 0, (l)null, n, (Object)null); │ │ │ │ + w.h0(b, (Integer)null, "CREATE TABLE ExercisePreferenceDb (\n id INTEGER PRIMARY KEY,\n name TEXT NOT NULL,\n randomOrder INTEGER NOT NULL,\n testingMethod TEXT NOT NULL,\n intervalSchemeId INTEGER,\n pronunciationId INTEGER NOT NULL,\n isQuestionDisplayed INTEGER NOT NULL,\n cardInversion TEXT NOT NULL,\n pronunciationPlanId INTEGER NOT NULL,\n timeForAnswer INTEGER NOT NULL\n)", 0, (l)null, n, (Object)null); │ │ │ │ + w.h0(b, (Integer)null, "CREATE TABLE IntervalDb (\n id INTEGER PRIMARY KEY,\n intervalSchemeId INTEGER NOT NULL REFERENCES IntervalSchemeDb ON DELETE CASCADE,\n grade INTEGER NOT NULL,\n value TEXT NOT NULL\n)", 0, (l)null, n, (Object)null); │ │ │ │ + w.h0(b, (Integer)null, "CREATE TABLE SharedExercisePreferenceDb (\n exercisePreferenceId INTEGER PRIMARY KEY\n)", 0, (l)null, n, (Object)null); │ │ │ │ w.h0(b, (Integer)null, "CREATE TABLE FileFormatDb (\n id INTEGER PRIMARY KEY,\n name TEXT NOT NULL,\n extension TEXT NOT NULL,\n delimiter TEXT NOT NULL,\n trailingDelimiter INTEGER NOT NULL,\n quoteCharacter TEXT,\n quoteMode TEXT,\n escapeCharacter TEXT,\n nullString TEXT,\n ignoreSurroundingSpaces INTEGER NOT NULL,\n trim INTEGER NOT NULL,\n ignoreEmptyLines INTEGER NOT NULL,\n recordSeparator TEXT,\n commentMarker TEXT,\n skipHeaderRecord INTEGER NOT NULL,\n header TEXT,\n ignoreHeaderCase INTEGER NOT NULL,\n allowDuplicateHeaderNames INTEGER NOT NULL,\n allowMissingColumnNames INTEGER NOT NULL,\n headerComments TEXT,\n autoFlush INTEGER NOT NULL\n)", 0, (l)null, n, (Object)null); │ │ │ │ - w.h0(b, (Integer)null, "CREATE TABLE SerializableDb (\n key TEXT PRIMARY KEY NOT NULL,\n jsonData TEXT NOT NULL\n)", 0, (l)null, n, (Object)null); │ │ │ │ w.h0(b, (Integer)null, "CREATE INDEX CardDbIndex ON CardDb(deckId, ordinal)", 0, (l)null, n, (Object)null); │ │ │ │ } │ │ │ │ │ │ │ │ public void b(final b b, final int n, final int n2) { │ │ │ │ k.e((Object)b, "driver"); │ │ │ │ final int n3 = 1; │ │ │ │ if (n <= n3 && n2 > n3) { ├── smali/q/a/a/c/d$a.smali │┄ Ordering differences only │ @@ -49,49 +49,45 @@ │ │ const-string v0, "driver" │ │ invoke-static {p1, v0}, Lz2/n/c/k;->e(Ljava/lang/Object;Ljava/lang/String;)V │ │ const/4 v2, 0x0 │ │ - const-string v3, "CREATE TABLE KeyValue (\n key INTEGER PRIMARY KEY,\n value TEXT\n)" │ + const-string v3, "CREATE TABLE KeyGestureMapDb (\n keyGesture TEXT PRIMARY KEY NOT NULL,\n keyGestureAction TEXT NOT NULL\n)" │ │ const/4 v4, 0x0 │ │ const/4 v5, 0x0 │ │ const/16 v6, 0x8 │ │ const/4 v7, 0x0 │ │ move-object v1, p1 │ │ invoke-static/range {v1 .. v7}, Ly2/v/w;->h0(Lq/g/a/k/b;Ljava/lang/Integer;Ljava/lang/String;ILz2/n/b/l;ILjava/lang/Object;)V │ │ - const-string v3, "CREATE TABLE TipStateDb (\n id INTEGER PRIMARY KEY,\n needToShow INTEGER NOT NULL,\n lastShowedAt INTEGER\n)" │ - │ - invoke-static/range {v1 .. v7}, Ly2/v/w;->h0(Lq/g/a/k/b;Ljava/lang/Integer;Ljava/lang/String;ILz2/n/b/l;ILjava/lang/Object;)V │ - │ - const-string v3, "CREATE TABLE ExercisePreferenceDb (\n id INTEGER PRIMARY KEY,\n name TEXT NOT NULL,\n randomOrder INTEGER NOT NULL,\n testingMethod TEXT NOT NULL,\n intervalSchemeId INTEGER,\n pronunciationId INTEGER NOT NULL,\n isQuestionDisplayed INTEGER NOT NULL,\n cardInversion TEXT NOT NULL,\n pronunciationPlanId INTEGER NOT NULL,\n timeForAnswer INTEGER NOT NULL\n)" │ + const-string v3, "CREATE TABLE SerializableDb (\n key TEXT PRIMARY KEY NOT NULL,\n jsonData TEXT NOT NULL\n)" │ │ invoke-static/range {v1 .. v7}, Ly2/v/w;->h0(Lq/g/a/k/b;Ljava/lang/Integer;Ljava/lang/String;ILz2/n/b/l;ILjava/lang/Object;)V │ │ - const-string v3, "CREATE TABLE SharedExercisePreferenceDb (\n exercisePreferenceId INTEGER PRIMARY KEY\n)" │ + const-string v3, "CREATE TABLE TipStateDb (\n id INTEGER PRIMARY KEY,\n needToShow INTEGER NOT NULL,\n lastShowedAt INTEGER\n)" │ │ invoke-static/range {v1 .. v7}, Ly2/v/w;->h0(Lq/g/a/k/b;Ljava/lang/Integer;Ljava/lang/String;ILz2/n/b/l;ILjava/lang/Object;)V │ │ - const-string v3, "CREATE TABLE PronunciationDb (\n id INTEGER PRIMARY KEY,\n questionLanguage TEXT,\n questionAutoSpeaking INTEGER NOT NULL,\n answerLanguage TEXT,\n answerAutoSpeaking INTEGER NOT NULL,\n speakTextInBrackets INTEGER NOT NULL\n)" │ + const-string v3, "CREATE TABLE KeyValue (\n key INTEGER PRIMARY KEY,\n value TEXT\n)" │ │ invoke-static/range {v1 .. v7}, Ly2/v/w;->h0(Lq/g/a/k/b;Ljava/lang/Integer;Ljava/lang/String;ILz2/n/b/l;ILjava/lang/Object;)V │ │ - const-string v3, "CREATE TABLE IntervalDb (\n id INTEGER PRIMARY KEY,\n intervalSchemeId INTEGER NOT NULL REFERENCES IntervalSchemeDb ON DELETE CASCADE,\n grade INTEGER NOT NULL,\n value TEXT NOT NULL\n)" │ + const-string v3, "CREATE TABLE CardDb (\n id INTEGER PRIMARY KEY,\n deckId INTEGER NOT NULL REFERENCES DeckDb ON DELETE CASCADE,\n ordinal INTEGER NOT NULL,\n question TEXT NOT NULL,\n answer TEXT NOT NULL,\n lap INTEGER NOT NULL,\n isLearned INTEGER NOT NULL,\n grade INTEGER NOT NULL,\n lastTestedAt INTEGER\n)" │ │ invoke-static/range {v1 .. v7}, Ly2/v/w;->h0(Lq/g/a/k/b;Ljava/lang/Integer;Ljava/lang/String;ILz2/n/b/l;ILjava/lang/Object;)V │ │ - const-string v3, "CREATE TABLE CardDb (\n id INTEGER PRIMARY KEY,\n deckId INTEGER NOT NULL REFERENCES DeckDb ON DELETE CASCADE,\n ordinal INTEGER NOT NULL,\n question TEXT NOT NULL,\n answer TEXT NOT NULL,\n lap INTEGER NOT NULL,\n isLearned INTEGER NOT NULL,\n grade INTEGER NOT NULL,\n lastTestedAt INTEGER\n)" │ + const-string v3, "CREATE TABLE PronunciationDb (\n id INTEGER PRIMARY KEY,\n questionLanguage TEXT,\n questionAutoSpeaking INTEGER NOT NULL,\n answerLanguage TEXT,\n answerAutoSpeaking INTEGER NOT NULL,\n speakTextInBrackets INTEGER NOT NULL\n)" │ │ invoke-static/range {v1 .. v7}, Ly2/v/w;->h0(Lq/g/a/k/b;Ljava/lang/Integer;Ljava/lang/String;ILz2/n/b/l;ILjava/lang/Object;)V │ │ const-string v3, "CREATE TABLE IntervalSchemeDb (\n id INTEGER PRIMARY KEY\n)" │ │ invoke-static/range {v1 .. v7}, Ly2/v/w;->h0(Lq/g/a/k/b;Ljava/lang/Integer;Ljava/lang/String;ILz2/n/b/l;ILjava/lang/Object;)V │ │ @@ -99,23 +95,27 @@ │ │ invoke-static/range {v1 .. v7}, Ly2/v/w;->h0(Lq/g/a/k/b;Ljava/lang/Integer;Ljava/lang/String;ILz2/n/b/l;ILjava/lang/Object;)V │ │ const-string v3, "CREATE TABLE DeckDb (\n id INTEGER PRIMARY KEY,\n name TEXT NOT NULL,\n createdAt INTEGER NOT NULL,\n lastTestedAt INTEGER,\n exercisePreferenceId INTEGER NOT NULL,\n isPinned INTEGER NOT NULL\n)" │ │ invoke-static/range {v1 .. v7}, Ly2/v/w;->h0(Lq/g/a/k/b;Ljava/lang/Integer;Ljava/lang/String;ILz2/n/b/l;ILjava/lang/Object;)V │ │ - const-string v3, "CREATE TABLE KeyGestureMapDb (\n keyGesture TEXT PRIMARY KEY NOT NULL,\n keyGestureAction TEXT NOT NULL\n)" │ + const-string v3, "CREATE TABLE ExercisePreferenceDb (\n id INTEGER PRIMARY KEY,\n name TEXT NOT NULL,\n randomOrder INTEGER NOT NULL,\n testingMethod TEXT NOT NULL,\n intervalSchemeId INTEGER,\n pronunciationId INTEGER NOT NULL,\n isQuestionDisplayed INTEGER NOT NULL,\n cardInversion TEXT NOT NULL,\n pronunciationPlanId INTEGER NOT NULL,\n timeForAnswer INTEGER NOT NULL\n)" │ │ invoke-static/range {v1 .. v7}, Ly2/v/w;->h0(Lq/g/a/k/b;Ljava/lang/Integer;Ljava/lang/String;ILz2/n/b/l;ILjava/lang/Object;)V │ │ - const-string v3, "CREATE TABLE FileFormatDb (\n id INTEGER PRIMARY KEY,\n name TEXT NOT NULL,\n extension TEXT NOT NULL,\n delimiter TEXT NOT NULL,\n trailingDelimiter INTEGER NOT NULL,\n quoteCharacter TEXT,\n quoteMode TEXT,\n escapeCharacter TEXT,\n nullString TEXT,\n ignoreSurroundingSpaces INTEGER NOT NULL,\n trim INTEGER NOT NULL,\n ignoreEmptyLines INTEGER NOT NULL,\n recordSeparator TEXT,\n commentMarker TEXT,\n skipHeaderRecord INTEGER NOT NULL,\n header TEXT,\n ignoreHeaderCase INTEGER NOT NULL,\n allowDuplicateHeaderNames INTEGER NOT NULL,\n allowMissingColumnNames INTEGER NOT NULL,\n headerComments TEXT,\n autoFlush INTEGER NOT NULL\n)" │ + const-string v3, "CREATE TABLE IntervalDb (\n id INTEGER PRIMARY KEY,\n intervalSchemeId INTEGER NOT NULL REFERENCES IntervalSchemeDb ON DELETE CASCADE,\n grade INTEGER NOT NULL,\n value TEXT NOT NULL\n)" │ │ invoke-static/range {v1 .. v7}, Ly2/v/w;->h0(Lq/g/a/k/b;Ljava/lang/Integer;Ljava/lang/String;ILz2/n/b/l;ILjava/lang/Object;)V │ │ - const-string v3, "CREATE TABLE SerializableDb (\n key TEXT PRIMARY KEY NOT NULL,\n jsonData TEXT NOT NULL\n)" │ + const-string v3, "CREATE TABLE SharedExercisePreferenceDb (\n exercisePreferenceId INTEGER PRIMARY KEY\n)" │ + │ + invoke-static/range {v1 .. v7}, Ly2/v/w;->h0(Lq/g/a/k/b;Ljava/lang/Integer;Ljava/lang/String;ILz2/n/b/l;ILjava/lang/Object;)V │ + │ + const-string v3, "CREATE TABLE FileFormatDb (\n id INTEGER PRIMARY KEY,\n name TEXT NOT NULL,\n extension TEXT NOT NULL,\n delimiter TEXT NOT NULL,\n trailingDelimiter INTEGER NOT NULL,\n quoteCharacter TEXT,\n quoteMode TEXT,\n escapeCharacter TEXT,\n nullString TEXT,\n ignoreSurroundingSpaces INTEGER NOT NULL,\n trim INTEGER NOT NULL,\n ignoreEmptyLines INTEGER NOT NULL,\n recordSeparator TEXT,\n commentMarker TEXT,\n skipHeaderRecord INTEGER NOT NULL,\n header TEXT,\n ignoreHeaderCase INTEGER NOT NULL,\n allowDuplicateHeaderNames INTEGER NOT NULL,\n allowMissingColumnNames INTEGER NOT NULL,\n headerComments TEXT,\n autoFlush INTEGER NOT NULL\n)" │ │ invoke-static/range {v1 .. v7}, Ly2/v/w;->h0(Lq/g/a/k/b;Ljava/lang/Integer;Ljava/lang/String;ILz2/n/b/l;ILjava/lang/Object;)V │ │ const-string v3, "CREATE INDEX CardDbIndex ON CardDb(deckId, ordinal)" │ │ invoke-static/range {v1 .. v7}, Ly2/v/w;->h0(Lq/g/a/k/b;Ljava/lang/Integer;Ljava/lang/String;ILz2/n/b/l;ILjava/lang/Object;)V