Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# EasyReader
# Emaki

*Formerly EasyReader. Named after the emaki (絵巻), the Japanese narrative picture scroll — the thousand-year-old ancestor of the webtoon.*

[![Android](https://img.shields.io/badge/Android-11%2B-green.svg)](https://www.android.com/)
[![Kotlin](https://img.shields.io/badge/Kotlin-2.3.21-blue.svg)](https://kotlinlang.org/)
Expand All @@ -7,9 +9,9 @@
An Android reader for web novels, manga, manhwa, and local files (like PDFs and EPUBs). Built with Kotlin and Jetpack Compose.

<p align="center">
<img src="docs/screenshots/ManwhaReader.jpg" alt="EasyReader Manwha reader" width="200" style="margin: 10px;" />
<img src="docs/screenshots/NovelReader.jpg" alt="EasyReader Novel reader" width="200" style="margin: 10px;" />
<img src="docs/screenshots/Explorer.jpg" alt="EasyReader Explorer" width="200" style="margin: 10px;" />
<img src="docs/screenshots/ManwhaReader.jpg" alt="Emaki Manwha reader" width="200" style="margin: 10px;" />
<img src="docs/screenshots/NovelReader.jpg" alt="Emaki Novel reader" width="200" style="margin: 10px;" />
<img src="docs/screenshots/Explorer.jpg" alt="Emaki Explorer" width="200" style="margin: 10px;" />
</p>

## Features
Expand Down Expand Up @@ -51,7 +53,7 @@ The app has two build flavors:
```

> [!NOTE]
> The app package name is still `io.aatricks.novelscraper` so existing installs don't break, but the source code namespace is `io.aatricks.easyreader`.
> The app package name is still `io.aatricks.novelscraper` and the source code namespace is still `io.aatricks.easyreader` so existing installs keep updating in place across the EasyReader → Emaki rename.

## Contributing

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ private fun updateDialog(
onDismiss()
updateViewModel.clearUpdateState()
},
title = { Text("Update EasyReader") },
title = { Text("Update Emaki") },
text = {
Column(verticalArrangement = Arrangement.spacedBy(EasyReaderSpacing.sm)) {
Text(
Expand Down Expand Up @@ -266,7 +266,7 @@ private fun permissionWarningDialog(
title = { Text("Permission Required") },
text = {
Text(
"To install updates, EasyReader needs permission to install apps from " +
"To install updates, Emaki needs permission to install apps from " +
"unknown sources. You will be taken to system settings to enable this."
)
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ fun SettingsScreen(
if (err != null) {
snackbarHostState.showSnackbar("Error checking updates: $err")
} else if (update == null) {
snackbarHostState.showSnackbar("EasyReader is up to date (${updateState.currentVersion})")
snackbarHostState.showSnackbar("Emaki is up to date (${updateState.currentVersion})")
}
userTriggeredCheck = false
}
Expand Down Expand Up @@ -433,7 +433,7 @@ fun SettingsScreen(
HorizontalDivider(color = MaterialTheme.colorScheme.outlineVariant.copy(alpha = 0.5f))

SettingsSection(title = "About") {
SettingsRow(title = "App", subtitle = "EasyReader (${updateState.currentVersion})")
SettingsRow(title = "App", subtitle = "Emaki (${updateState.currentVersion})")
SettingsRow(title = "License", subtitle = "GPL-3.0")

Row(
Expand All @@ -454,7 +454,7 @@ fun SettingsScreen(
color = MaterialTheme.colorScheme.onSurface
)
Text(
text = "Check once a day when EasyReader opens",
text = "Check once a day when Emaki opens",
style = MaterialTheme.typography.bodySmall,
color = MaterialTheme.colorScheme.onSurfaceVariant
)
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/res/drawable/ic_launcher_background.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@android:color/white" />
<solid android:color="#1E1B2E" />
</shape>
41 changes: 38 additions & 3 deletions app/src/main/res/drawable/ic_launcher_foreground.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@mipmap/ic_launcher"
android:gravity="center" />
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<group
android:scaleX="0.88"
android:scaleY="0.88"
android:pivotX="54"
android:pivotY="54">
<!-- Hanging scroll (emaki/kakemono): paper between two rollers -->
<!-- Paper -->
<path
android:pathData="M36,30 h36 v50 h-36 z"
android:fillColor="#F4EAD5" />
<!-- Ink lines -->
<path
android:pathData="M42,40 h24 a1.5,1.5 0 0 1 0,3 h-24 a1.5,1.5 0 0 1 0,-3 z"
android:fillColor="#2A2438" />
<path
android:pathData="M42,48 h24 a1.5,1.5 0 0 1 0,3 h-24 a1.5,1.5 0 0 1 0,-3 z"
android:fillColor="#2A2438" />
<path
android:pathData="M42,56 h16 a1.5,1.5 0 0 1 0,3 h-16 a1.5,1.5 0 0 1 0,-3 z"
android:fillColor="#2A2438" />
<!-- Hanko seal -->
<path
android:pathData="M59,64 h6 a2,2 0 0 1 2,2 v4 a2,2 0 0 1 -2,2 h-6 a2,2 0 0 1 -2,-2 v-4 a2,2 0 0 1 2,-2 z"
android:fillColor="#D0453A" />
<!-- Rollers -->
<path
android:pathData="M34,26 h40 a4,4 0 0 1 4,4 a4,4 0 0 1 -4,4 h-40 a4,4 0 0 1 -4,-4 a4,4 0 0 1 4,-4 z"
android:fillColor="#C9A15C" />
<path
android:pathData="M34,76 h40 a4,4 0 0 1 4,4 a4,4 0 0 1 -4,4 h-40 a4,4 0 0 1 -4,-4 a4,4 0 0 1 4,-4 z"
android:fillColor="#C9A15C" />
</group>
</vector>
25 changes: 25 additions & 0 deletions app/src/main/res/drawable/ic_launcher_monochrome.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<group
android:scaleX="0.88"
android:scaleY="0.88"
android:pivotX="54"
android:pivotY="54">
<!-- Single-color scroll silhouette for themed icons: paper with punched-out
lines rendered as separate solid shapes so the tint stays legible. -->
<path
android:pathData="M36,36 h36 v38 h-36 z M42,44 h24 v3 h-24 z M42,52 h24 v3 h-24 z M42,60 h16 v3 h-16 z"
android:fillType="evenOdd"
android:fillColor="#FFFFFF" />
<path
android:pathData="M34,26 h40 a4,4 0 0 1 4,4 a4,4 0 0 1 -4,4 h-40 a4,4 0 0 1 -4,-4 a4,4 0 0 1 4,-4 z"
android:fillColor="#FFFFFF" />
<path
android:pathData="M34,76 h40 a4,4 0 0 1 4,4 a4,4 0 0 1 -4,4 h-40 a4,4 0 0 1 -4,-4 a4,4 0 0 1 4,-4 z"
android:fillColor="#FFFFFF" />
</group>
</vector>
6 changes: 6 additions & 0 deletions app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
<monochrome android:drawable="@drawable/ic_launcher_monochrome" />
</adaptive-icon>
6 changes: 6 additions & 0 deletions app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
<monochrome android:drawable="@drawable/ic_launcher_monochrome" />
</adaptive-icon>
Binary file removed app/src/main/res/mipmap-hdpi/ic_launcher.png
Binary file not shown.
Binary file removed app/src/main/res/mipmap-hdpi/ic_launcher_round.png
Binary file not shown.
Binary file removed app/src/main/res/mipmap-mdpi/ic_launcher.png
Binary file not shown.
Binary file removed app/src/main/res/mipmap-mdpi/ic_launcher_round.png
Binary file not shown.
Binary file removed app/src/main/res/mipmap-xhdpi/ic_launcher.png
Binary file not shown.
Binary file removed app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
Binary file not shown.
Binary file removed app/src/main/res/mipmap-xxhdpi/ic_launcher.png
Binary file not shown.
Binary file not shown.
Binary file removed app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
Binary file not shown.
Binary file not shown.
2 changes: 1 addition & 1 deletion app/src/main/res/values-fr/strings.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<resources>
<!-- App Name -->
<string name="app_name">EasyReader</string>
<string name="app_name">Emaki</string>

<!-- Main Screen -->
<string name="open_library">Ouvrir la bibliothèque</string>
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<resources>
<!-- App Name -->
<string name="app_name">EasyReader</string>
<string name="app_name">Emaki</string>

<!-- Main Screen -->
<string name="open_library">Open library</string>
Expand Down
2 changes: 1 addition & 1 deletion settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ dependencyResolutionManagement {
}
}

rootProject.name = "EasyReader"
rootProject.name = "Emaki"
include(":app")
include(":benchmark")

Loading