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
20 changes: 10 additions & 10 deletions LatinReader/build.gradle
Original file line number Diff line number Diff line change
@@ -1,22 +1,23 @@
buildscript {
ext.kotlin_version = '2.1.21'
repositories {
mavenCentral()
google()
gradlePluginPortal()
}
dependencies {
classpath 'org.jetbrains.kotlin:compose-compiler-gradle-plugin:2.1.21'
def nav_version = "2.7.7"
classpath('com.android.tools.build:gradle:8.13.1')
def nav_version = "2.9.6"
classpath "org.jetbrains.kotlin:compose-compiler-gradle-plugin:2.2.21"
classpath("com.android.tools.build:gradle:8.13.1")
classpath("androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version")
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:2.2.0")
}
}

ext {
kotlin_version = '2.1.21'
lifecycle_version = '2.7.0'
kotlin_version = "2.1.21"
lifecycle_version = "2.10.0"
nav_version = "2.9.6"
compose_version = "1.12.1"
}

allprojects {
Expand All @@ -29,16 +30,15 @@ allprojects {
url = "https://jitpack.io"
}
mavenCentral()
//here
}
}

configurations.all {
configurations.configureEach {
resolutionStrategy {
force("org.jetbrains:annotations:13.0")
}
}

task clean(type: Delete) {
delete(rootProject.buildDir)
tasks.register("clean", Delete) {
delete rootProject.layout.buildDirectory
}
49 changes: 29 additions & 20 deletions LatinReader/core/build.gradle
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
apply plugin: "com.android.library"
apply plugin: "androidx.navigation.safeargs"
apply plugin: "kotlin-android"
apply plugin: "org.jetbrains.kotlin.plugin.compose"
plugins {
id("com.android.library")
id("androidx.navigation.safeargs")
id("kotlin-android")
id("org.jetbrains.kotlin.plugin.compose")
}

android {
namespace("com.ericmschmidt.classicsreader")
compileSdkVersion(36)

defaultConfig {
minSdkVersion(23)
minSdkVersion(24)
targetSdkVersion(36)
testInstrumentationRunner = "android.support.test.runner.AndroidJUnitRunner"
}
Expand All @@ -17,19 +19,17 @@ android {
unitTests.includeAndroidResources = true
unitTests.returnDefaultValues = true
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
buildFeatures {
compose = true
viewBinding = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.5.10"
}
kotlinOptions {
jvmTarget = "17"
kotlin {
jvmToolchain {
languageVersion = JavaLanguageVersion.of("24")
}
}

packagingOptions {
Expand All @@ -42,18 +42,17 @@ android {
}

dependencies {
implementation "androidx.compose.ui:ui-tooling:1.9.5"
def nav_version = "2.9.6"
implementation("androidx.compose.ui:ui-tooling:1.10.0")
def nav_version = rootProject.extensions["ext"]["nav_version"]
def lifecycle_version = rootProject.extensions["ext"]["lifecycle_version"]
implementation(fileTree(dir: "libs", include: ["*.jar"]))

// TODO: Clean build script to remove duplicative dependencies
implementation(platform("androidx.compose:compose-bom:2025.11.01"))
implementation(platform("androidx.compose:compose-bom:2025.12.00"))
implementation("androidx.appcompat:appcompat:1.7.1")
implementation("androidx.activity:activity-compose:1.12.0")
implementation("androidx.compose.foundation:foundation:1.9.5")
implementation("androidx.activity:activity-compose:1.12.1")
implementation("androidx.compose.foundation:foundation:1.10.0")
implementation("androidx.compose.material:material-icons-extended")
implementation("androidx.compose.material:material-ripple:1.9.5")
implementation("androidx.compose.material:material-ripple:1.10.0")
implementation("androidx.compose.material3:material3")
implementation("androidx.compose.material3:material3-window-size-class")
implementation("androidx.compose.material3.adaptive:adaptive:1.2.0")
Expand All @@ -64,21 +63,31 @@ dependencies {
implementation("androidx.compose.ui:ui-tooling-preview")
implementation("androidx.core:core-ktx:1.17.0")
implementation("androidx.legacy:legacy-support-v4:1.0.0")
implementation("androidx.datastore:datastore-preferences:1.2.0")
implementation('androidx.legacy:legacy-support-v4:1.0.0')
implementation("androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version")
implementation("androidx.lifecycle:lifecycle-viewmodel-compose:$lifecycle_version")
implementation("androidx.navigation:navigation-fragment-ktx:$nav_version")
implementation("androidx.navigation:navigation-ui-ktx:$nav_version")
implementation("androidx.preference:preference-ktx:1.2.1")
implementation("androidx.recyclerview:recyclerview:1.4.0")
implementation("androidx.navigation:navigation-fragment-ktx:$nav_version")
implementation("androidx.navigation:navigation-ui-ktx:$nav_version")
implementation("androidx.preference:preference-ktx:1.2.1")
implementation("androidx.recyclerview:recyclerview:1.4.0")
implementation('androidx.preference:preference-ktx:1.2.1')

implementation('androidx.recyclerview:recyclerview:1.4.0')

// Third-party MD viewer
//noinspection GradleDependency Required for MarkdownView view
implementation('com.github.mukeshsolanki:MarkdownView-Android:1.1.1')

debugImplementation("androidx.compose.ui:ui-test-manifest")
debugImplementation("androidx.compose.ui:ui-tooling")

// Test resources
androidTestImplementation(platform("androidx.compose:compose-bom:2025.11.01"))
androidTestImplementation(platform("androidx.compose:compose-bom:2025.12.00"))
androidTestImplementation("androidx.compose.ui:ui-test-junit4")
androidTestImplementation("androidx.test.espresso:espresso-core:3.7.0")
androidTestImplementation("androidx.test.ext:junit:1.3.0")
Expand All @@ -91,7 +100,7 @@ dependencies {
testImplementation("androidx.test:core:1.7.0")
testImplementation("org.robolectric:robolectric:4.16")
testImplementation("org.mockito.kotlin:mockito-kotlin:6.1.0")
testImplementation("io.mockk:mockk:1.14.6")
testImplementation("io.mockk:mockk:1.14.7")
testImplementation("net.sf.kxml:kxml2:2.3.0")

}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,13 @@
package com.ericmschmidt.classicsreader.datamodel
package com.ericmschmidt.classicsreader.data

import android.support.test.runner.AndroidJUnit4
import com.ericmschmidt.classicsreader.MyApplication
import com.ericmschmidt.classicsreader.utilities.getResourceStream
import com.ericmschmidt.classicsreader.xmlString
import io.mockk.MockKAnnotations
import io.mockk.every
import io.mockk.impl.annotations.RelaxedMockK
import io.mockk.mockkObject
import org.junit.Assert.assertNotNull
import java.io.ByteArrayInputStream
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package com.ericmschmidt.classicsreader
import android.app.Application
import android.content.Context
import android.util.Log
import com.ericmschmidt.classicsreader.datamodel.Manifest
import com.ericmschmidt.classicsreader.data.Manifest
import com.ericmschmidt.classicsreader.utilities.ITextConverter


Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.ericmschmidt.classicsreader.datamodel
package com.ericmschmidt.classicsreader.data

/**
* Represents a sub-division within a larger text.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.ericmschmidt.classicsreader.datamodel
package com.ericmschmidt.classicsreader.data

import com.ericmschmidt.classicsreader.MyApplication.Factory.applicationInstance
import com.ericmschmidt.classicsreader.logError
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.ericmschmidt.classicsreader.datamodel
package com.ericmschmidt.classicsreader.data

/** Contains information about the texts included in the reader.
* @author Eric Schmidt
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.ericmschmidt.classicsreader.datamodel
package com.ericmschmidt.classicsreader.data

import com.ericmschmidt.classicsreader.logError

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.ericmschmidt.classicsreader.datamodel
package com.ericmschmidt.classicsreader.data

import android.content.SharedPreferences
import androidx.core.content.edit
import androidx.preference.PreferenceManager
import com.ericmschmidt.classicsreader.MyApplication
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.ericmschmidt.classicsreader.datamodel
package com.ericmschmidt.classicsreader.data

import java.util.Formatter
import java.util.Locale
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.ericmschmidt.classicsreader.datamodel
package com.ericmschmidt.classicsreader.data

import com.ericmschmidt.classicsreader.logError
import com.ericmschmidt.classicsreader.utilities.getBook
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.ericmschmidt.classicsreader.datamodel
package com.ericmschmidt.classicsreader.data

import com.ericmschmidt.classicsreader.R
import java.util.Formatter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.ericmschmidt.classicsreader.R
import com.ericmschmidt.classicsreader.datamodel.WorkInfo
import com.ericmschmidt.classicsreader.data.WorkInfo

// Use this class for previewing WorkInfo & Card objects
class WorkInfoPreviewProvider : PreviewParameterProvider<WorkInfo> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.unit.dp
import com.ericmschmidt.classicsreader.datamodel.Library
import com.ericmschmidt.classicsreader.datamodel.WorkInfo
import com.ericmschmidt.classicsreader.data.Library
import com.ericmschmidt.classicsreader.data.WorkInfo


@Preview(showBackground = true)
Expand Down Expand Up @@ -39,9 +39,9 @@ fun PrettyCardLazyVerticalGrid(
) {
items(
items = works,
key = { work -> work!!.id }
key = { work -> work.id as String }
) {
PrettyCard(workInfo = it!!, onCardClick = onCardClick, isTranslation = isTranslation)
PrettyCard(workInfo = it, onCardClick = onCardClick, isTranslation = isTranslation)
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import com.ericmschmidt.classicsreader.datamodel.Library
import com.ericmschmidt.classicsreader.datamodel.WorkInfo
import com.ericmschmidt.classicsreader.R
import com.ericmschmidt.classicsreader.data.Library
import com.ericmschmidt.classicsreader.data.WorkInfo

class LibraryPreviewProvider : PreviewParameterProvider<Library> {
override val values = sequenceOf(
Expand Down Expand Up @@ -72,7 +72,7 @@ fun PrettyCardLazyList(
items = works,
key = { work -> work!!.id },
) {
PrettyRow(workInfo = it!!, onClick = onRowClick, isTranslation = isTranslation)
PrettyRow(workInfo = it, onClick = onRowClick, isTranslation = isTranslation)
}
}
}
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
package com.ericmschmidt.classicsreader.ui.fragments

import android.content.Context
import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import com.ericmschmidt.classicsreader.R as CoreR
import com.ericmschmidt.classicsreader.views.R
import com.ericmschmidt.classicsreader.MyApplication
import com.mukesh.MarkdownView
import java.io.BufferedReader

Expand All @@ -20,21 +19,25 @@ class HelpFragment : Fragment() {
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
return inflater.inflate(R.layout.fragment_help, container, false)
return inflater.inflate(CoreR.layout.fragment_help, container, false)
}

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)

val markdownView = view.findViewById<MarkdownView>(R.id.help_markdown_view)
val applicationInstance = MyApplication.applicationInstance()

// Open the help.md file from the resources
val context = applicationInstance.context
val resources = context.resources
val inputStream = resources.openRawResource(CoreR.raw.help);
val helpString = inputStream.bufferedReader().use(BufferedReader::readText)

val markdownView = view.findViewById<MarkdownView>(CoreR.id.help_markdown_view)
val helpString = buildHelpString(view.context)
markdownView.setMarkDownText(helpString)
}

/**
* Builds the help string from the raw resource file.
*/
companion object HelpFragmentBuilder {
fun buildHelpString(context: Context): String {
val resources = context.resources
val inputStream = resources.openRawResource(CoreR.raw.help)
val helpString = inputStream.bufferedReader().use(BufferedReader::readText)
return helpString
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,8 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import com.ericmschmidt.classicsreader.R as CoreR
import com.ericmschmidt.classicsreader.views.R
import com.ericmschmidt.classicsreader.MyApplication
import com.ericmschmidt.classicsreader.R
import com.mukesh.MarkdownView
import java.io.BufferedReader

Expand All @@ -28,7 +27,7 @@ class InfoFragment : Fragment() {
super.onViewCreated(view, savedInstanceState)

val markdownView = view.findViewById<MarkdownView>(R.id.info_markdown_view)
val applicationInstance = MyApplication.applicationInstance()
val applicationInstance = MyApplication.Factory.applicationInstance()

// Get the app context
val context = applicationInstance.context
Expand All @@ -37,12 +36,12 @@ class InfoFragment : Fragment() {
val packageName = context.packageName

// Open the info.md file from the resources
val inputStream = resources.openRawResource(CoreR.raw.info)
val inputStream = resources.openRawResource(R.raw.info)
var infoString = inputStream.bufferedReader().use(BufferedReader::readText)

// Get the app name, version name, and version number info
val appName = context.getString(CoreR.string.app_name)
val appDescription = context.getString(CoreR.string.app_description)
val appName = context.getString(R.string.app_name)
val appDescription = context.getString(R.string.app_description)
val versionInfo = packageManager.getPackageInfo(packageName, 0)
val versionName = versionInfo.versionName

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.ericmschmidt.classicsreader.utilities

import com.ericmschmidt.classicsreader.MyApplication.Factory.applicationInstance
import com.ericmschmidt.classicsreader.datamodel.Book
import com.ericmschmidt.classicsreader.data.Book
import com.ericmschmidt.classicsreader.logError
import org.xmlpull.v1.XmlPullParser
import org.xmlpull.v1.XmlPullParserException
Expand Down
Loading