phase 0: fork Episteme, rename package to org.dueattendant149.bookreader

- Cloned from Aryan-Raj3112/episteme (AGPL-3.0)
- Package: com.aryan.reader → org.dueattendant149.bookreader
- Application ID: org.dueattendant149.bookreader
- Added AGENTS.md with migration plan
- Upstream: github.com/Aryan-Raj3112/episteme
- Origin: git.dueattendant149.org/Atte149/book-reader
This commit is contained in:
Atte149 2026-06-24 00:33:58 +03:00
parent e615128a23
commit 5f64f3d722
631 changed files with 3082 additions and 3006 deletions

View file

@ -1466,7 +1466,7 @@ kotlin {
compose.desktop {
application {
mainClass = "com.aryan.reader.desktop.LauncherKt"
mainClass = "org.dueattendant149.bookreader.desktop.LauncherKt"
desktopPackagingJavaHome?.let { javaHome = it }
jvmArgs("--add-opens", "java.desktop/sun.awt=ALL-UNNAMED")

View file

@ -1,12 +0,0 @@
package com.aryan.reader.desktop
import com.aryan.reader.shared.FileType
import com.aryan.reader.shared.reader.SharedEpubBook
import com.aryan.reader.shared.reader.SharedJvmBookLoader
import java.io.File
object DesktopEpubLoader {
fun load(file: File): SharedEpubBook {
return SharedJvmBookLoader.load(file, FileType.EPUB)
}
}

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext

View file

@ -1,8 +1,8 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.DEFAULT_CLOUD_TTS_SPEAKER_ID
import com.aryan.reader.shared.GEMINI_CLOUD_TTS_MODEL_ID
import com.aryan.reader.shared.ReaderAiByokSettings
import org.dueattendant149.bookreader.shared.DEFAULT_CLOUD_TTS_SPEAKER_ID
import org.dueattendant149.bookreader.shared.GEMINI_CLOUD_TTS_MODEL_ID
import org.dueattendant149.bookreader.shared.ReaderAiByokSettings
import com.sun.jna.Library
import com.sun.jna.Memory
import com.sun.jna.Native
@ -21,7 +21,7 @@ private const val WINDOWS_CRED_PERSIST_LOCAL_MACHINE = 2
private const val WINDOWS_ERROR_NOT_FOUND = 1168
private const val LINUX_SECRET_SCHEMA_DONT_MATCH_NAME = 2
private const val LINUX_SECRET_SCHEMA_ATTRIBUTE_STRING = 0
private const val LINUX_SECRET_SCHEMA_NAME = "com.aryan.reader.Secret"
private const val LINUX_SECRET_SCHEMA_NAME = "org.dueattendant149.bookreader.Secret"
private const val LINUX_SECRET_COLLECTION_DEFAULT = "default"
private const val LINUX_SECRET_SERVICE_APPLICATION_ATTRIBUTE = "application"
private const val LINUX_SECRET_SERVICE_APPLICATION_VALUE = "Episteme.Reader"

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.foundation.horizontalScroll
import androidx.compose.foundation.verticalScroll
@ -38,10 +38,10 @@ import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import com.aryan.reader.shared.RecapResult
import com.aryan.reader.shared.SummarizationResult
import com.aryan.reader.shared.ui.SharedMarkdownText
import com.aryan.reader.shared.ui.readerString
import org.dueattendant149.bookreader.shared.RecapResult
import org.dueattendant149.bookreader.shared.SummarizationResult
import org.dueattendant149.bookreader.shared.ui.SharedMarkdownText
import org.dueattendant149.bookreader.shared.ui.readerString
@Composable
internal fun DesktopAiHubSheet(

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
@ -36,13 +36,13 @@ import androidx.compose.ui.window.WindowPosition
import androidx.compose.ui.window.WindowState
import androidx.compose.ui.window.application
import androidx.compose.ui.window.rememberWindowState
import com.aryan.reader.shared.AppContrastOption
import com.aryan.reader.shared.AppThemeMode
import com.aryan.reader.shared.reader.ReaderReadingMode
import com.aryan.reader.shared.reader.ReaderSettings
import com.aryan.reader.shared.reader.SharedJvmBookLoadSemanticMode
import com.aryan.reader.shared.ui.SharedAppTheme
import com.aryan.reader.shared.ui.readerString
import org.dueattendant149.bookreader.shared.AppContrastOption
import org.dueattendant149.bookreader.shared.AppThemeMode
import org.dueattendant149.bookreader.shared.reader.ReaderReadingMode
import org.dueattendant149.bookreader.shared.reader.ReaderSettings
import org.dueattendant149.bookreader.shared.reader.SharedJvmBookLoadSemanticMode
import org.dueattendant149.bookreader.shared.ui.SharedAppTheme
import org.dueattendant149.bookreader.shared.ui.readerString
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.collectLatest

View file

@ -1,16 +1,16 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.BookShelfRef
import com.aryan.reader.shared.CustomFontItem
import com.aryan.reader.shared.SharedLibraryProjectionInput
import com.aryan.reader.shared.SharedLibrarySnapshot
import com.aryan.reader.shared.SharedLibraryStateProjector
import com.aryan.reader.shared.SharedReaderScreenState
import com.aryan.reader.shared.ShelfRecord
import com.aryan.reader.shared.reader.ReaderSettings
import com.aryan.reader.shared.reader.SharedEpubBook
import com.aryan.reader.shared.reader.SharedEpubChapter
import com.aryan.reader.shared.ui.SharedAppTab
import org.dueattendant149.bookreader.shared.BookShelfRef
import org.dueattendant149.bookreader.shared.CustomFontItem
import org.dueattendant149.bookreader.shared.SharedLibraryProjectionInput
import org.dueattendant149.bookreader.shared.SharedLibrarySnapshot
import org.dueattendant149.bookreader.shared.SharedLibraryStateProjector
import org.dueattendant149.bookreader.shared.SharedReaderScreenState
import org.dueattendant149.bookreader.shared.ShelfRecord
import org.dueattendant149.bookreader.shared.reader.ReaderSettings
import org.dueattendant149.bookreader.shared.reader.SharedEpubBook
import org.dueattendant149.bookreader.shared.reader.SharedEpubChapter
import org.dueattendant149.bookreader.shared.ui.SharedAppTab
internal val DesktopInitialAppTab = SharedAppTab.LIBRARY

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import java.io.File
import java.nio.file.AtomicMoveNotSupportedException

View file

@ -1,8 +1,8 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.ImportedBookFile
import com.aryan.reader.shared.ReaderPlatform
import com.aryan.reader.shared.SharedFileCapabilities
import org.dueattendant149.bookreader.shared.ImportedBookFile
import org.dueattendant149.bookreader.shared.ReaderPlatform
import org.dueattendant149.bookreader.shared.SharedFileCapabilities
import java.io.File
import java.nio.file.Files
import java.nio.file.StandardCopyOption

View file

@ -1,10 +1,10 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.ReaderAiByokSettings
import com.aryan.reader.shared.SharedFeaturePolicy
import com.aryan.reader.shared.SharedLegalLinks
import com.aryan.reader.shared.SharedLegalProfile
import com.aryan.reader.shared.sharedLegalLinksForProfile
import org.dueattendant149.bookreader.shared.ReaderAiByokSettings
import org.dueattendant149.bookreader.shared.SharedFeaturePolicy
import org.dueattendant149.bookreader.shared.SharedLegalLinks
import org.dueattendant149.bookreader.shared.SharedLegalProfile
import org.dueattendant149.bookreader.shared.sharedLegalLinksForProfile
internal const val DesktopFlavorProperty = "episteme.desktop.flavor"
internal const val DesktopVersionProperty = "episteme.desktop.version"

View file

@ -1,14 +1,14 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.AiAdapter
import com.aryan.reader.shared.AiDefinitionResult
import com.aryan.reader.shared.ReaderAiByokSettings
import com.aryan.reader.shared.ReaderAiFeature
import com.aryan.reader.shared.ReaderByokTextRequest
import com.aryan.reader.shared.ReaderByokTextRequestResult
import com.aryan.reader.shared.ReaderByokTextRequests
import com.aryan.reader.shared.RecapResult
import com.aryan.reader.shared.SummarizationResult
import org.dueattendant149.bookreader.shared.AiAdapter
import org.dueattendant149.bookreader.shared.AiDefinitionResult
import org.dueattendant149.bookreader.shared.ReaderAiByokSettings
import org.dueattendant149.bookreader.shared.ReaderAiFeature
import org.dueattendant149.bookreader.shared.ReaderByokTextRequest
import org.dueattendant149.bookreader.shared.ReaderByokTextRequestResult
import org.dueattendant149.bookreader.shared.ReaderByokTextRequests
import org.dueattendant149.bookreader.shared.RecapResult
import org.dueattendant149.bookreader.shared.SummarizationResult
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import kotlinx.serialization.json.Json

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import java.io.File
import java.util.Properties

View file

@ -1,7 +1,7 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.FileType
import com.aryan.reader.shared.SharedFileCapabilities
import org.dueattendant149.bookreader.shared.FileType
import org.dueattendant149.bookreader.shared.SharedFileCapabilities
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import kotlinx.serialization.encodeToString

View file

@ -1,10 +1,10 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.BookItem
import com.aryan.reader.shared.FileType
import com.aryan.reader.shared.pdf.SharedPdfAnnotationSerializer
import com.aryan.reader.shared.pdf.SharedPdfAnnotationSidecarCodec
import com.aryan.reader.shared.pdf.SharedPdfRichTextSerializer
import org.dueattendant149.bookreader.shared.BookItem
import org.dueattendant149.bookreader.shared.FileType
import org.dueattendant149.bookreader.shared.pdf.SharedPdfAnnotationSerializer
import org.dueattendant149.bookreader.shared.pdf.SharedPdfAnnotationSidecarCodec
import org.dueattendant149.bookreader.shared.pdf.SharedPdfRichTextSerializer
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonElement

View file

@ -1,24 +1,24 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.BookItem
import com.aryan.reader.shared.BookShelfRef
import com.aryan.reader.shared.CustomFontItem
import com.aryan.reader.shared.EpubAnnotationSerializer
import com.aryan.reader.shared.EpubBookmark
import com.aryan.reader.shared.FileType
import com.aryan.reader.shared.ReaderLocator
import com.aryan.reader.shared.SharedCloudBookMetadataWinner
import com.aryan.reader.shared.SharedFileCapabilities
import com.aryan.reader.shared.SharedReaderScreenState
import com.aryan.reader.shared.ShelfRecord
import com.aryan.reader.shared.sharedCloudBookMetadataWinner
import com.aryan.reader.shared.shouldDownloadRemoteCloudBookContent
import com.aryan.reader.shared.shouldUploadLocalCloudBookContent
import com.aryan.reader.shared.sharedCloudBookContentFileName
import com.aryan.reader.shared.toStablePositionCfi
import com.aryan.reader.shared.pdf.SharedPdfAnnotationSidecarCodec
import com.aryan.reader.shared.pdf.SharedPdfReaderViewport
import com.aryan.reader.shared.reader.ReaderBookmark
import org.dueattendant149.bookreader.shared.BookItem
import org.dueattendant149.bookreader.shared.BookShelfRef
import org.dueattendant149.bookreader.shared.CustomFontItem
import org.dueattendant149.bookreader.shared.EpubAnnotationSerializer
import org.dueattendant149.bookreader.shared.EpubBookmark
import org.dueattendant149.bookreader.shared.FileType
import org.dueattendant149.bookreader.shared.ReaderLocator
import org.dueattendant149.bookreader.shared.SharedCloudBookMetadataWinner
import org.dueattendant149.bookreader.shared.SharedFileCapabilities
import org.dueattendant149.bookreader.shared.SharedReaderScreenState
import org.dueattendant149.bookreader.shared.ShelfRecord
import org.dueattendant149.bookreader.shared.sharedCloudBookMetadataWinner
import org.dueattendant149.bookreader.shared.shouldDownloadRemoteCloudBookContent
import org.dueattendant149.bookreader.shared.shouldUploadLocalCloudBookContent
import org.dueattendant149.bookreader.shared.sharedCloudBookContentFileName
import org.dueattendant149.bookreader.shared.toStablePositionCfi
import org.dueattendant149.bookreader.shared.pdf.SharedPdfAnnotationSidecarCodec
import org.dueattendant149.bookreader.shared.pdf.SharedPdfReaderViewport
import org.dueattendant149.bookreader.shared.reader.ReaderBookmark
import java.io.File
internal data class DesktopCloudSyncInput(

View file

@ -1,8 +1,8 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.BookItem
import com.aryan.reader.shared.FileType
import com.aryan.reader.shared.SharedFileCapabilities
import org.dueattendant149.bookreader.shared.BookItem
import org.dueattendant149.bookreader.shared.FileType
import org.dueattendant149.bookreader.shared.SharedFileCapabilities
internal const val DesktopCloudSyncLogTag = "EpistemeCloudSync"
internal const val DesktopCloudAnnotationSyncLogTag = "EpistemeCloudAnnotations"
@ -63,7 +63,7 @@ internal fun BookItem.hasSameCloudReaderPosition(other: BookItem): Boolean {
progressMatches
}
private fun com.aryan.reader.shared.FileType.usesCloudLocatorForDiagnostics(): Boolean {
private fun org.dueattendant149.bookreader.shared.FileType.usesCloudLocatorForDiagnostics(): Boolean {
return this != FileType.PDF && this != FileType.PPTX && !SharedFileCapabilities.isComicArchive(this)
}

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import java.io.File
import java.util.Properties

View file

@ -1,9 +1,9 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.FileType
import com.aryan.reader.shared.SharedFileCapabilities
import com.aryan.reader.shared.opds.OpdsCatalog
import com.aryan.reader.shared.opds.OpdsStreamReference
import org.dueattendant149.bookreader.shared.FileType
import org.dueattendant149.bookreader.shared.SharedFileCapabilities
import org.dueattendant149.bookreader.shared.opds.OpdsCatalog
import org.dueattendant149.bookreader.shared.opds.OpdsStreamReference
import com.sun.jna.Library
import com.sun.jna.Native
import com.sun.jna.Pointer

View file

@ -1,6 +1,6 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.CustomFontItem
import org.dueattendant149.bookreader.shared.CustomFontItem
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.jsonArray
import kotlinx.serialization.json.jsonPrimitive

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
internal const val DesktopDiagnosticsProperty = "episteme.desktop.diagnostics"
private const val DesktopDiagnosticsTagsProperty = "episteme.desktop.diagnostics.tags"

View file

@ -1,8 +1,8 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.ReaderLocator
import com.aryan.reader.shared.toStableReaderPositionCfi
import com.aryan.reader.shared.ui.SharedNativeReaderLinkClick
import org.dueattendant149.bookreader.shared.ReaderLocator
import org.dueattendant149.bookreader.shared.toStableReaderPositionCfi
import org.dueattendant149.bookreader.shared.ui.SharedNativeReaderLinkClick
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonNull
import kotlinx.serialization.json.contentOrNull

View file

@ -0,0 +1,12 @@
package org.dueattendant149.bookreader.desktop
import org.dueattendant149.bookreader.shared.FileType
import org.dueattendant149.bookreader.shared.reader.SharedEpubBook
import org.dueattendant149.bookreader.shared.reader.SharedJvmBookLoader
import java.io.File
object DesktopEpubLoader {
fun load(file: File): SharedEpubBook {
return SharedJvmBookLoader.load(file, FileType.EPUB)
}
}

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
@ -10,11 +10,11 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import com.aryan.reader.shared.reader.ReaderLayoutSignature
import com.aryan.reader.shared.reader.ReaderPage
import com.aryan.reader.shared.reader.ReaderReadingMode
import com.aryan.reader.shared.reader.ReaderViewportSpec
import com.aryan.reader.shared.reader.SharedEpubBook
import org.dueattendant149.bookreader.shared.reader.ReaderLayoutSignature
import org.dueattendant149.bookreader.shared.reader.ReaderPage
import org.dueattendant149.bookreader.shared.reader.ReaderReadingMode
import org.dueattendant149.bookreader.shared.reader.ReaderViewportSpec
import org.dueattendant149.bookreader.shared.reader.SharedEpubBook
internal data class DesktopEpubPaginationRequest(
val bookId: String,

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
@ -8,10 +8,10 @@ import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.rememberUpdatedState
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import com.aryan.reader.shared.EpubAnnotationSerializer
import com.aryan.reader.shared.ReaderLocator
import com.aryan.reader.shared.UserHighlight
import com.aryan.reader.shared.ui.ReaderContentNavigationTarget
import org.dueattendant149.bookreader.shared.EpubAnnotationSerializer
import org.dueattendant149.bookreader.shared.ReaderLocator
import org.dueattendant149.bookreader.shared.UserHighlight
import org.dueattendant149.bookreader.shared.ui.ReaderContentNavigationTarget
import kotlinx.coroutines.launch
@Composable

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.layout.Arrangement
@ -17,7 +17,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalClipboardManager
import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.unit.dp
import com.aryan.reader.shared.ui.readerString
import org.dueattendant149.bookreader.shared.ui.readerString
import java.awt.Desktop
import java.net.URI
import java.net.URLEncoder

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
internal data class DesktopFeatureNoticePlacement(
val readerWindowId: String? = null

View file

@ -1,9 +1,9 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.FileType
import com.aryan.reader.shared.ImportedBookFile
import com.aryan.reader.shared.ReaderPlatform
import com.aryan.reader.shared.SharedFileCapabilities
import org.dueattendant149.bookreader.shared.FileType
import org.dueattendant149.bookreader.shared.ImportedBookFile
import org.dueattendant149.bookreader.shared.ReaderPlatform
import org.dueattendant149.bookreader.shared.SharedFileCapabilities
import java.awt.FileDialog
import java.awt.Frame
import java.io.File

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.background
@ -20,11 +20,11 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.compose.ui.zIndex
import com.aryan.reader.shared.ImportedBookFile
import com.aryan.reader.shared.ReaderPlatform
import com.aryan.reader.shared.SharedFileCapabilities
import com.aryan.reader.shared.ui.readerQuantityString
import com.aryan.reader.shared.ui.readerString
import org.dueattendant149.bookreader.shared.ImportedBookFile
import org.dueattendant149.bookreader.shared.ReaderPlatform
import org.dueattendant149.bookreader.shared.SharedFileCapabilities
import org.dueattendant149.bookreader.shared.ui.readerQuantityString
import org.dueattendant149.bookreader.shared.ui.readerString
import java.awt.Component
import java.awt.Container
import java.awt.EventQueue

View file

@ -1,6 +1,6 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.UserData
import org.dueattendant149.bookreader.shared.UserData
import com.sun.net.httpserver.HttpServer
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext

View file

@ -1,10 +1,10 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.BookItem
import com.aryan.reader.shared.FileType
import com.aryan.reader.shared.ReaderPlatform
import com.aryan.reader.shared.SharedFileCapabilities
import com.aryan.reader.shared.reader.SharedJvmBookLoader
import org.dueattendant149.bookreader.shared.BookItem
import org.dueattendant149.bookreader.shared.FileType
import org.dueattendant149.bookreader.shared.ReaderPlatform
import org.dueattendant149.bookreader.shared.SharedFileCapabilities
import org.dueattendant149.bookreader.shared.reader.SharedJvmBookLoader
import java.awt.Color
import java.awt.Font
import java.awt.GradientPaint

View file

@ -1,6 +1,6 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.SharedReaderScreenState
import org.dueattendant149.bookreader.shared.SharedReaderScreenState
internal fun desktopFolderSyncCompletedState(
state: SharedReaderScreenState,

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
private const val DesktopFolderSyncLogTag = "EpistemeFolderSync"

View file

@ -1,15 +1,15 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.GEMINI_CLOUD_TTS_MODEL
import com.aryan.reader.shared.ReaderAiByokSettings
import com.aryan.reader.shared.ReaderTtsCacheSummary
import com.aryan.reader.shared.ReaderTtsChunk
import com.aryan.reader.shared.ReaderTtsFileCacheManager
import com.aryan.reader.shared.ReaderTtsReadScope
import com.aryan.reader.shared.TtsAdapter
import com.aryan.reader.shared.createReaderTtsWavHeaderUnknownLength
import com.aryan.reader.shared.patchReaderTtsWavHeader
import com.aryan.reader.shared.splitReaderTextIntoTtsChunks
import org.dueattendant149.bookreader.shared.GEMINI_CLOUD_TTS_MODEL
import org.dueattendant149.bookreader.shared.ReaderAiByokSettings
import org.dueattendant149.bookreader.shared.ReaderTtsCacheSummary
import org.dueattendant149.bookreader.shared.ReaderTtsChunk
import org.dueattendant149.bookreader.shared.ReaderTtsFileCacheManager
import org.dueattendant149.bookreader.shared.ReaderTtsReadScope
import org.dueattendant149.bookreader.shared.TtsAdapter
import org.dueattendant149.bookreader.shared.createReaderTtsWavHeaderUnknownLength
import org.dueattendant149.bookreader.shared.patchReaderTtsWavHeader
import org.dueattendant149.bookreader.shared.splitReaderTextIntoTtsChunks
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.ensureActive

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.layout.Arrangement
@ -22,7 +22,7 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import com.aryan.reader.shared.ui.readerString
import org.dueattendant149.bookreader.shared.ui.readerString
import java.io.File
import java.util.Properties

View file

@ -1,7 +1,7 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.SharedLibrarySnapshot
import com.aryan.reader.shared.SharedLibrarySnapshotJson
import org.dueattendant149.bookreader.shared.SharedLibrarySnapshot
import org.dueattendant149.bookreader.shared.SharedLibrarySnapshotJson
import java.io.File
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.jsonObject

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement
@ -31,25 +31,25 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import com.aryan.reader.shared.AppAction
import com.aryan.reader.shared.BannerMessage
import com.aryan.reader.shared.BookItem
import com.aryan.reader.shared.ReaderPlatform
import com.aryan.reader.shared.SharedFileCapabilities
import com.aryan.reader.shared.SharedFolderPathResolver
import com.aryan.reader.shared.SharedReaderScreenState
import com.aryan.reader.shared.Shelf
import com.aryan.reader.shared.SmartCollectionDefinition
import com.aryan.reader.shared.SmartField
import com.aryan.reader.shared.SmartOperator
import com.aryan.reader.shared.SmartRule
import com.aryan.reader.shared.Tag
import com.aryan.reader.shared.reader.ReaderSettings
import com.aryan.reader.shared.reduce
import com.aryan.reader.shared.ui.NonReaderLibraryTab
import com.aryan.reader.shared.ui.SharedLibraryScreen
import com.aryan.reader.shared.ui.SharedStableOutlinedTextField
import com.aryan.reader.shared.ui.readerString
import org.dueattendant149.bookreader.shared.AppAction
import org.dueattendant149.bookreader.shared.BannerMessage
import org.dueattendant149.bookreader.shared.BookItem
import org.dueattendant149.bookreader.shared.ReaderPlatform
import org.dueattendant149.bookreader.shared.SharedFileCapabilities
import org.dueattendant149.bookreader.shared.SharedFolderPathResolver
import org.dueattendant149.bookreader.shared.SharedReaderScreenState
import org.dueattendant149.bookreader.shared.Shelf
import org.dueattendant149.bookreader.shared.SmartCollectionDefinition
import org.dueattendant149.bookreader.shared.SmartField
import org.dueattendant149.bookreader.shared.SmartOperator
import org.dueattendant149.bookreader.shared.SmartRule
import org.dueattendant149.bookreader.shared.Tag
import org.dueattendant149.bookreader.shared.reader.ReaderSettings
import org.dueattendant149.bookreader.shared.reduce
import org.dueattendant149.bookreader.shared.ui.NonReaderLibraryTab
import org.dueattendant149.bookreader.shared.ui.SharedLibraryScreen
import org.dueattendant149.bookreader.shared.ui.SharedStableOutlinedTextField
import org.dueattendant149.bookreader.shared.ui.readerString
import java.io.File
internal fun BookItem.hasEmbeddedMetadataChange(updated: BookItem): Boolean {

View file

@ -1,30 +1,30 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.BookItem
import com.aryan.reader.shared.BookShelfRef
import com.aryan.reader.shared.FileType
import com.aryan.reader.shared.LOCAL_FOLDER_ANNOTATION_SUFFIX
import com.aryan.reader.shared.LOCAL_FOLDER_SIDECAR_HASH_PREFIX
import com.aryan.reader.shared.LOCAL_FOLDER_SYNC_DATA_DIR
import com.aryan.reader.shared.LocalFolderSyncEngine
import com.aryan.reader.shared.LocalFolderSyncStats
import com.aryan.reader.shared.ReaderPlatform
import com.aryan.reader.shared.SharedFileCapabilities
import com.aryan.reader.shared.SharedFolderBookMetadata
import com.aryan.reader.shared.SharedFolderScannedFile
import com.aryan.reader.shared.SharedReaderScreenState
import com.aryan.reader.shared.SyncedFolder
import com.aryan.reader.shared.localFolderSyncAnnotationFileName
import com.aryan.reader.shared.localFolderSyncAnnotationTempFileName
import com.aryan.reader.shared.localFolderSyncMetadataFileName
import com.aryan.reader.shared.localFolderSyncMetadataTempFileName
import com.aryan.reader.shared.localFolderSyncSidecarStem
import com.aryan.reader.shared.pdf.SharedPdfAnnotationSerializer
import com.aryan.reader.shared.pdf.SharedPdfAnnotationSidecarCodec
import com.aryan.reader.shared.pdf.SharedPdfRichTextLog
import com.aryan.reader.shared.pdf.SharedPdfRichTextSerializer
import com.aryan.reader.shared.toSharedFolderBookMetadata
import com.aryan.reader.shared.toStablePositionCfi
import org.dueattendant149.bookreader.shared.BookItem
import org.dueattendant149.bookreader.shared.BookShelfRef
import org.dueattendant149.bookreader.shared.FileType
import org.dueattendant149.bookreader.shared.LOCAL_FOLDER_ANNOTATION_SUFFIX
import org.dueattendant149.bookreader.shared.LOCAL_FOLDER_SIDECAR_HASH_PREFIX
import org.dueattendant149.bookreader.shared.LOCAL_FOLDER_SYNC_DATA_DIR
import org.dueattendant149.bookreader.shared.LocalFolderSyncEngine
import org.dueattendant149.bookreader.shared.LocalFolderSyncStats
import org.dueattendant149.bookreader.shared.ReaderPlatform
import org.dueattendant149.bookreader.shared.SharedFileCapabilities
import org.dueattendant149.bookreader.shared.SharedFolderBookMetadata
import org.dueattendant149.bookreader.shared.SharedFolderScannedFile
import org.dueattendant149.bookreader.shared.SharedReaderScreenState
import org.dueattendant149.bookreader.shared.SyncedFolder
import org.dueattendant149.bookreader.shared.localFolderSyncAnnotationFileName
import org.dueattendant149.bookreader.shared.localFolderSyncAnnotationTempFileName
import org.dueattendant149.bookreader.shared.localFolderSyncMetadataFileName
import org.dueattendant149.bookreader.shared.localFolderSyncMetadataTempFileName
import org.dueattendant149.bookreader.shared.localFolderSyncSidecarStem
import org.dueattendant149.bookreader.shared.pdf.SharedPdfAnnotationSerializer
import org.dueattendant149.bookreader.shared.pdf.SharedPdfAnnotationSidecarCodec
import org.dueattendant149.bookreader.shared.pdf.SharedPdfRichTextLog
import org.dueattendant149.bookreader.shared.pdf.SharedPdfRichTextSerializer
import org.dueattendant149.bookreader.shared.toSharedFolderBookMetadata
import org.dueattendant149.bookreader.shared.toStablePositionCfi
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonElement

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
internal fun String.logPreview(maxLength: Int = 96): String {
return replace(Regex("\\s+"), " ")

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
@ -18,8 +18,8 @@ import androidx.compose.ui.graphics.ImageBitmap
import androidx.compose.ui.graphics.toComposeImageBitmap
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.text.font.FontWeight
import com.aryan.reader.shared.opds.OpdsCatalog
import com.aryan.reader.shared.opds.OpdsEntry
import org.dueattendant149.bookreader.shared.opds.OpdsCatalog
import org.dueattendant149.bookreader.shared.opds.OpdsEntry
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import org.jetbrains.skia.Image as SkiaImage

View file

@ -1,13 +1,13 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.opds.OpdsAcquisition
import com.aryan.reader.shared.opds.OpdsCatalog
import com.aryan.reader.shared.opds.OpdsEntry
import com.aryan.reader.shared.opds.OpdsFeed
import com.aryan.reader.shared.opds.SharedOpdsCatalogs
import com.aryan.reader.shared.opds.SharedOpdsDownloadNamer
import com.aryan.reader.shared.opds.SharedOpdsParser
import com.aryan.reader.shared.opds.SharedOpdsRepository
import org.dueattendant149.bookreader.shared.opds.OpdsAcquisition
import org.dueattendant149.bookreader.shared.opds.OpdsCatalog
import org.dueattendant149.bookreader.shared.opds.OpdsEntry
import org.dueattendant149.bookreader.shared.opds.OpdsFeed
import org.dueattendant149.bookreader.shared.opds.SharedOpdsCatalogs
import org.dueattendant149.bookreader.shared.opds.SharedOpdsDownloadNamer
import org.dueattendant149.bookreader.shared.opds.SharedOpdsParser
import org.dueattendant149.bookreader.shared.opds.SharedOpdsRepository
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import java.io.Closeable

View file

@ -1,9 +1,9 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.AiAdapter
import com.aryan.reader.shared.AiDefinitionResult
import com.aryan.reader.shared.RecapResult
import com.aryan.reader.shared.SummarizationResult
import org.dueattendant149.bookreader.shared.AiAdapter
import org.dueattendant149.bookreader.shared.AiDefinitionResult
import org.dueattendant149.bookreader.shared.RecapResult
import org.dueattendant149.bookreader.shared.SummarizationResult
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import kotlinx.serialization.json.Json

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.background
@ -47,25 +47,25 @@ import androidx.compose.ui.text.font.FontStyle
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import com.aryan.reader.shared.pdf.DEFAULT_SHARED_PDF_COMMENT_AUTHOR
import com.aryan.reader.shared.pdf.PdfAnnotationKind
import com.aryan.reader.shared.pdf.PdfInkTool
import com.aryan.reader.shared.pdf.SharedPdfAnnotation
import com.aryan.reader.shared.pdf.SharedPdfAnnotationComment
import com.aryan.reader.shared.pdf.SharedPdfAnnotationDefaults
import com.aryan.reader.shared.pdf.SharedPdfEmbeddedAnnotation
import com.aryan.reader.shared.pdf.SharedPdfHighlighterPalette
import com.aryan.reader.shared.pdf.pdfCommentChildren
import com.aryan.reader.shared.pdf.sharedPdfStrokePercent
import com.aryan.reader.shared.pdf.sharedPdfStrokeWidthRange
import com.aryan.reader.shared.pdf.sharedPdfTextStyle
import com.aryan.reader.shared.pdf.visiblePdfAnnotationComments
import com.aryan.reader.shared.pdf.withoutPdfCommentThread
import com.aryan.reader.shared.pdf.withSharedPdfTextStyle
import com.aryan.reader.shared.ui.SharedHsvColorPickerDialog
import com.aryan.reader.shared.ui.SharedPdfTextStyleControls
import com.aryan.reader.shared.ui.SharedStableOutlinedTextField
import com.aryan.reader.shared.ui.readerString
import org.dueattendant149.bookreader.shared.pdf.DEFAULT_SHARED_PDF_COMMENT_AUTHOR
import org.dueattendant149.bookreader.shared.pdf.PdfAnnotationKind
import org.dueattendant149.bookreader.shared.pdf.PdfInkTool
import org.dueattendant149.bookreader.shared.pdf.SharedPdfAnnotation
import org.dueattendant149.bookreader.shared.pdf.SharedPdfAnnotationComment
import org.dueattendant149.bookreader.shared.pdf.SharedPdfAnnotationDefaults
import org.dueattendant149.bookreader.shared.pdf.SharedPdfEmbeddedAnnotation
import org.dueattendant149.bookreader.shared.pdf.SharedPdfHighlighterPalette
import org.dueattendant149.bookreader.shared.pdf.pdfCommentChildren
import org.dueattendant149.bookreader.shared.pdf.sharedPdfStrokePercent
import org.dueattendant149.bookreader.shared.pdf.sharedPdfStrokeWidthRange
import org.dueattendant149.bookreader.shared.pdf.sharedPdfTextStyle
import org.dueattendant149.bookreader.shared.pdf.visiblePdfAnnotationComments
import org.dueattendant149.bookreader.shared.pdf.withoutPdfCommentThread
import org.dueattendant149.bookreader.shared.pdf.withSharedPdfTextStyle
import org.dueattendant149.bookreader.shared.ui.SharedHsvColorPickerDialog
import org.dueattendant149.bookreader.shared.ui.SharedPdfTextStyleControls
import org.dueattendant149.bookreader.shared.ui.SharedStableOutlinedTextField
import org.dueattendant149.bookreader.shared.ui.readerString
import java.text.DateFormat
import java.util.Date
import java.util.UUID

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.foundation.Canvas
import androidx.compose.foundation.background
@ -31,10 +31,10 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.dp
import com.aryan.reader.shared.BuiltInPdfReaderThemes
import com.aryan.reader.shared.PdfDisplayMode
import com.aryan.reader.shared.ReaderTheme
import com.aryan.reader.shared.reader.ReaderSettings
import org.dueattendant149.bookreader.shared.BuiltInPdfReaderThemes
import org.dueattendant149.bookreader.shared.PdfDisplayMode
import org.dueattendant149.bookreader.shared.ReaderTheme
import org.dueattendant149.bookreader.shared.reader.ReaderSettings
internal enum class DesktopPdfInspectorTab(val title: String) {
APPEARANCE("Appearance"),

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.animation.AnimatedVisibility
import androidx.compose.animation.fadeIn
@ -53,12 +53,12 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.compose.ui.zIndex
import com.aryan.reader.shared.SearchHighlightMode
import com.aryan.reader.shared.pdf.SharedPdfSearchResult
import com.aryan.reader.shared.ui.ReaderMinimalSlider
import com.aryan.reader.shared.ui.ReaderTooltipIconButton
import com.aryan.reader.shared.ui.SharedStableOutlinedTextField
import com.aryan.reader.shared.ui.readerString
import org.dueattendant149.bookreader.shared.SearchHighlightMode
import org.dueattendant149.bookreader.shared.pdf.SharedPdfSearchResult
import org.dueattendant149.bookreader.shared.ui.ReaderMinimalSlider
import org.dueattendant149.bookreader.shared.ui.ReaderTooltipIconButton
import org.dueattendant149.bookreader.shared.ui.SharedStableOutlinedTextField
import org.dueattendant149.bookreader.shared.ui.readerString
import kotlinx.coroutines.delay
@Composable

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.toArgb
@ -7,13 +7,13 @@ import androidx.compose.ui.text.SpanStyle
import androidx.compose.ui.text.font.FontStyle
import androidx.compose.ui.text.style.TextDecoration
import androidx.compose.ui.unit.isSpecified
import com.aryan.reader.shared.SaveMode
import com.aryan.reader.shared.pdf.PdfAnnotationKind
import com.aryan.reader.shared.pdf.SHARED_PDF_PAGE_BREAK_CHAR
import com.aryan.reader.shared.pdf.SharedPdfAnnotation
import com.aryan.reader.shared.pdf.SharedPdfAnnotationExportMapper
import com.aryan.reader.shared.pdf.SharedPdfRichPageLayout
import com.aryan.reader.shared.pdf.sharedPdfTextPageRelativeFontSize
import org.dueattendant149.bookreader.shared.SaveMode
import org.dueattendant149.bookreader.shared.pdf.PdfAnnotationKind
import org.dueattendant149.bookreader.shared.pdf.SHARED_PDF_PAGE_BREAK_CHAR
import org.dueattendant149.bookreader.shared.pdf.SharedPdfAnnotation
import org.dueattendant149.bookreader.shared.pdf.SharedPdfAnnotationExportMapper
import org.dueattendant149.bookreader.shared.pdf.SharedPdfRichPageLayout
import org.dueattendant149.bookreader.shared.pdf.sharedPdfTextPageRelativeFontSize
import java.awt.FileDialog
import java.awt.Font
import java.awt.Frame

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
@ -38,26 +38,26 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import com.aryan.reader.shared.BuiltInPdfReaderThemes
import com.aryan.reader.shared.PdfDisplayMode
import com.aryan.reader.shared.ReaderAiByokSettings
import com.aryan.reader.shared.ReaderExtrasState
import com.aryan.reader.shared.ReaderTheme
import com.aryan.reader.shared.ReaderTtsReplacementPreferences
import com.aryan.reader.shared.pdf.PdfInkTool
import com.aryan.reader.shared.pdf.SharedPdfHighlighterPalette
import com.aryan.reader.shared.pdf.SharedPdfRichTextController
import com.aryan.reader.shared.pdf.SharedPdfTextStyleConfig
import com.aryan.reader.shared.pdf.currentSharedPdfTextStyleConfig
import com.aryan.reader.shared.pdf.updateCurrentSharedPdfTextStyle
import com.aryan.reader.shared.reader.ReaderPageSpreadMode
import com.aryan.reader.shared.reader.ReaderSettings
import com.aryan.reader.shared.ui.SharedPdfHighlighterPaletteEditor
import com.aryan.reader.shared.ui.SharedPdfTextAnnotationDock
import com.aryan.reader.shared.ui.SharedReaderThemeControls
import com.aryan.reader.shared.ui.SharedReaderVerticalScrollbar
import com.aryan.reader.shared.ui.readerString
import com.aryan.reader.shared.ui.sharedAcceleratedLazyWheelScroll
import org.dueattendant149.bookreader.shared.BuiltInPdfReaderThemes
import org.dueattendant149.bookreader.shared.PdfDisplayMode
import org.dueattendant149.bookreader.shared.ReaderAiByokSettings
import org.dueattendant149.bookreader.shared.ReaderExtrasState
import org.dueattendant149.bookreader.shared.ReaderTheme
import org.dueattendant149.bookreader.shared.ReaderTtsReplacementPreferences
import org.dueattendant149.bookreader.shared.pdf.PdfInkTool
import org.dueattendant149.bookreader.shared.pdf.SharedPdfHighlighterPalette
import org.dueattendant149.bookreader.shared.pdf.SharedPdfRichTextController
import org.dueattendant149.bookreader.shared.pdf.SharedPdfTextStyleConfig
import org.dueattendant149.bookreader.shared.pdf.currentSharedPdfTextStyleConfig
import org.dueattendant149.bookreader.shared.pdf.updateCurrentSharedPdfTextStyle
import org.dueattendant149.bookreader.shared.reader.ReaderPageSpreadMode
import org.dueattendant149.bookreader.shared.reader.ReaderSettings
import org.dueattendant149.bookreader.shared.ui.SharedPdfHighlighterPaletteEditor
import org.dueattendant149.bookreader.shared.ui.SharedPdfTextAnnotationDock
import org.dueattendant149.bookreader.shared.ui.SharedReaderThemeControls
import org.dueattendant149.bookreader.shared.ui.SharedReaderVerticalScrollbar
import org.dueattendant149.bookreader.shared.ui.readerString
import org.dueattendant149.bookreader.shared.ui.sharedAcceleratedLazyWheelScroll
@Composable
internal fun DesktopPdfInspectorPanel(

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.ui.input.key.Key
import androidx.compose.ui.input.key.KeyEvent

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.animation.AnimatedVisibility
import androidx.compose.animation.fadeIn
@ -66,13 +66,13 @@ import androidx.compose.ui.text.font.FontStyle
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import com.aryan.reader.shared.PdfTocEntry
import com.aryan.reader.shared.pdf.PdfAnnotationKind
import com.aryan.reader.shared.pdf.SharedPdfAnnotation
import com.aryan.reader.shared.pdf.SharedPdfBookmark
import com.aryan.reader.shared.ui.SharedReaderVerticalScrollbar
import com.aryan.reader.shared.ui.readerString
import com.aryan.reader.shared.ui.sharedAcceleratedLazyWheelScroll
import org.dueattendant149.bookreader.shared.PdfTocEntry
import org.dueattendant149.bookreader.shared.pdf.PdfAnnotationKind
import org.dueattendant149.bookreader.shared.pdf.SharedPdfAnnotation
import org.dueattendant149.bookreader.shared.pdf.SharedPdfBookmark
import org.dueattendant149.bookreader.shared.ui.SharedReaderVerticalScrollbar
import org.dueattendant149.bookreader.shared.ui.readerString
import org.dueattendant149.bookreader.shared.ui.sharedAcceleratedLazyWheelScroll
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.animation.Crossfade
import androidx.compose.animation.core.tween
@ -40,31 +40,31 @@ import androidx.compose.ui.layout.positionInRoot
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.dp
import com.aryan.reader.shared.ReaderTtsChunk
import com.aryan.reader.shared.SearchHighlightMode
import com.aryan.reader.shared.pdf.PdfAnnotationKind
import com.aryan.reader.shared.pdf.PdfInkTool
import com.aryan.reader.shared.pdf.PdfPageBounds
import com.aryan.reader.shared.pdf.PdfPagePoint
import com.aryan.reader.shared.pdf.PdfZoomSpec
import com.aryan.reader.shared.pdf.SharedPdfAnnotation
import com.aryan.reader.shared.pdf.SharedPdfEmbeddedAnnotation
import com.aryan.reader.shared.pdf.SharedPdfHighlighterPalette
import com.aryan.reader.shared.pdf.SharedPdfRichTextController
import com.aryan.reader.shared.pdf.SharedPdfSearchEngine
import com.aryan.reader.shared.pdf.SharedPdfSearchResult
import com.aryan.reader.shared.pdf.SharedPdfTextDraft
import com.aryan.reader.shared.pdf.sharedPdfTextStyle
import com.aryan.reader.shared.ui.SharedPdfAnnotationOverlay
import com.aryan.reader.shared.ui.SharedPdfEmbeddedAnnotationOverlay
import com.aryan.reader.shared.ui.SharedPdfInlineTextEditorOverlay
import com.aryan.reader.shared.ui.SharedPdfPageNumberOverlay
import com.aryan.reader.shared.ui.SharedPdfRichTextLayer
import com.aryan.reader.shared.ui.SharedPdfTextBoxEditorOverlay
import com.aryan.reader.shared.ui.readerString
import com.aryan.reader.shared.ui.sharedPdfEmbeddedHitTest
import com.aryan.reader.shared.ui.sharedPdfHitTest
import com.aryan.reader.shared.ui.toSharedPdfPoint
import org.dueattendant149.bookreader.shared.ReaderTtsChunk
import org.dueattendant149.bookreader.shared.SearchHighlightMode
import org.dueattendant149.bookreader.shared.pdf.PdfAnnotationKind
import org.dueattendant149.bookreader.shared.pdf.PdfInkTool
import org.dueattendant149.bookreader.shared.pdf.PdfPageBounds
import org.dueattendant149.bookreader.shared.pdf.PdfPagePoint
import org.dueattendant149.bookreader.shared.pdf.PdfZoomSpec
import org.dueattendant149.bookreader.shared.pdf.SharedPdfAnnotation
import org.dueattendant149.bookreader.shared.pdf.SharedPdfEmbeddedAnnotation
import org.dueattendant149.bookreader.shared.pdf.SharedPdfHighlighterPalette
import org.dueattendant149.bookreader.shared.pdf.SharedPdfRichTextController
import org.dueattendant149.bookreader.shared.pdf.SharedPdfSearchEngine
import org.dueattendant149.bookreader.shared.pdf.SharedPdfSearchResult
import org.dueattendant149.bookreader.shared.pdf.SharedPdfTextDraft
import org.dueattendant149.bookreader.shared.pdf.sharedPdfTextStyle
import org.dueattendant149.bookreader.shared.ui.SharedPdfAnnotationOverlay
import org.dueattendant149.bookreader.shared.ui.SharedPdfEmbeddedAnnotationOverlay
import org.dueattendant149.bookreader.shared.ui.SharedPdfInlineTextEditorOverlay
import org.dueattendant149.bookreader.shared.ui.SharedPdfPageNumberOverlay
import org.dueattendant149.bookreader.shared.ui.SharedPdfRichTextLayer
import org.dueattendant149.bookreader.shared.ui.SharedPdfTextBoxEditorOverlay
import org.dueattendant149.bookreader.shared.ui.readerString
import org.dueattendant149.bookreader.shared.ui.sharedPdfEmbeddedHitTest
import org.dueattendant149.bookreader.shared.ui.sharedPdfHitTest
import org.dueattendant149.bookreader.shared.ui.toSharedPdfPoint
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.delay
import kotlinx.coroutines.withContext

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.foundation.gestures.awaitEachGesture
import androidx.compose.foundation.gestures.awaitFirstDown
@ -7,22 +7,22 @@ import androidx.compose.ui.input.pointer.PointerInputScope
import androidx.compose.ui.input.pointer.changedToUp
import androidx.compose.ui.input.pointer.isSecondaryPressed
import androidx.compose.ui.unit.IntSize
import com.aryan.reader.shared.pdf.PdfAnnotationKind
import com.aryan.reader.shared.pdf.PdfInkTool
import com.aryan.reader.shared.pdf.PdfNormalizedPoint
import com.aryan.reader.shared.pdf.PdfPageBounds
import com.aryan.reader.shared.pdf.PdfPagePoint
import com.aryan.reader.shared.pdf.PdfSelectionGeometry
import com.aryan.reader.shared.pdf.PdfTextCharBounds
import com.aryan.reader.shared.pdf.PdfZoomSpec
import com.aryan.reader.shared.pdf.SharedPdfAnnotation
import com.aryan.reader.shared.pdf.SharedPdfInkRenderer
import com.aryan.reader.shared.pdf.SharedPdfReaderAction
import com.aryan.reader.shared.pdf.SharedPdfReaderState
import com.aryan.reader.shared.pdf.SharedPdfTextDraft
import com.aryan.reader.shared.pdf.reduce
import com.aryan.reader.shared.ui.sharedPdfHitTest
import com.aryan.reader.shared.ui.toSharedPdfPoint
import org.dueattendant149.bookreader.shared.pdf.PdfAnnotationKind
import org.dueattendant149.bookreader.shared.pdf.PdfInkTool
import org.dueattendant149.bookreader.shared.pdf.PdfNormalizedPoint
import org.dueattendant149.bookreader.shared.pdf.PdfPageBounds
import org.dueattendant149.bookreader.shared.pdf.PdfPagePoint
import org.dueattendant149.bookreader.shared.pdf.PdfSelectionGeometry
import org.dueattendant149.bookreader.shared.pdf.PdfTextCharBounds
import org.dueattendant149.bookreader.shared.pdf.PdfZoomSpec
import org.dueattendant149.bookreader.shared.pdf.SharedPdfAnnotation
import org.dueattendant149.bookreader.shared.pdf.SharedPdfInkRenderer
import org.dueattendant149.bookreader.shared.pdf.SharedPdfReaderAction
import org.dueattendant149.bookreader.shared.pdf.SharedPdfReaderState
import org.dueattendant149.bookreader.shared.pdf.SharedPdfTextDraft
import org.dueattendant149.bookreader.shared.pdf.reduce
import org.dueattendant149.bookreader.shared.ui.sharedPdfHitTest
import org.dueattendant149.bookreader.shared.ui.toSharedPdfPoint
import kotlinx.coroutines.TimeoutCancellationException
import kotlinx.coroutines.withTimeout

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Arrangement
@ -16,8 +16,8 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.input.PasswordVisualTransformation
import androidx.compose.ui.unit.dp
import com.aryan.reader.shared.ui.SharedStableOutlinedTextField
import com.aryan.reader.shared.ui.readerString
import org.dueattendant149.bookreader.shared.ui.SharedStableOutlinedTextField
import org.dueattendant149.bookreader.shared.ui.readerString
@Composable
internal fun DesktopPdfPasswordDialog(

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.animation.AnimatedVisibility
import androidx.compose.animation.Crossfade
@ -72,78 +72,78 @@ import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.dp
import androidx.compose.ui.zIndex
import com.aryan.reader.shared.AiAdapter
import com.aryan.reader.shared.PdfDisplayMode
import com.aryan.reader.shared.ReaderAiByokSettings
import com.aryan.reader.shared.ReaderAiFeature
import com.aryan.reader.shared.ReaderAiResultState
import com.aryan.reader.shared.ReaderCloudTtsState
import com.aryan.reader.shared.ReaderExtrasState
import com.aryan.reader.shared.ReaderExternalLookupAction
import com.aryan.reader.shared.ReaderTtsChunk
import com.aryan.reader.shared.ReaderTtsPlanner
import com.aryan.reader.shared.ReaderTtsProgress
import com.aryan.reader.shared.ReaderTtsReadScope
import com.aryan.reader.shared.ReaderTtsReplacementPreferences
import com.aryan.reader.shared.ReaderTheme
import com.aryan.reader.shared.SaveMode
import com.aryan.reader.shared.SearchHighlightMode
import com.aryan.reader.shared.SharedFeaturePolicy
import com.aryan.reader.shared.SummarizationResult
import com.aryan.reader.shared.externalLookupUrl
import com.aryan.reader.shared.withTtsReplacements
import com.aryan.reader.shared.pdf.PdfAnnotationKind
import com.aryan.reader.shared.pdf.PdfInkTool
import com.aryan.reader.shared.pdf.PdfPageBounds
import com.aryan.reader.shared.pdf.PdfPagePoint
import com.aryan.reader.shared.pdf.PdfSpreadLayout
import com.aryan.reader.shared.pdf.PdfVisiblePageLayout
import com.aryan.reader.shared.pdf.SharedPdfAnnotation
import com.aryan.reader.shared.pdf.SharedPdfAnnotationDefaults
import com.aryan.reader.shared.pdf.SharedPdfEmbeddedAnnotation
import com.aryan.reader.shared.pdf.SharedPdfHighlighterPalette
import com.aryan.reader.shared.pdf.SharedPdfJumpHistory
import com.aryan.reader.shared.pdf.SharedPdfReaderAction
import com.aryan.reader.shared.pdf.SharedPdfReaderState
import com.aryan.reader.shared.pdf.SharedPdfReaderViewport
import com.aryan.reader.shared.pdf.SharedPdfRichTextController
import com.aryan.reader.shared.pdf.SharedPdfRichTextLog
import com.aryan.reader.shared.pdf.SharedPdfRichTextSerializer
import com.aryan.reader.shared.pdf.SharedPdfSearchEngine
import com.aryan.reader.shared.pdf.SharedPdfSearchResult
import com.aryan.reader.shared.pdf.SharedPdfTextAnnotationDefaults
import com.aryan.reader.shared.pdf.SharedPdfTextDraft
import com.aryan.reader.shared.pdf.SharedPdfTextStyleConfig
import com.aryan.reader.shared.pdf.mostVisiblePdfPageIndex
import com.aryan.reader.shared.pdf.pdfVerticalPageGapDp
import com.aryan.reader.shared.pdf.reduce
import com.aryan.reader.shared.pdf.sharedPdfTextStyle
import com.aryan.reader.shared.pdf.toAnnotation
import com.aryan.reader.shared.pdf.withBounds
import com.aryan.reader.shared.pdf.withSharedPdfTextStyle
import com.aryan.reader.shared.pdf.withStyle
import com.aryan.reader.shared.pdf.withText
import com.aryan.reader.shared.reader.ReaderSettings
import com.aryan.reader.shared.readerCloudTtsControlsModel
import com.aryan.reader.shared.reduce
import com.aryan.reader.shared.ui.ReaderWorkspaceFileActionState
import com.aryan.reader.shared.ui.ReaderWorkspaceShell
import com.aryan.reader.shared.ui.LocalSharedStringResolver
import com.aryan.reader.shared.ui.SharedPdfAnnotationOverlay
import com.aryan.reader.shared.ui.SharedPdfEmbeddedAnnotationOverlay
import com.aryan.reader.shared.ui.SharedPdfInlineTextEditorOverlay
import com.aryan.reader.shared.ui.SharedPdfInteractionDock
import com.aryan.reader.shared.ui.SharedPdfPageNumberOverlay
import com.aryan.reader.shared.ui.SharedPdfRichTextHiddenInput
import com.aryan.reader.shared.ui.SharedPdfRichTextLayer
import com.aryan.reader.shared.ui.SharedPdfTextBoxEditorOverlay
import com.aryan.reader.shared.ui.SharedPdfVerticalScrollbar
import com.aryan.reader.shared.ui.SharedReaderTtsOverlayControls
import com.aryan.reader.shared.ui.pdfReaderWorkspaceModel
import com.aryan.reader.shared.ui.readerString
import com.aryan.reader.shared.ui.sharedPdfEmbeddedHitTest
import com.aryan.reader.shared.ui.sharedPdfHitTest
import com.aryan.reader.shared.ui.toSharedPdfPoint
import org.dueattendant149.bookreader.shared.AiAdapter
import org.dueattendant149.bookreader.shared.PdfDisplayMode
import org.dueattendant149.bookreader.shared.ReaderAiByokSettings
import org.dueattendant149.bookreader.shared.ReaderAiFeature
import org.dueattendant149.bookreader.shared.ReaderAiResultState
import org.dueattendant149.bookreader.shared.ReaderCloudTtsState
import org.dueattendant149.bookreader.shared.ReaderExtrasState
import org.dueattendant149.bookreader.shared.ReaderExternalLookupAction
import org.dueattendant149.bookreader.shared.ReaderTtsChunk
import org.dueattendant149.bookreader.shared.ReaderTtsPlanner
import org.dueattendant149.bookreader.shared.ReaderTtsProgress
import org.dueattendant149.bookreader.shared.ReaderTtsReadScope
import org.dueattendant149.bookreader.shared.ReaderTtsReplacementPreferences
import org.dueattendant149.bookreader.shared.ReaderTheme
import org.dueattendant149.bookreader.shared.SaveMode
import org.dueattendant149.bookreader.shared.SearchHighlightMode
import org.dueattendant149.bookreader.shared.SharedFeaturePolicy
import org.dueattendant149.bookreader.shared.SummarizationResult
import org.dueattendant149.bookreader.shared.externalLookupUrl
import org.dueattendant149.bookreader.shared.withTtsReplacements
import org.dueattendant149.bookreader.shared.pdf.PdfAnnotationKind
import org.dueattendant149.bookreader.shared.pdf.PdfInkTool
import org.dueattendant149.bookreader.shared.pdf.PdfPageBounds
import org.dueattendant149.bookreader.shared.pdf.PdfPagePoint
import org.dueattendant149.bookreader.shared.pdf.PdfSpreadLayout
import org.dueattendant149.bookreader.shared.pdf.PdfVisiblePageLayout
import org.dueattendant149.bookreader.shared.pdf.SharedPdfAnnotation
import org.dueattendant149.bookreader.shared.pdf.SharedPdfAnnotationDefaults
import org.dueattendant149.bookreader.shared.pdf.SharedPdfEmbeddedAnnotation
import org.dueattendant149.bookreader.shared.pdf.SharedPdfHighlighterPalette
import org.dueattendant149.bookreader.shared.pdf.SharedPdfJumpHistory
import org.dueattendant149.bookreader.shared.pdf.SharedPdfReaderAction
import org.dueattendant149.bookreader.shared.pdf.SharedPdfReaderState
import org.dueattendant149.bookreader.shared.pdf.SharedPdfReaderViewport
import org.dueattendant149.bookreader.shared.pdf.SharedPdfRichTextController
import org.dueattendant149.bookreader.shared.pdf.SharedPdfRichTextLog
import org.dueattendant149.bookreader.shared.pdf.SharedPdfRichTextSerializer
import org.dueattendant149.bookreader.shared.pdf.SharedPdfSearchEngine
import org.dueattendant149.bookreader.shared.pdf.SharedPdfSearchResult
import org.dueattendant149.bookreader.shared.pdf.SharedPdfTextAnnotationDefaults
import org.dueattendant149.bookreader.shared.pdf.SharedPdfTextDraft
import org.dueattendant149.bookreader.shared.pdf.SharedPdfTextStyleConfig
import org.dueattendant149.bookreader.shared.pdf.mostVisiblePdfPageIndex
import org.dueattendant149.bookreader.shared.pdf.pdfVerticalPageGapDp
import org.dueattendant149.bookreader.shared.pdf.reduce
import org.dueattendant149.bookreader.shared.pdf.sharedPdfTextStyle
import org.dueattendant149.bookreader.shared.pdf.toAnnotation
import org.dueattendant149.bookreader.shared.pdf.withBounds
import org.dueattendant149.bookreader.shared.pdf.withSharedPdfTextStyle
import org.dueattendant149.bookreader.shared.pdf.withStyle
import org.dueattendant149.bookreader.shared.pdf.withText
import org.dueattendant149.bookreader.shared.reader.ReaderSettings
import org.dueattendant149.bookreader.shared.readerCloudTtsControlsModel
import org.dueattendant149.bookreader.shared.reduce
import org.dueattendant149.bookreader.shared.ui.ReaderWorkspaceFileActionState
import org.dueattendant149.bookreader.shared.ui.ReaderWorkspaceShell
import org.dueattendant149.bookreader.shared.ui.LocalSharedStringResolver
import org.dueattendant149.bookreader.shared.ui.SharedPdfAnnotationOverlay
import org.dueattendant149.bookreader.shared.ui.SharedPdfEmbeddedAnnotationOverlay
import org.dueattendant149.bookreader.shared.ui.SharedPdfInlineTextEditorOverlay
import org.dueattendant149.bookreader.shared.ui.SharedPdfInteractionDock
import org.dueattendant149.bookreader.shared.ui.SharedPdfPageNumberOverlay
import org.dueattendant149.bookreader.shared.ui.SharedPdfRichTextHiddenInput
import org.dueattendant149.bookreader.shared.ui.SharedPdfRichTextLayer
import org.dueattendant149.bookreader.shared.ui.SharedPdfTextBoxEditorOverlay
import org.dueattendant149.bookreader.shared.ui.SharedPdfVerticalScrollbar
import org.dueattendant149.bookreader.shared.ui.SharedReaderTtsOverlayControls
import org.dueattendant149.bookreader.shared.ui.pdfReaderWorkspaceModel
import org.dueattendant149.bookreader.shared.ui.readerString
import org.dueattendant149.bookreader.shared.ui.sharedPdfEmbeddedHitTest
import org.dueattendant149.bookreader.shared.ui.sharedPdfHitTest
import org.dueattendant149.bookreader.shared.ui.toSharedPdfPoint
import kotlinx.coroutines.CoroutineStart
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job

View file

@ -1,8 +1,8 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.BookItem
import com.aryan.reader.shared.FileType
import com.aryan.reader.shared.pdf.SharedPdfReflowHtml
import org.dueattendant149.bookreader.shared.BookItem
import org.dueattendant149.bookreader.shared.FileType
import org.dueattendant149.bookreader.shared.pdf.SharedPdfReflowHtml
import java.io.File
private const val DesktopPdfReflowSuffix = "_reflow"

View file

@ -1,8 +1,8 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.PdfDisplayMode
import com.aryan.reader.shared.pdf.PdfSpreadLayout
import com.aryan.reader.shared.reader.ReaderSettings
import org.dueattendant149.bookreader.shared.PdfDisplayMode
import org.dueattendant149.bookreader.shared.pdf.PdfSpreadLayout
import org.dueattendant149.bookreader.shared.reader.ReaderSettings
import kotlin.math.roundToInt
internal fun desktopPdfPageScrubTarget(

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.Canvas
@ -52,14 +52,14 @@ import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.dp
import com.aryan.reader.shared.pdf.PdfPageBounds
import com.aryan.reader.shared.pdf.SharedPdfHighlighterPalette
import com.aryan.reader.shared.ui.SharedHsvColorPickerDialog
import com.aryan.reader.shared.ui.SharedSelectionMenuRect
import com.aryan.reader.shared.ui.SharedSelectionMenuSize
import com.aryan.reader.shared.ui.SharedSelectionMenuViewport
import com.aryan.reader.shared.ui.readerString
import com.aryan.reader.shared.ui.sharedSelectionMenuPlacement
import org.dueattendant149.bookreader.shared.pdf.PdfPageBounds
import org.dueattendant149.bookreader.shared.pdf.SharedPdfHighlighterPalette
import org.dueattendant149.bookreader.shared.ui.SharedHsvColorPickerDialog
import org.dueattendant149.bookreader.shared.ui.SharedSelectionMenuRect
import org.dueattendant149.bookreader.shared.ui.SharedSelectionMenuSize
import org.dueattendant149.bookreader.shared.ui.SharedSelectionMenuViewport
import org.dueattendant149.bookreader.shared.ui.readerString
import org.dueattendant149.bookreader.shared.ui.sharedSelectionMenuPlacement
import kotlin.math.roundToInt
internal data class DesktopPdfTextSelection(

View file

@ -1,16 +1,16 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import com.aryan.reader.shared.pdf.SharedPdfAnnotation
import com.aryan.reader.shared.pdf.SharedPdfAnnotationSerializer
import com.aryan.reader.shared.pdf.SharedPdfBookmark
import com.aryan.reader.shared.pdf.SharedPdfBookmarkSerializer
import com.aryan.reader.shared.pdf.SharedPdfRichDocument
import com.aryan.reader.shared.pdf.SharedPdfRichTextController
import com.aryan.reader.shared.pdf.SharedPdfRichTextLog
import com.aryan.reader.shared.pdf.SharedPdfRichTextSerializer
import com.aryan.reader.shared.pdf.SharedPdfSearchResult
import org.dueattendant149.bookreader.shared.pdf.SharedPdfAnnotation
import org.dueattendant149.bookreader.shared.pdf.SharedPdfAnnotationSerializer
import org.dueattendant149.bookreader.shared.pdf.SharedPdfBookmark
import org.dueattendant149.bookreader.shared.pdf.SharedPdfBookmarkSerializer
import org.dueattendant149.bookreader.shared.pdf.SharedPdfRichDocument
import org.dueattendant149.bookreader.shared.pdf.SharedPdfRichTextController
import org.dueattendant149.bookreader.shared.pdf.SharedPdfRichTextLog
import org.dueattendant149.bookreader.shared.pdf.SharedPdfRichTextSerializer
import org.dueattendant149.bookreader.shared.pdf.SharedPdfSearchResult
import java.io.File
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.isActive

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import java.io.File
import java.security.MessageDigest

View file

@ -1,12 +1,12 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.BookItem
import com.aryan.reader.shared.FileType
import com.aryan.reader.shared.pdf.SharedPdfAnnotationSerializer
import com.aryan.reader.shared.pdf.SharedPdfAnnotationSidecarCodec
import com.aryan.reader.shared.pdf.SharedPdfBookmark
import com.aryan.reader.shared.pdf.SharedPdfBookmarkSerializer
import com.aryan.reader.shared.pdf.SharedPdfRichTextSerializer
import org.dueattendant149.bookreader.shared.BookItem
import org.dueattendant149.bookreader.shared.FileType
import org.dueattendant149.bookreader.shared.pdf.SharedPdfAnnotationSerializer
import org.dueattendant149.bookreader.shared.pdf.SharedPdfAnnotationSidecarCodec
import org.dueattendant149.bookreader.shared.pdf.SharedPdfBookmark
import org.dueattendant149.bookreader.shared.pdf.SharedPdfBookmarkSerializer
import org.dueattendant149.bookreader.shared.pdf.SharedPdfRichTextSerializer
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonArray

View file

@ -1,12 +1,12 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.isSpecified
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import com.aryan.reader.shared.PdfDisplayMode
import com.aryan.reader.shared.ReaderTheme
import com.aryan.reader.shared.pdf.pdfVerticalPageGapDp
import org.dueattendant149.bookreader.shared.PdfDisplayMode
import org.dueattendant149.bookreader.shared.ReaderTheme
import org.dueattendant149.bookreader.shared.pdf.pdfVerticalPageGapDp
internal val DesktopDefaultPdfDisplayMode = PdfDisplayMode.PAGINATION
internal val DesktopDefaultPdfVerticalPageGap = 8.dp

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.foundation.gestures.calculateCentroid
import androidx.compose.foundation.gestures.calculateZoom
@ -15,8 +15,8 @@ import androidx.compose.ui.input.pointer.isCtrlPressed as isPointerCtrlPressed
import androidx.compose.ui.input.pointer.pointerInput
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.IntSize
import com.aryan.reader.shared.PdfDisplayMode
import com.aryan.reader.shared.pdf.PdfZoomSpec
import org.dueattendant149.bookreader.shared.PdfDisplayMode
import org.dueattendant149.bookreader.shared.pdf.PdfZoomSpec
import kotlin.math.abs
import kotlin.math.exp
import kotlin.math.roundToInt

View file

@ -1,35 +1,35 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import androidx.compose.ui.graphics.ImageBitmap
import androidx.compose.ui.graphics.toComposeImageBitmap
import com.aryan.reader.shared.FileType
import com.aryan.reader.shared.PdfTocEntry
import com.aryan.reader.shared.opds.OpdsCatalog
import com.aryan.reader.shared.opds.OpdsStreamReference
import com.aryan.reader.shared.pdf.PdfInkTool
import com.aryan.reader.shared.pdf.PdfPageBounds
import com.aryan.reader.shared.pdf.PdfZoomSpec
import com.aryan.reader.shared.pdf.PdfiumAnnotationSubtype
import com.aryan.reader.shared.pdf.SharedPdfAnnotation
import com.aryan.reader.shared.pdf.SharedPdfAnnotationExportMapper
import com.aryan.reader.shared.pdf.SharedPdfEmbeddedAnnotation
import com.aryan.reader.shared.pdf.SharedPdfEmbeddedAnnotationThreads
import com.aryan.reader.shared.pdf.SharedPdfHighlightAnnotationExport
import com.aryan.reader.shared.pdf.SharedPdfInkAnnotationExport
import com.aryan.reader.shared.pdf.SharedPdfIndexedPage
import com.aryan.reader.shared.pdf.SharedPdfReflowImageElement
import com.aryan.reader.shared.pdf.SharedPdfReflowPage
import com.aryan.reader.shared.pdf.SharedPdfReflowPageElement
import com.aryan.reader.shared.pdf.SharedPdfReflowTextElement
import com.aryan.reader.shared.pdf.SharedPdfReflowTextLine
import com.aryan.reader.shared.pdf.SharedPdfReflowTextSpan
import com.aryan.reader.shared.pdf.SharedPdfRichPageLayout
import com.aryan.reader.shared.pdf.SharedPdfSearchIndex
import com.aryan.reader.shared.pdf.SharedPdfSearchResult
import com.aryan.reader.shared.pdf.pdfInkAppearancePoints
import org.dueattendant149.bookreader.shared.FileType
import org.dueattendant149.bookreader.shared.PdfTocEntry
import org.dueattendant149.bookreader.shared.opds.OpdsCatalog
import org.dueattendant149.bookreader.shared.opds.OpdsStreamReference
import org.dueattendant149.bookreader.shared.pdf.PdfInkTool
import org.dueattendant149.bookreader.shared.pdf.PdfPageBounds
import org.dueattendant149.bookreader.shared.pdf.PdfZoomSpec
import org.dueattendant149.bookreader.shared.pdf.PdfiumAnnotationSubtype
import org.dueattendant149.bookreader.shared.pdf.SharedPdfAnnotation
import org.dueattendant149.bookreader.shared.pdf.SharedPdfAnnotationExportMapper
import org.dueattendant149.bookreader.shared.pdf.SharedPdfEmbeddedAnnotation
import org.dueattendant149.bookreader.shared.pdf.SharedPdfEmbeddedAnnotationThreads
import org.dueattendant149.bookreader.shared.pdf.SharedPdfHighlightAnnotationExport
import org.dueattendant149.bookreader.shared.pdf.SharedPdfInkAnnotationExport
import org.dueattendant149.bookreader.shared.pdf.SharedPdfIndexedPage
import org.dueattendant149.bookreader.shared.pdf.SharedPdfReflowImageElement
import org.dueattendant149.bookreader.shared.pdf.SharedPdfReflowPage
import org.dueattendant149.bookreader.shared.pdf.SharedPdfReflowPageElement
import org.dueattendant149.bookreader.shared.pdf.SharedPdfReflowTextElement
import org.dueattendant149.bookreader.shared.pdf.SharedPdfReflowTextLine
import org.dueattendant149.bookreader.shared.pdf.SharedPdfReflowTextSpan
import org.dueattendant149.bookreader.shared.pdf.SharedPdfRichPageLayout
import org.dueattendant149.bookreader.shared.pdf.SharedPdfSearchIndex
import org.dueattendant149.bookreader.shared.pdf.SharedPdfSearchResult
import org.dueattendant149.bookreader.shared.pdf.pdfInkAppearancePoints
import com.sun.jna.Callback
import com.sun.jna.Library
import com.sun.jna.Memory

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import java.io.File
import java.util.Locale

View file

@ -1,19 +1,19 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.pptx.SharedPptxCharBox as DesktopPptxCharBox
import com.aryan.reader.shared.pptx.SharedPptxDeck as DesktopPptxDeck
import com.aryan.reader.shared.pptx.SharedPptxDeckCache
import com.aryan.reader.shared.pptx.SharedPptxImageCrop as DesktopPptxImageCrop
import com.aryan.reader.shared.pptx.SharedPptxImageElement as DesktopPptxImageElement
import com.aryan.reader.shared.pptx.SharedPptxParagraph as DesktopPptxParagraph
import com.aryan.reader.shared.pptx.SharedPptxRect as DesktopPptxRect
import com.aryan.reader.shared.pptx.SharedPptxShapeElement as DesktopPptxShapeElement
import com.aryan.reader.shared.pptx.SharedPptxSlide as DesktopPptxSlide
import com.aryan.reader.shared.pptx.SharedPptxTableCell as DesktopPptxTableCell
import com.aryan.reader.shared.pptx.SharedPptxTableElement as DesktopPptxTableElement
import com.aryan.reader.shared.pptx.SharedPptxTextAlign as DesktopPptxTextAlign
import com.aryan.reader.shared.pptx.SharedPptxTextInsets as DesktopPptxTextInsets
import com.aryan.reader.shared.pptx.SharedPptxVerticalAnchor as DesktopPptxVerticalAnchor
import org.dueattendant149.bookreader.shared.pptx.SharedPptxCharBox as DesktopPptxCharBox
import org.dueattendant149.bookreader.shared.pptx.SharedPptxDeck as DesktopPptxDeck
import org.dueattendant149.bookreader.shared.pptx.SharedPptxDeckCache
import org.dueattendant149.bookreader.shared.pptx.SharedPptxImageCrop as DesktopPptxImageCrop
import org.dueattendant149.bookreader.shared.pptx.SharedPptxImageElement as DesktopPptxImageElement
import org.dueattendant149.bookreader.shared.pptx.SharedPptxParagraph as DesktopPptxParagraph
import org.dueattendant149.bookreader.shared.pptx.SharedPptxRect as DesktopPptxRect
import org.dueattendant149.bookreader.shared.pptx.SharedPptxShapeElement as DesktopPptxShapeElement
import org.dueattendant149.bookreader.shared.pptx.SharedPptxSlide as DesktopPptxSlide
import org.dueattendant149.bookreader.shared.pptx.SharedPptxTableCell as DesktopPptxTableCell
import org.dueattendant149.bookreader.shared.pptx.SharedPptxTableElement as DesktopPptxTableElement
import org.dueattendant149.bookreader.shared.pptx.SharedPptxTextAlign as DesktopPptxTextAlign
import org.dueattendant149.bookreader.shared.pptx.SharedPptxTextInsets as DesktopPptxTextInsets
import org.dueattendant149.bookreader.shared.pptx.SharedPptxVerticalAnchor as DesktopPptxVerticalAnchor
import java.awt.AlphaComposite
import java.awt.BasicStroke
import java.awt.Color

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.layout.Arrangement
@ -29,8 +29,8 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import com.aryan.reader.shared.UserData
import com.aryan.reader.shared.ui.readerString
import org.dueattendant149.bookreader.shared.UserData
import org.dueattendant149.bookreader.shared.ui.readerString
@Composable
internal fun DesktopProScreen(

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.Box
@ -22,7 +22,7 @@ import androidx.compose.ui.graphics.toComposeImageBitmap
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.foundation.shape.CircleShape
import com.aryan.reader.shared.UserData
import org.dueattendant149.bookreader.shared.UserData
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import org.jetbrains.skia.Image as SkiaImage

View file

@ -1,15 +1,15 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.BookItem
import com.aryan.reader.shared.FileType
import com.aryan.reader.shared.PdfDisplayMode
import com.aryan.reader.shared.ReaderFeatureSurface
import com.aryan.reader.shared.ReaderPlatform
import com.aryan.reader.shared.SharedFileCapabilities
import com.aryan.reader.shared.SharedReaderScreenState
import com.aryan.reader.shared.reader.ReaderPageSpreadMode
import com.aryan.reader.shared.reader.ReaderReadingMode
import com.aryan.reader.shared.reader.ReaderSettings
import org.dueattendant149.bookreader.shared.BookItem
import org.dueattendant149.bookreader.shared.FileType
import org.dueattendant149.bookreader.shared.PdfDisplayMode
import org.dueattendant149.bookreader.shared.ReaderFeatureSurface
import org.dueattendant149.bookreader.shared.ReaderPlatform
import org.dueattendant149.bookreader.shared.SharedFileCapabilities
import org.dueattendant149.bookreader.shared.SharedReaderScreenState
import org.dueattendant149.bookreader.shared.reader.ReaderPageSpreadMode
import org.dueattendant149.bookreader.shared.reader.ReaderReadingMode
import org.dueattendant149.bookreader.shared.reader.ReaderSettings
internal const val DesktopReaderDefaultsVersion = 1

View file

@ -1,9 +1,9 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.IntSize
import com.aryan.reader.shared.ReaderLocator
import org.dueattendant149.bookreader.shared.ReaderLocator
private const val PdfZoomPerfLogTag = "EpistemePdfZoomPerf"
private const val PdfZoomSettleLogTag = "EpistemePdfZoomSettle"

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
internal const val DesktopReaderOpenTraceTag = "EpistemeDesktopOpenTrace"

View file

@ -1,8 +1,8 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.BookItem
import com.aryan.reader.shared.reader.ReaderSessionState
import com.aryan.reader.shared.ui.SharedAppTab
import org.dueattendant149.bookreader.shared.BookItem
import org.dueattendant149.bookreader.shared.reader.ReaderSessionState
import org.dueattendant149.bookreader.shared.ui.SharedAppTab
internal data class DesktopReaderOpening(
val requestId: Long,

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
@ -42,22 +42,22 @@ import androidx.compose.ui.text.input.PasswordVisualTransformation
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.compose.ui.zIndex
import com.aryan.reader.shared.GEMINI_CLOUD_TTS_MODEL
import com.aryan.reader.shared.GEMINI_CLOUD_TTS_MODEL_ID
import com.aryan.reader.shared.ReaderAiByokSettings
import com.aryan.reader.shared.ReaderAiModelOption
import com.aryan.reader.shared.ReaderAiModelOptions
import com.aryan.reader.shared.ReaderAiResultState
import com.aryan.reader.shared.ReaderCloudTtsVoices
import com.aryan.reader.shared.ReaderExtrasState
import com.aryan.reader.shared.ReaderTtsReplacementPreferences
import com.aryan.reader.shared.maskedReaderAiKey
import com.aryan.reader.shared.ui.SharedMarkdownText
import com.aryan.reader.shared.ui.SharedReaderPopupLayer
import com.aryan.reader.shared.ui.SharedReaderTtsReplacementControls
import com.aryan.reader.shared.ui.SharedStableOutlinedTextField
import com.aryan.reader.shared.ui.readerString
import com.aryan.reader.shared.ui.sharedReaderPopupWidth
import org.dueattendant149.bookreader.shared.GEMINI_CLOUD_TTS_MODEL
import org.dueattendant149.bookreader.shared.GEMINI_CLOUD_TTS_MODEL_ID
import org.dueattendant149.bookreader.shared.ReaderAiByokSettings
import org.dueattendant149.bookreader.shared.ReaderAiModelOption
import org.dueattendant149.bookreader.shared.ReaderAiModelOptions
import org.dueattendant149.bookreader.shared.ReaderAiResultState
import org.dueattendant149.bookreader.shared.ReaderCloudTtsVoices
import org.dueattendant149.bookreader.shared.ReaderExtrasState
import org.dueattendant149.bookreader.shared.ReaderTtsReplacementPreferences
import org.dueattendant149.bookreader.shared.maskedReaderAiKey
import org.dueattendant149.bookreader.shared.ui.SharedMarkdownText
import org.dueattendant149.bookreader.shared.ui.SharedReaderPopupLayer
import org.dueattendant149.bookreader.shared.ui.SharedReaderTtsReplacementControls
import org.dueattendant149.bookreader.shared.ui.SharedStableOutlinedTextField
import org.dueattendant149.bookreader.shared.ui.readerString
import org.dueattendant149.bookreader.shared.ui.sharedReaderPopupWidth
@Composable
internal fun DesktopReaderBottomSheet(

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
@ -29,41 +29,41 @@ import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.text.rememberTextMeasurer
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.isSpecified
import com.aryan.reader.paginatedreader.CssStyle
import com.aryan.reader.paginatedreader.SemanticImage
import com.aryan.reader.shared.CustomFontItem
import com.aryan.reader.shared.ReaderAction
import com.aryan.reader.shared.ReaderAiByokSettings
import com.aryan.reader.shared.ReaderAiFeature
import com.aryan.reader.shared.ReaderAutoScrollState
import com.aryan.reader.shared.ReaderExtrasState
import com.aryan.reader.shared.ReaderExternalLookupAction
import com.aryan.reader.shared.ReaderHighlightPalette
import com.aryan.reader.shared.ReaderLocator
import com.aryan.reader.shared.ReaderToolbarPreferences
import com.aryan.reader.shared.ReaderTtsChunk
import com.aryan.reader.shared.ReaderTtsReadScope
import com.aryan.reader.shared.ReaderTtsReplacementPreferences
import com.aryan.reader.shared.ReaderTheme
import com.aryan.reader.shared.reader.ReaderEngine
import com.aryan.reader.shared.reader.ReaderImageReference
import com.aryan.reader.shared.reader.ReaderLinkTarget
import com.aryan.reader.shared.reader.ReaderPage
import com.aryan.reader.shared.reader.ReaderReadingMode
import com.aryan.reader.shared.reader.ReaderSettings
import com.aryan.reader.shared.reader.ReaderSessionState
import com.aryan.reader.shared.reader.ReaderViewportSpec
import com.aryan.reader.shared.reader.SharedEpubPaginationCache
import com.aryan.reader.shared.reader.SharedMeasuredEpubPaginator
import com.aryan.reader.shared.reader.isRightToLeftPaginationEnabled
import com.aryan.reader.shared.reader.layoutSignature
import com.aryan.reader.shared.reduce
import com.aryan.reader.shared.ui.DesktopEpubNativeImage
import com.aryan.reader.shared.ui.ReaderContentRenderPlan
import com.aryan.reader.shared.ui.SharedNativePaginatedReader
import com.aryan.reader.shared.ui.SharedNativeReaderSelectionAction
import com.aryan.reader.shared.ui.SharedNativeVerticalReader
import com.aryan.reader.shared.ui.SharedReaderScreen
import org.dueattendant149.bookreader.paginatedreader.CssStyle
import org.dueattendant149.bookreader.paginatedreader.SemanticImage
import org.dueattendant149.bookreader.shared.CustomFontItem
import org.dueattendant149.bookreader.shared.ReaderAction
import org.dueattendant149.bookreader.shared.ReaderAiByokSettings
import org.dueattendant149.bookreader.shared.ReaderAiFeature
import org.dueattendant149.bookreader.shared.ReaderAutoScrollState
import org.dueattendant149.bookreader.shared.ReaderExtrasState
import org.dueattendant149.bookreader.shared.ReaderExternalLookupAction
import org.dueattendant149.bookreader.shared.ReaderHighlightPalette
import org.dueattendant149.bookreader.shared.ReaderLocator
import org.dueattendant149.bookreader.shared.ReaderToolbarPreferences
import org.dueattendant149.bookreader.shared.ReaderTtsChunk
import org.dueattendant149.bookreader.shared.ReaderTtsReadScope
import org.dueattendant149.bookreader.shared.ReaderTtsReplacementPreferences
import org.dueattendant149.bookreader.shared.ReaderTheme
import org.dueattendant149.bookreader.shared.reader.ReaderEngine
import org.dueattendant149.bookreader.shared.reader.ReaderImageReference
import org.dueattendant149.bookreader.shared.reader.ReaderLinkTarget
import org.dueattendant149.bookreader.shared.reader.ReaderPage
import org.dueattendant149.bookreader.shared.reader.ReaderReadingMode
import org.dueattendant149.bookreader.shared.reader.ReaderSettings
import org.dueattendant149.bookreader.shared.reader.ReaderSessionState
import org.dueattendant149.bookreader.shared.reader.ReaderViewportSpec
import org.dueattendant149.bookreader.shared.reader.SharedEpubPaginationCache
import org.dueattendant149.bookreader.shared.reader.SharedMeasuredEpubPaginator
import org.dueattendant149.bookreader.shared.reader.isRightToLeftPaginationEnabled
import org.dueattendant149.bookreader.shared.reader.layoutSignature
import org.dueattendant149.bookreader.shared.reduce
import org.dueattendant149.bookreader.shared.ui.DesktopEpubNativeImage
import org.dueattendant149.bookreader.shared.ui.ReaderContentRenderPlan
import org.dueattendant149.bookreader.shared.ui.SharedNativePaginatedReader
import org.dueattendant149.bookreader.shared.ui.SharedNativeReaderSelectionAction
import org.dueattendant149.bookreader.shared.ui.SharedNativeVerticalReader
import org.dueattendant149.bookreader.shared.ui.SharedReaderScreen
import kotlinx.coroutines.CancellationException
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.delay

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.foundation.Image
import androidx.compose.foundation.background

View file

@ -1,11 +1,11 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.ui.graphics.ImageBitmap
import androidx.compose.ui.graphics.toComposeImageBitmap
import com.aryan.reader.shared.ReaderTexture
import com.aryan.reader.shared.ReaderTextureFilePrefix
import com.aryan.reader.shared.ReaderTextureImportExtensions
import com.aryan.reader.shared.readerTextureMimeTypeForExtension
import org.dueattendant149.bookreader.shared.ReaderTexture
import org.dueattendant149.bookreader.shared.ReaderTextureFilePrefix
import org.dueattendant149.bookreader.shared.ReaderTextureImportExtensions
import org.dueattendant149.bookreader.shared.readerTextureMimeTypeForExtension
import java.io.ByteArrayInputStream
import java.io.File
import java.util.Base64

View file

@ -1,15 +1,15 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.platform.Font as DesktopFont
import com.aryan.reader.shared.AppFontPreference
import com.aryan.reader.shared.AppFontPreferenceKind
import com.aryan.reader.shared.CustomFontItem
import com.aryan.reader.shared.reader.ReaderPage
import com.aryan.reader.shared.reader.ReaderSettings
import com.aryan.reader.shared.detectFontVariant
import com.aryan.reader.shared.familyFilenameSignature
import com.aryan.reader.shared.supportsVariableWeightAxis
import org.dueattendant149.bookreader.shared.AppFontPreference
import org.dueattendant149.bookreader.shared.AppFontPreferenceKind
import org.dueattendant149.bookreader.shared.CustomFontItem
import org.dueattendant149.bookreader.shared.reader.ReaderPage
import org.dueattendant149.bookreader.shared.reader.ReaderSettings
import org.dueattendant149.bookreader.shared.detectFontVariant
import org.dueattendant149.bookreader.shared.familyFilenameSignature
import org.dueattendant149.bookreader.shared.supportsVariableWeightAxis
import java.io.File
internal fun ReaderSettings.toDesktopReaderFontFamily(): FontFamily {

View file

@ -1,15 +1,15 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.ui.unit.DpSize
import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.WindowPlacement
import com.aryan.reader.shared.BookItem
import com.aryan.reader.shared.ReaderCloudTtsState
import com.aryan.reader.shared.ReaderExtrasState
import com.aryan.reader.shared.RecapResult
import com.aryan.reader.shared.SummarizationResult
import com.aryan.reader.shared.reader.ReaderReadingMode
import com.aryan.reader.shared.reader.ReaderSessionState
import org.dueattendant149.bookreader.shared.BookItem
import org.dueattendant149.bookreader.shared.ReaderCloudTtsState
import org.dueattendant149.bookreader.shared.ReaderExtrasState
import org.dueattendant149.bookreader.shared.RecapResult
import org.dueattendant149.bookreader.shared.SummarizationResult
import org.dueattendant149.bookreader.shared.reader.ReaderReadingMode
import org.dueattendant149.bookreader.shared.reader.ReaderSessionState
import kotlinx.coroutines.Job
internal const val DesktopReaderWindowDefaultWidthDp = 1120f

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import java.awt.BorderLayout
import java.awt.Color

View file

@ -1,6 +1,6 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.ui.SharedStringResolver
import org.dueattendant149.bookreader.shared.ui.SharedStringResolver
import org.w3c.dom.Element
import java.io.InputStream
import java.util.Locale

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import java.io.File
import java.security.MessageDigest

View file

@ -1,6 +1,6 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.ReaderTtsChunk
import org.dueattendant149.bookreader.shared.ReaderTtsChunk
private const val DesktopTtsLogTag = "EpistemeDesktopTts"
private const val DesktopTtsStartTraceLogTag = "EpistemeDesktopTtsStartTrace"

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.ui.unit.DpSize
import androidx.compose.ui.unit.dp

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
@ -25,12 +25,12 @@ import androidx.compose.ui.layout.onSizeChanged
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import com.aryan.reader.shared.EpubAnnotationSerializer
import com.aryan.reader.shared.ReaderLocator
import com.aryan.reader.shared.UserHighlight
import com.aryan.reader.shared.reader.ReaderReadingMode
import com.aryan.reader.shared.ui.ReaderContentNavigationTarget
import com.aryan.reader.shared.ui.readerString
import org.dueattendant149.bookreader.shared.EpubAnnotationSerializer
import org.dueattendant149.bookreader.shared.ReaderLocator
import org.dueattendant149.bookreader.shared.UserHighlight
import org.dueattendant149.bookreader.shared.reader.ReaderReadingMode
import org.dueattendant149.bookreader.shared.ui.ReaderContentNavigationTarget
import org.dueattendant149.bookreader.shared.ui.readerString
import kotlinx.coroutines.delay
import org.eclipse.swt.SWT
import org.eclipse.swt.awt.SWT_AWT

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
fun main() {
val startupSplash = DesktopStartupSplash.show()

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
@ -29,92 +29,92 @@ import androidx.compose.ui.window.Window
import androidx.compose.ui.window.WindowPlacement
import androidx.compose.ui.window.WindowPosition
import androidx.compose.ui.window.rememberWindowState
import com.aryan.reader.shared.AppAction
import com.aryan.reader.shared.AppFontPreference
import com.aryan.reader.shared.BannerMessage
import com.aryan.reader.shared.BookItem
import com.aryan.reader.shared.BookShelfRef
import com.aryan.reader.shared.CustomFontItem
import com.aryan.reader.shared.FileType
import com.aryan.reader.shared.ImportedBookFile
import com.aryan.reader.shared.LibraryAction
import com.aryan.reader.shared.ReaderAiByokSettings
import com.aryan.reader.shared.ReaderAiFeature
import com.aryan.reader.shared.ReaderAiResultState
import com.aryan.reader.shared.ReaderCloudTtsState
import com.aryan.reader.shared.ReaderContextExtractor
import com.aryan.reader.shared.RecapResult
import com.aryan.reader.shared.ReaderExternalLookupAction
import com.aryan.reader.shared.ReaderExtrasState
import com.aryan.reader.shared.ReaderFeatureSurface
import com.aryan.reader.shared.ReaderLocator
import com.aryan.reader.shared.ReaderPlatform
import com.aryan.reader.shared.ReaderTtsCacheSummary
import com.aryan.reader.shared.ReaderTtsChunk
import com.aryan.reader.shared.ReaderTtsPlanner
import com.aryan.reader.shared.ReaderTtsProgress
import com.aryan.reader.shared.ReaderTtsReadScope
import com.aryan.reader.shared.SharedFileCapabilities
import com.aryan.reader.shared.SharedImportOutcomeCounts
import com.aryan.reader.shared.SharedImportPlanner
import com.aryan.reader.shared.SharedLibraryEditor
import com.aryan.reader.shared.SharedLibraryStateProjector
import com.aryan.reader.shared.SharedReaderScreenState
import com.aryan.reader.shared.SharedSettingsAction
import com.aryan.reader.shared.SharedSettingsDestination
import com.aryan.reader.shared.SharedSettingsHubInput
import com.aryan.reader.shared.SharedSettingsPlatform
import com.aryan.reader.shared.Shelf
import com.aryan.reader.shared.ShelfRecord
import com.aryan.reader.shared.ShelfType
import com.aryan.reader.shared.SmartCollectionDefinition
import com.aryan.reader.shared.SummarizationResult
import com.aryan.reader.shared.externalLookupUrl
import com.aryan.reader.shared.opds.OpdsAcquisition
import com.aryan.reader.shared.opds.OpdsCatalog
import com.aryan.reader.shared.opds.OpdsEntry
import com.aryan.reader.shared.opds.OpdsStreamReference
import com.aryan.reader.shared.opds.SharedOpdsController
import com.aryan.reader.shared.opds.SharedOpdsDownloadState
import com.aryan.reader.shared.opds.SharedOpdsStreamUri
import com.aryan.reader.shared.pdf.SharedPdfReaderViewport
import com.aryan.reader.shared.reader.ReaderEngine
import com.aryan.reader.shared.reader.ReaderImageReference
import com.aryan.reader.shared.reader.ReaderSessionState
import com.aryan.reader.shared.reader.ReaderSettings
import com.aryan.reader.shared.reader.SharedEpubMetadataEditor
import com.aryan.reader.shared.reader.SharedEpubMetadataUpdate
import com.aryan.reader.shared.reader.SharedEpubPaginationCache
import com.aryan.reader.shared.reader.SharedJvmBookLoadSemanticMode
import com.aryan.reader.shared.reader.SharedJvmBookLoader
import com.aryan.reader.shared.readerCloudTtsControlsModel
import com.aryan.reader.shared.reduce
import com.aryan.reader.shared.sharedSettingsHubModel
import com.aryan.reader.shared.shouldApplyRemoteCloudBookMetadataUpdate
import com.aryan.reader.shared.shouldUploadLocalCloudBookContent
import com.aryan.reader.shared.shouldUploadLocalCloudBookMetadataUpdate
import com.aryan.reader.shared.ui.NonReaderLibraryTab
import com.aryan.reader.shared.ui.SharedAboutScreen
import com.aryan.reader.shared.ui.SharedAddToShelfDialog
import com.aryan.reader.shared.ui.SharedAppShell
import com.aryan.reader.shared.ui.SharedAppTab
import com.aryan.reader.shared.ui.SharedAppTheme
import com.aryan.reader.shared.ui.SharedAppThemeControls
import com.aryan.reader.shared.ui.SharedAppThemeSettingsDialog
import com.aryan.reader.shared.ui.SharedBookInfoDialog
import com.aryan.reader.shared.ui.SharedConfirmDialog
import com.aryan.reader.shared.ui.SharedCustomFontsScreen
import com.aryan.reader.shared.ui.SharedHelpFeedbackScreen
import com.aryan.reader.shared.ui.LocalSharedStringResolver
import com.aryan.reader.shared.ui.SharedManageShelfBooksDialog
import com.aryan.reader.shared.ui.SharedOpdsScreen
import com.aryan.reader.shared.ui.SharedReaderModalOwnerWindowProvider
import com.aryan.reader.shared.ui.SharedReaderTtsOverlayControls
import com.aryan.reader.shared.ui.SharedSettingsHub
import com.aryan.reader.shared.ui.SharedSupportProjectScreen
import com.aryan.reader.shared.ui.SharedTextInputDialog
import com.aryan.reader.shared.ui.readerString
import com.aryan.reader.shared.withTtsReplacements
import org.dueattendant149.bookreader.shared.AppAction
import org.dueattendant149.bookreader.shared.AppFontPreference
import org.dueattendant149.bookreader.shared.BannerMessage
import org.dueattendant149.bookreader.shared.BookItem
import org.dueattendant149.bookreader.shared.BookShelfRef
import org.dueattendant149.bookreader.shared.CustomFontItem
import org.dueattendant149.bookreader.shared.FileType
import org.dueattendant149.bookreader.shared.ImportedBookFile
import org.dueattendant149.bookreader.shared.LibraryAction
import org.dueattendant149.bookreader.shared.ReaderAiByokSettings
import org.dueattendant149.bookreader.shared.ReaderAiFeature
import org.dueattendant149.bookreader.shared.ReaderAiResultState
import org.dueattendant149.bookreader.shared.ReaderCloudTtsState
import org.dueattendant149.bookreader.shared.ReaderContextExtractor
import org.dueattendant149.bookreader.shared.RecapResult
import org.dueattendant149.bookreader.shared.ReaderExternalLookupAction
import org.dueattendant149.bookreader.shared.ReaderExtrasState
import org.dueattendant149.bookreader.shared.ReaderFeatureSurface
import org.dueattendant149.bookreader.shared.ReaderLocator
import org.dueattendant149.bookreader.shared.ReaderPlatform
import org.dueattendant149.bookreader.shared.ReaderTtsCacheSummary
import org.dueattendant149.bookreader.shared.ReaderTtsChunk
import org.dueattendant149.bookreader.shared.ReaderTtsPlanner
import org.dueattendant149.bookreader.shared.ReaderTtsProgress
import org.dueattendant149.bookreader.shared.ReaderTtsReadScope
import org.dueattendant149.bookreader.shared.SharedFileCapabilities
import org.dueattendant149.bookreader.shared.SharedImportOutcomeCounts
import org.dueattendant149.bookreader.shared.SharedImportPlanner
import org.dueattendant149.bookreader.shared.SharedLibraryEditor
import org.dueattendant149.bookreader.shared.SharedLibraryStateProjector
import org.dueattendant149.bookreader.shared.SharedReaderScreenState
import org.dueattendant149.bookreader.shared.SharedSettingsAction
import org.dueattendant149.bookreader.shared.SharedSettingsDestination
import org.dueattendant149.bookreader.shared.SharedSettingsHubInput
import org.dueattendant149.bookreader.shared.SharedSettingsPlatform
import org.dueattendant149.bookreader.shared.Shelf
import org.dueattendant149.bookreader.shared.ShelfRecord
import org.dueattendant149.bookreader.shared.ShelfType
import org.dueattendant149.bookreader.shared.SmartCollectionDefinition
import org.dueattendant149.bookreader.shared.SummarizationResult
import org.dueattendant149.bookreader.shared.externalLookupUrl
import org.dueattendant149.bookreader.shared.opds.OpdsAcquisition
import org.dueattendant149.bookreader.shared.opds.OpdsCatalog
import org.dueattendant149.bookreader.shared.opds.OpdsEntry
import org.dueattendant149.bookreader.shared.opds.OpdsStreamReference
import org.dueattendant149.bookreader.shared.opds.SharedOpdsController
import org.dueattendant149.bookreader.shared.opds.SharedOpdsDownloadState
import org.dueattendant149.bookreader.shared.opds.SharedOpdsStreamUri
import org.dueattendant149.bookreader.shared.pdf.SharedPdfReaderViewport
import org.dueattendant149.bookreader.shared.reader.ReaderEngine
import org.dueattendant149.bookreader.shared.reader.ReaderImageReference
import org.dueattendant149.bookreader.shared.reader.ReaderSessionState
import org.dueattendant149.bookreader.shared.reader.ReaderSettings
import org.dueattendant149.bookreader.shared.reader.SharedEpubMetadataEditor
import org.dueattendant149.bookreader.shared.reader.SharedEpubMetadataUpdate
import org.dueattendant149.bookreader.shared.reader.SharedEpubPaginationCache
import org.dueattendant149.bookreader.shared.reader.SharedJvmBookLoadSemanticMode
import org.dueattendant149.bookreader.shared.reader.SharedJvmBookLoader
import org.dueattendant149.bookreader.shared.readerCloudTtsControlsModel
import org.dueattendant149.bookreader.shared.reduce
import org.dueattendant149.bookreader.shared.sharedSettingsHubModel
import org.dueattendant149.bookreader.shared.shouldApplyRemoteCloudBookMetadataUpdate
import org.dueattendant149.bookreader.shared.shouldUploadLocalCloudBookContent
import org.dueattendant149.bookreader.shared.shouldUploadLocalCloudBookMetadataUpdate
import org.dueattendant149.bookreader.shared.ui.NonReaderLibraryTab
import org.dueattendant149.bookreader.shared.ui.SharedAboutScreen
import org.dueattendant149.bookreader.shared.ui.SharedAddToShelfDialog
import org.dueattendant149.bookreader.shared.ui.SharedAppShell
import org.dueattendant149.bookreader.shared.ui.SharedAppTab
import org.dueattendant149.bookreader.shared.ui.SharedAppTheme
import org.dueattendant149.bookreader.shared.ui.SharedAppThemeControls
import org.dueattendant149.bookreader.shared.ui.SharedAppThemeSettingsDialog
import org.dueattendant149.bookreader.shared.ui.SharedBookInfoDialog
import org.dueattendant149.bookreader.shared.ui.SharedConfirmDialog
import org.dueattendant149.bookreader.shared.ui.SharedCustomFontsScreen
import org.dueattendant149.bookreader.shared.ui.SharedHelpFeedbackScreen
import org.dueattendant149.bookreader.shared.ui.LocalSharedStringResolver
import org.dueattendant149.bookreader.shared.ui.SharedManageShelfBooksDialog
import org.dueattendant149.bookreader.shared.ui.SharedOpdsScreen
import org.dueattendant149.bookreader.shared.ui.SharedReaderModalOwnerWindowProvider
import org.dueattendant149.bookreader.shared.ui.SharedReaderTtsOverlayControls
import org.dueattendant149.bookreader.shared.ui.SharedSettingsHub
import org.dueattendant149.bookreader.shared.ui.SharedSupportProjectScreen
import org.dueattendant149.bookreader.shared.ui.SharedTextInputDialog
import org.dueattendant149.bookreader.shared.ui.readerString
import org.dueattendant149.bookreader.shared.withTtsReplacements
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
import kotlinx.coroutines.delay
@ -3749,7 +3749,7 @@ internal fun EpistemeDesktopApp(
}
}
fun emitOpds(next: com.aryan.reader.shared.opds.SharedOpdsScreenState) {
fun emitOpds(next: org.dueattendant149.bookreader.shared.opds.SharedOpdsScreenState) {
opdsState = next
}

View file

@ -1,7 +1,7 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.GEMINI_CLOUD_TTS_MODEL_ID
import com.aryan.reader.shared.ReaderAiByokSettings
import org.dueattendant149.bookreader.shared.GEMINI_CLOUD_TTS_MODEL_ID
import org.dueattendant149.bookreader.shared.ReaderAiByokSettings
import java.nio.file.Files
import kotlin.io.path.readText
import kotlin.io.path.writeText

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import java.io.File
import kotlin.test.Test

View file

@ -1,6 +1,6 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.UserData
import org.dueattendant149.bookreader.shared.UserData
import java.nio.file.Files
import kotlin.test.Test
import kotlin.test.assertEquals

View file

@ -1,6 +1,6 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.ImportedBookFile
import org.dueattendant149.bookreader.shared.ImportedBookFile
import java.io.File
import java.nio.file.Files
import java.security.MessageDigest

View file

@ -1,8 +1,8 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.GEMINI_CLOUD_TTS_MODEL_ID
import com.aryan.reader.shared.ReaderAiByokSettings
import com.aryan.reader.shared.SharedFeaturePolicy
import org.dueattendant149.bookreader.shared.GEMINI_CLOUD_TTS_MODEL_ID
import org.dueattendant149.bookreader.shared.ReaderAiByokSettings
import org.dueattendant149.bookreader.shared.SharedFeaturePolicy
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertFalse

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import java.util.Properties
import kotlin.test.Test

View file

@ -1,16 +1,16 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.BookItem
import com.aryan.reader.shared.FileType
import com.aryan.reader.shared.HighlightColor
import com.aryan.reader.shared.ReaderLocator
import com.aryan.reader.shared.UserHighlight
import com.aryan.reader.shared.pdf.SharedPdfAnnotationSerializer
import com.aryan.reader.shared.pdf.SharedPdfBookmark
import com.aryan.reader.shared.pdf.SharedPdfReaderViewport
import com.aryan.reader.shared.pdf.SharedPdfRichDocument
import com.aryan.reader.shared.pdf.SharedPdfRichTextSerializer
import com.aryan.reader.shared.reader.ReaderBookmark
import org.dueattendant149.bookreader.shared.BookItem
import org.dueattendant149.bookreader.shared.FileType
import org.dueattendant149.bookreader.shared.HighlightColor
import org.dueattendant149.bookreader.shared.ReaderLocator
import org.dueattendant149.bookreader.shared.UserHighlight
import org.dueattendant149.bookreader.shared.pdf.SharedPdfAnnotationSerializer
import org.dueattendant149.bookreader.shared.pdf.SharedPdfBookmark
import org.dueattendant149.bookreader.shared.pdf.SharedPdfReaderViewport
import org.dueattendant149.bookreader.shared.pdf.SharedPdfRichDocument
import org.dueattendant149.bookreader.shared.pdf.SharedPdfRichTextSerializer
import org.dueattendant149.bookreader.shared.reader.ReaderBookmark
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertNotNull

View file

@ -1,6 +1,6 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.FileType
import org.dueattendant149.bookreader.shared.FileType
import org.apache.commons.compress.archivers.tar.TarArchiveEntry
import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream
import java.io.File

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import kotlin.test.Test
import kotlin.test.assertEquals

View file

@ -1,6 +1,6 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.CustomFontItem
import org.dueattendant149.bookreader.shared.CustomFontItem
import java.io.File
import java.nio.file.Files
import kotlin.test.Test

View file

@ -1,6 +1,6 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.ReaderLocator
import org.dueattendant149.bookreader.shared.ReaderLocator
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertTrue

View file

@ -1,11 +1,11 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.reader.ReaderPage
import com.aryan.reader.shared.reader.ReaderPageSpreadMode
import com.aryan.reader.shared.reader.ReaderReadingMode
import com.aryan.reader.shared.reader.ReaderSettings
import com.aryan.reader.shared.reader.ReaderViewportSpec
import com.aryan.reader.shared.reader.layoutSignature
import org.dueattendant149.bookreader.shared.reader.ReaderPage
import org.dueattendant149.bookreader.shared.reader.ReaderPageSpreadMode
import org.dueattendant149.bookreader.shared.reader.ReaderReadingMode
import org.dueattendant149.bookreader.shared.reader.ReaderSettings
import org.dueattendant149.bookreader.shared.reader.ReaderViewportSpec
import org.dueattendant149.bookreader.shared.reader.layoutSignature
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertFalse

View file

@ -1,4 +1,4 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import kotlin.test.Test
import kotlin.test.assertFalse

View file

@ -1,7 +1,7 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.BookItem
import com.aryan.reader.shared.FileType
import org.dueattendant149.bookreader.shared.BookItem
import org.dueattendant149.bookreader.shared.FileType
import java.io.File
import java.nio.file.Files
import java.util.Base64

View file

@ -1,7 +1,7 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.SharedLibrarySnapshot
import com.aryan.reader.shared.SharedLibrarySnapshotJson
import org.dueattendant149.bookreader.shared.SharedLibrarySnapshot
import org.dueattendant149.bookreader.shared.SharedLibrarySnapshotJson
import java.nio.file.Files
import kotlin.test.Test
import kotlin.test.assertEquals

View file

@ -1,11 +1,11 @@
package com.aryan.reader.desktop
package org.dueattendant149.bookreader.desktop
import com.aryan.reader.shared.BookItem
import com.aryan.reader.shared.FileType
import com.aryan.reader.shared.LOCAL_FOLDER_SYNC_DATA_DIR
import com.aryan.reader.shared.SharedFolderBookMetadata
import com.aryan.reader.shared.SharedReaderScreenState
import com.aryan.reader.shared.SyncedFolder
import org.dueattendant149.bookreader.shared.BookItem
import org.dueattendant149.bookreader.shared.FileType
import org.dueattendant149.bookreader.shared.LOCAL_FOLDER_SYNC_DATA_DIR
import org.dueattendant149.bookreader.shared.SharedFolderBookMetadata
import org.dueattendant149.bookreader.shared.SharedReaderScreenState
import org.dueattendant149.bookreader.shared.SyncedFolder
import java.io.File
import java.nio.file.Files
import kotlin.test.Test

Some files were not shown because too many files have changed in this diff Show more