Recently Written · git

subread-android

SubRead for Android: times an audiobook against its ebook on the device

git clone https://github.com/equwal/subread-android

Log | Files | Refs


commit f07eecbd406d67b0c93ee63736cd0c65a75583b0
equwal <truex@equwal.com>
2026-09-21 03:12:23 -0700

Add a link to honjimaku.com, where users share subtitles of Japanese books

The link opens the browser. The text beside it says that the subtitles
hold the words of the book. A build for Google Play leaves it out.

 app/build.gradle.kts                                          |  6 ++++--
 .../androidTest/kotlin/space/subread/app/CapabilitiesTest.kt  |  2 ++
 app/src/main/kotlin/space/subread/app/MainActivity.kt         | 11 +++++++++++
 fastlane/metadata/android/en-US/changelogs/9.txt              |  1 +
 fdroid/space.subread.app.yml                                  | 10 +++++-----
 5 files changed, 23 insertions(+), 7 deletions(-)
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 953a7ef..b14cfc0 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -28,14 +28,16 @@ android {
         minSdk = 26
         targetSdk = 36
         // Plain numbers, in this file: F-Droid reads them from here to find a new release.
-        versionCode = 8
-        versionName = "0.7.0"
+        versionCode = 9
+        versionName = "0.8.0"
         testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
 
         // A link to the Ko-fi page. Google Play is not given it (-PplayStore=true): its
         // rules on payments outside the store are read differently by each reviewer, and
         // a first listing is not the place to find out. F-Droid and GitHub builds have it.
         buildConfigField("boolean", "DONATE_LINK", (providers.gradleProperty("playStore").orNull != "true").toString())
+        // A link to honjimaku.com, a library of subtitles that users share. Not for Google Play either.
+        buildConfigField("boolean", "HONJIMAKU_LINK", (providers.gradleProperty("playStore").orNull != "true").toString())
 
         // Every phone worth transcribing on is 64-bit ARM; the speech library
         // is built for ARMv8.2 specifically (see src/main/cpp/CMakeLists.txt).
diff --git a/app/src/androidTest/kotlin/space/subread/app/CapabilitiesTest.kt b/app/src/androidTest/kotlin/space/subread/app/CapabilitiesTest.kt
index 978ec2c..b2507e6 100644
--- a/app/src/androidTest/kotlin/space/subread/app/CapabilitiesTest.kt
+++ b/app/src/androidTest/kotlin/space/subread/app/CapabilitiesTest.kt
@@ -49,6 +49,8 @@ class CapabilitiesTest {
             // The Ko-fi link is in each build but the one for Google Play (-PplayStore=true).
             val link = compose.onAllNodesWithText("Support on Ko-fi").fetchSemanticsNodes().size
             assertTrue(link == if (BuildConfig.DONATE_LINK) 1 else 0)
+            val library = compose.onAllNodesWithText("Open honjimaku.com").fetchSemanticsNodes().size
+            assertTrue(library == if (BuildConfig.HONJIMAKU_LINK) 1 else 0)
         }
     }
 }
diff --git a/app/src/main/kotlin/space/subread/app/MainActivity.kt b/app/src/main/kotlin/space/subread/app/MainActivity.kt
index 3ae87ff..8362273 100644
--- a/app/src/main/kotlin/space/subread/app/MainActivity.kt
+++ b/app/src/main/kotlin/space/subread/app/MainActivity.kt
@@ -339,6 +339,17 @@ private fun Outputs(
             Button(onClick = onSave, enabled = done) { Text("Save .srt") }
             OutlinedButton(onClick = onShare, enabled = done) { Text("Share") }
         }
+        if (BuildConfig.HONJIMAKU_LINK) {
+            val context = LocalContext.current
+            Text("Japanese book? honjimaku.com is a free library of subtitles for Japanese audiobooks. " +
+                "Save the .srt, then add it there, so that other learners do not have to make it again. " +
+                "The subtitles hold the words of the book: share them only if you may.",
+                style = MaterialTheme.typography.bodySmall)
+            // Opens the browser. The app itself still has no network permission.
+            OutlinedButton(onClick = {
+                runCatching { context.startActivity(Intent(Intent.ACTION_VIEW, Uri.parse("https://honjimaku.com/"))) }
+            }) { Text("Open honjimaku.com") }
+        }
 
         HorizontalDivider(color = Color.Black)
         Text("Video + subtitles", fontWeight = FontWeight.Bold)
diff --git a/fastlane/metadata/android/en-US/changelogs/9.txt b/fastlane/metadata/android/en-US/changelogs/9.txt
new file mode 100644
index 0000000..40e1167
--- /dev/null
+++ b/fastlane/metadata/android/en-US/changelogs/9.txt
@@ -0,0 +1 @@
+A link to honjimaku.com, a free library where users share subtitles of Japanese audiobooks (not in the Google Play build).
diff --git a/fdroid/space.subread.app.yml b/fdroid/space.subread.app.yml
index 52d9c8d..f40047e 100644
--- a/fdroid/space.subread.app.yml
+++ b/fdroid/space.subread.app.yml
@@ -16,9 +16,9 @@ RepoType: git
 Repo: https://github.com/equwal/subread-android.git
 
 Builds:
-  - versionName: 0.7.0
-    versionCode: 8
-    commit: v0.7.0
+  - versionName: 0.8.0
+    versionCode: 9
+    commit: v0.8.0
     subdir: app
     submodules: true
     sudo:
@@ -30,5 +30,5 @@ Builds:
 
 AutoUpdateMode: Version
 UpdateCheckMode: Tags
-CurrentVersion: 0.7.0
-CurrentVersionCode: 8
+CurrentVersion: 0.8.0
+CurrentVersionCode: 9