From 80c9a8d0bfa4e26f050a12a384f58075ca1fe828 Mon Sep 17 00:00:00 2001 From: T Duke Perry Date: Fri, 1 Mar 2024 20:51:02 -0500 Subject: [PATCH 1/9] Updated Android Studio and various libraries Updated to the latest version of Android Studio, as well as a few out-of-date libraries. --- .idea/gradle.xml | 5 ++--- .idea/misc.xml | 10 +++++++--- app/build.gradle | 18 +++++++++--------- 3 files changed, 18 insertions(+), 15 deletions(-) diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 7b46144d..0897082f 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -4,16 +4,15 @@ diff --git a/.idea/misc.xml b/.idea/misc.xml index 97aad5cb..0ba993e4 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -5,7 +5,7 @@ - + diff --git a/app/build.gradle b/app/build.gradle index e79c2b32..c7a7271a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -68,17 +68,17 @@ dependencies { androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1' implementation 'androidx.appcompat:appcompat:1.6.1' testImplementation 'junit:junit:4.13.2' - implementation 'com.google.android.material:material:1.9.0' + implementation 'com.google.android.material:material:1.11.0' - implementation 'androidx.room:room-runtime:2.5.2' - annotationProcessor 'androidx.room:room-compiler:2.5.2' + implementation 'androidx.room:room-runtime:2.6.1' + annotationProcessor 'androidx.room:room-compiler:2.6.1' - androidTestImplementation 'androidx.room:room-testing:2.5.2' + androidTestImplementation 'androidx.room:room-testing:2.6.1' releaseImplementation 'com.google.firebase:firebase-core:21.1.1' - releaseImplementation 'com.google.firebase:firebase-perf:20.3.3' - releaseImplementation 'com.google.firebase:firebase-crashlytics:18.3.7' - releaseImplementation 'com.google.firebase:firebase-analytics:21.3.0' + releaseImplementation 'com.google.firebase:firebase-perf:20.5.2' + releaseImplementation 'com.google.firebase:firebase-crashlytics:18.6.2' + releaseImplementation 'com.google.firebase:firebase-analytics:21.5.1' implementation 'org.apmem.tools:layouts:1.10@aar' @@ -92,11 +92,11 @@ dependencies { implementation 'com.github.PhilJay:MPAndroidChart:3.1.0' - implementation 'androidx.preference:preference:1.2.0' + implementation 'androidx.preference:preference:1.2.1' implementation 'moe.shizuku.fontprovider:api:10' - coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.3' + coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4' } coveralls { From 35acde0e046ac1cf1d6d02fd0a28a795327f9138 Mon Sep 17 00:00:00 2001 From: T Duke Perry Date: Mon, 4 Mar 2024 22:18:08 -0500 Subject: [PATCH 2/9] Upgraded to latest Gradle build tools Upgraded to the latest version of the gradle build tools. This involved a bit of minor refactoring. I also upgraded the SDK to 34 and disabled jacoco, since there appears to be some compatibility issues with the newest stuff. --- app/build.gradle | 22 +++++++++++----------- build.gradle | 4 ++-- gradle.properties | 3 +++ gradle/wrapper/gradle-wrapper.properties | 2 +- 4 files changed, 17 insertions(+), 14 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index c7a7271a..8734002f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -6,17 +6,17 @@ if (getGradle().getStartParameter().getTaskNames().toString().toLowerCase().cont } android { - compileSdkVersion 33 - buildToolsVersion '33.0.0' + compileSdkVersion 34 + buildToolsVersion '34.0.0' defaultConfig { applicationId 'com.noprestige.kanaquiz' minSdkVersion 22 - targetSdkVersion 33 + targetSdkVersion 34 versionCode 19 versionName '0.15' testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' //ref: https://stackoverflow.com/a/47525966/3582371 - resConfigs 'en-rCA', 'es-rES', 'ca-rES', 'de-rDE' + resourceConfigurations += ['en-rCA', 'es-rES', 'ca-rES', 'de-rDE'] javaCompileOptions { annotationProcessorOptions { arguments = ['room.schemaLocation': @@ -99,13 +99,13 @@ dependencies { coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4' } -coveralls { - sourceDirs += "${rootDir}/app/src/main/java/" - //Unit tests - jacocoReportPath "${buildDir}/reports/jacoco/debug/jacoco.xml" - //Instrument tests - //jacocoReportPath "${buildDir}/reports/coverage/debug/report.xml" -} +//coveralls { +// sourceDirs += "${rootDir}/app/src/main/java/" +// //Unit tests +// jacocoReportPath "${buildDir}/reports/jacoco/debug/jacoco.xml" +// //Instrument tests +// //jacocoReportPath "${buildDir}/reports/coverage/debug/report.xml" +//} //ref: https://stackoverflow.com/a/49739351/3582371 if (getGradle().getStartParameter().getTaskNames().toString().toLowerCase().contains('release')) { diff --git a/build.gradle b/build.gradle index 3ee158b3..c72b7546 100644 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:7.4.2' + classpath 'com.android.tools.build:gradle:8.3.0' if (getGradle().getStartParameter().getTaskNames().toString().toLowerCase().contains('release') || getGradle().getStartParameter().getTaskNames().toString().contains('dependencyUpdates')) { classpath 'com.google.gms:google-services:4.3.15' @@ -20,7 +20,7 @@ buildscript { } plugins { - id 'com.vanniktech.android.junit.jacoco' version '0.16.0' +// id 'com.vanniktech.android.junit.jacoco' version '0.16.0' id 'com.github.kt3k.coveralls' version '2.12.2' id 'com.github.ben-manes.versions' version '0.47.0' } diff --git a/gradle.properties b/gradle.properties index 9e6fce10..f6720ae0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,7 +9,10 @@ # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. +android.defaults.buildfeatures.buildconfig=true android.enableJetifier=true +android.nonFinalResIds=false +android.nonTransitiveRClass=false android.useAndroidX=true org.gradle.jvmargs=-Xmx1536m diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 8049c684..e411586a 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From ad40ad2013d4b820007d4a6ac53d84bfa7318d6e Mon Sep 17 00:00:00 2001 From: T Duke Perry Date: Tue, 5 Mar 2024 22:04:16 -0500 Subject: [PATCH 3/9] Fixed some deprecated build script things Moved the buildconfig=true line from gradle.properties to an equivalent statement in build.gradle. Also replaced the deprecated compileSdkVersion and buildToolsVersion statements with their replacements. --- app/build.gradle | 7 +++++-- gradle.properties | 1 - 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 8734002f..c6a1ec82 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -6,8 +6,8 @@ if (getGradle().getStartParameter().getTaskNames().toString().toLowerCase().cont } android { - compileSdkVersion 34 - buildToolsVersion '34.0.0' + compileSdk 34 + buildToolsVersion = '34.0.0' defaultConfig { applicationId 'com.noprestige.kanaquiz' minSdkVersion 22 @@ -60,6 +60,9 @@ android { lint { disable 'MissingTranslation' } + buildFeatures { + buildConfig true + } } dependencies { diff --git a/gradle.properties b/gradle.properties index f6720ae0..c03eac49 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,7 +9,6 @@ # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. -android.defaults.buildfeatures.buildconfig=true android.enableJetifier=true android.nonFinalResIds=false android.nonTransitiveRClass=false From a5cfd685631924e7353096724455e0f3f661393c Mon Sep 17 00:00:00 2001 From: T Duke Perry Date: Tue, 5 Mar 2024 23:31:47 -0500 Subject: [PATCH 4/9] Incremented version number Incremented the version number and updated the copyright date for the next minor release. (This release primarily will just update a few libraries, but it's main purpose is to keep my Google Play Developer account active, which I can't believe I have to do just to stop them from closing down my account.) --- app/build.gradle | 4 ++-- app/src/main/res/values/strings.xml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index c6a1ec82..a2369c17 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -12,8 +12,8 @@ android { applicationId 'com.noprestige.kanaquiz' minSdkVersion 22 targetSdkVersion 34 - versionCode 19 - versionName '0.15' + versionCode 20 + versionName '0.15.1' testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' //ref: https://stackoverflow.com/a/47525966/3582371 resourceConfigurations += ['en-rCA', 'es-rES', 'ca-rES', 'de-rDE'] diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 182ec3c3..38eaad73 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,6 +1,6 @@ - - - - diff --git a/app/src/main/res/drawable/mastodon_logo.xml b/app/src/main/res/drawable/mastodon_logo.xml new file mode 100644 index 00000000..9668974c --- /dev/null +++ b/app/src/main/res/drawable/mastodon_logo.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_about_screen.xml b/app/src/main/res/layout/activity_about_screen.xml index 896997f5..1a823328 100644 --- a/app/src/main/res/layout/activity_about_screen.xml +++ b/app/src/main/res/layout/activity_about_screen.xml @@ -1,6 +1,6 @@ Github Logo - Twitter Logo + Mastodon Logo Full source code available on GitHub. \u00A9 2017–2024 T Duke Perry. All rights reserved. From e14ed1596404d403190d5b3e44f79af8943fef54 Mon Sep 17 00:00:00 2001 From: T Duke Perry Date: Wed, 6 Mar 2024 00:21:18 -0500 Subject: [PATCH 8/9] Added Project Migrations file I have no idea what this file is intended to do. The IDE added it. --- .idea/migrations.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .idea/migrations.xml diff --git a/.idea/migrations.xml b/.idea/migrations.xml new file mode 100644 index 00000000..f8051a6f --- /dev/null +++ b/.idea/migrations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file From c7ab92efe4af3d2dffd6ca4747311269506295f7 Mon Sep 17 00:00:00 2001 From: T Duke Perry Date: Thu, 7 Mar 2024 01:25:18 -0500 Subject: [PATCH 9/9] Updated README Updated the feature list on the README, which was well-overdue. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b70daceb..f90de16c 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,8 @@ This application is in a state of constant development. Any additional feature r * Supports Hiragana and Katakana character sets * Ten different character groupings for each set, allowing a gradual progression through the characters + * Complete control of which characters the user is quizzed on (either groups of questions or individual questions can be enabled and disabled) + * Support for kun'yomi and on'yomi-based kanji questions * Can answer questions by entering them using the on-screen keyboard, or as multiple choice questions * Built-in kana reference sheet * Supports both digraphs (ひゃ, みゅ, リュ) and diacritics (が, ぴ) @@ -50,14 +52,12 @@ _NB: The following features have no planned release date, or guarantee of releas * Multiple fonts * Obsolete kana option - * Finer question selection feature * User-made question lists * Furigana option * Export logs and preferences * Pronunciation Guide * Number questions * Reverse questions mode (questions in English, answers in Japanese) - * Support for kun'yomi and on'yomi-based kanji questions * Limitation alerts, either by time, or number of questions ## Code Analysis, Continuous Integration and Test Coverage