Skip to content

Commit

Permalink
Merge branch 'release-0.14'
Browse files Browse the repository at this point in the history
  • Loading branch information
theblackwidower committed Mar 26, 2019
2 parents 035ba79 + 37e608f commit 57387e8
Show file tree
Hide file tree
Showing 108 changed files with 6,798 additions and 936 deletions.
100 changes: 100 additions & 0 deletions .idea/codeStyles/Project.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions .idea/codeStyles/codeStyleConfig.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions .idea/inspectionProfiles/Project_Default.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

37 changes: 32 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
[![GitHub release](https://img.shields.io/github/release/theblackwidower/KanaQuiz.svg)](https://github.com/theblackwidower/KanaQuiz/releases/)
[![GitHub license](https://img.shields.io/github/license/theblackwidower/KanaQuiz.svg)](https://github.com/theblackwidower/KanaQuiz/blob/master/LICENSE)

[![GitHub commits](https://img.shields.io/github/commits-since/theblackwidower/KanaQuiz/latest.svg)](https://github.com/theblackwidower/KanaQuiz/commits/master)
[![GitHub issues](https://img.shields.io/github/issues/theblackwidower/KanaQuiz.svg)](https://github.com/theblackwidower/KanaQuiz/issues/)
[![GitHub pull requests](https://img.shields.io/github/issues-pr/theblackwidower/KanaQuiz.svg)](https://github.com/theblackwidower/KanaQuiz/pulls/)
[![GitHub commit activity](https://img.shields.io/github/commit-activity/4w/theblackwidower/KanaQuiz.svg)](https://github.com/theblackwidower/KanaQuiz/graphs/commit-activity)

[![Codacy Badge](https://api.codacy.com/project/badge/Grade/b0af5712d54745ada2893d82c55a680b)](https://www.codacy.com/app/theblackwidower/KanaQuiz?utm_source=github.com&utm_medium=referral&utm_content=theblackwidower/KanaQuiz&utm_campaign=Badge_Grade)
Expand All @@ -19,7 +19,12 @@ Open source and ad free.

This application is in a state of constant development. Any additional feature requests can be sent via email, or submitted as an issue here, on GitHub. If they are appropriate, they will likely be added to the next release.

Currently available on [Google Play™](https://play.google.com/store/apps/details?id=com.noprestige.kanaquiz).
[<img src="https://f-droid.org/badge/get-it-on.png"
alt="Get it on F-Droid"
height="80">](https://f-droid.org/packages/com.noprestige.kanaquiz/)
[<img src="https://play.google.com/intl/en_us/badges/images/generic/en-play-badge.png"
alt="Get it on Google Play"
height="80">](https://play.google.com/store/apps/details?id=com.noprestige.kanaquiz)

## Feature set

Expand All @@ -34,6 +39,10 @@ Currently available on [Google Play™](https://play.google.com/store/apps/detai
* Dynamic AI chooses the kana you have the most trouble with
* Vocabulary support with Kanji option
* Enhanced multiple choice answer selection
* Includes the extended katakana set, recommended by the Japanese government for more accurate pronunciation of foreign words
* Kanji support with all Kyōiku Kanji taught to first and second grade Japanese students
* Selectable themes of various colours and tones
* Utilizes the RikkaApps' Font Provider for prettier text

## Upcoming features

Expand All @@ -48,6 +57,8 @@ _NB: The following features have no planned release date, or guarantee of releas
* 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

Expand All @@ -72,13 +83,13 @@ _NB: The following features have no planned release date, or guarantee of releas

## Branching Model

I'm using the `develop` branch for main development and experimentation, and the `master` branch for releases, as well as readme and privacy policy updates.
I'm using the `develop` branch for main development and experimentation, as well as readme and privacy policy updates; and the `master` branch for releases.

Mainly, the branching model I'm currently experimenting with is inspired by [this blog post](https://nvie.com/posts/a-successful-git-branching-model/). But I am altering it for my own purposes.

## Translations

This application is currently only available for English language speakers.
This application is currently only available in English, Spanish, and Catalan.

If you are multi-lingual, and wish to assist this project by volunteering translation services, you can submit the changes in a pull request, or via email.

Expand All @@ -88,6 +99,22 @@ If you don't wish to go through the hassle of installing Android Studio, you can

If you don't wish to bother with pull requests, using the template listed above you can also submit your translation through email to [[email protected]](mailto:[email protected]?subject=KanaQuiz%20Translation), with the subject "KanaQuiz Translation".

I'll also ask, if possible, for any translators to also update the [vocabulary.xml](https://github.com/theblackwidower/KanaQuiz/blob/develop/app/src/main/res/xml/vocabulary.xml) file by replacing the English answers with answers in their own language, and insert it into a language-specific directory (`app/src/main/res/xml-[language code]/`), so it'll be automatically included as part of the translation package.
I'll also ask, if possible, for any translators to also translate the vocabulary and kanji files, and insert them into a language-specific directory (`app/src/main/res/xml-[language code]/`), so they'll be automatically included as part of the translation package.

The vocabulary file ([vocabulary.xml](https://github.com/theblackwidower/KanaQuiz/blob/develop/app/src/main/res/xml/vocabulary.xml)) just needs to have it's English answers replaced.

The kanji files however, are a bit more complex. There are many more kanji to tranlate, and all three can just be translated and copied over. However, if you do not wish to translate all three files ([kanji_1.xml](https://github.com/theblackwidower/KanaQuiz/blob/develop/app/src/main/res/xml/kanji_1.xml), [kanji_2.xml](https://github.com/theblackwidower/KanaQuiz/blob/develop/app/src/main/res/xml/kanji_2.xml), [kanji_3.xml](https://github.com/theblackwidower/KanaQuiz/blob/develop/app/src/main/res/xml/kanji_3.xml)), just take the base kanji file ([kanji.xml](https://github.com/theblackwidower/KanaQuiz/blob/develop/app/src/main/res/xml/kanji.xml)) and remove the QuestionFile elements of the files you do not wish to translate. All together, these files should be copied into the new folder.

If you require any assistance, please do not be afraid to email me. I appreciate the assistance from anyone wishing to volunteer their skills to help with this project.

## Themes

I'm open to people offering to design new themes. If you wish to do so, there are several key files to be aware of.

The themes themselves need to be designed in the styles.xml files (`app/src/main/res/values-v21/styles.xml` and `app/src/main/res/values/styles.xml`). Be sure to add any new colours you use to the colors.xml file. (`app/src/main/res/values/colors.xml`)

Add an appropriate title, and related prefId to the appropriate section in `app/src/main/res/values/strings.xml`, and link to those string resources when you add the theme to the chooser in `app/src/main/res/layout/theme_chooser_dialog.xml`.

Finally, to make the whole thing work, be sure to add your theme to the if-else chain in the getThemeId method in `app/src/main/java/com/noprestige/kanaquiz/themes/ThemeManager.java`.

You can submit the finished product via pull request.
27 changes: 20 additions & 7 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,10 @@ android {
applicationId 'com.noprestige.kanaquiz'
minSdkVersion 17
targetSdkVersion 28
versionCode 16
versionName '0.13.1'
versionCode 17
versionName '0.14'
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
resConfigs 'en-rCA', 'es-rES', 'ca-rES' //ref: https://stackoverflow.com/a/47525966/3582371
javaCompileOptions {
annotationProcessorOptions {
arguments = ['room.schemaLocation':
Expand Down Expand Up @@ -48,12 +49,16 @@ android {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
//ref: planet.jboss.org/post/android_lint_ignore_specific_errors
lintOptions {
disable 'MissingTranslation'
}
}

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-beta02'
implementation 'androidx.appcompat:appcompat:1.0.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
implementation 'androidx.appcompat:appcompat:1.0.2'
testImplementation 'junit:junit:4.12'
implementation 'com.google.android.material:material:1.0.0'

Expand All @@ -62,9 +67,9 @@ dependencies {

androidTestImplementation 'androidx.room:room-testing:2.0.0'

releaseImplementation 'com.crashlytics.sdk.android:crashlytics:2.9.5'
releaseImplementation 'com.google.firebase:firebase-core:16.0.4'
releaseImplementation 'com.google.firebase:firebase-perf:16.1.2'
releaseImplementation 'com.crashlytics.sdk.android:crashlytics:2.9.8'
releaseImplementation 'com.google.firebase:firebase-core:16.0.6'
releaseImplementation 'com.google.firebase:firebase-perf:16.2.3'

implementation 'org.apmem.tools:layouts:1.10@aar'

Expand All @@ -75,6 +80,14 @@ dependencies {
pureImplementation 'ch.acra:acra-mail:5.2.1'
pureImplementation 'ch.acra:acra-toast:5.2.1'
pureImplementation 'ch.acra:acra-limiter:5.2.1'

androidTestImplementation 'androidx.test.ext:junit:1.1.0'

implementation 'com.github.PhilJay:MPAndroidChart:3.0.3'

implementation 'androidx.preference:preference:1.0.0'

implementation 'moe.shizuku.fontprovider:api:10'
}

coveralls {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
import androidx.room.testing.MigrationTestHelper;
import androidx.sqlite.db.SupportSQLiteDatabase;
import androidx.sqlite.db.framework.FrameworkSQLiteOpenHelperFactory;
import androidx.test.InstrumentationRegistry;
import androidx.test.runner.AndroidJUnit4;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.platform.app.InstrumentationRegistry;

import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
Expand All @@ -32,7 +32,7 @@ public LogMigrationTest()
{
helper = new MigrationTestHelper(InstrumentationRegistry.getInstrumentation(),
LogDatabase.class.getCanonicalName(), new FrameworkSQLiteOpenHelperFactory());
AndroidThreeTen.init(InstrumentationRegistry.getTargetContext());
AndroidThreeTen.init(InstrumentationRegistry.getInstrumentation().getTargetContext());
}

@Test
Expand Down
Loading

0 comments on commit 57387e8

Please sign in to comment.