Release 1.6.0
- The app starts faster - Smooth screen transition animations - Articles render DSL line breaks, indentation and named colors correctly - Tabs and extra spaces inside articles no longer break the layout - The article title can be copied, tapping the article clears the selection - Source URLs accept host:port addresses - Dictionary downloads retry automatically when the network switches - Download progress notifications are more reliable - Search results clear instantly when the query is erased - Leftover files from cancelled downloads are now removed automatically - Improved app stability - Faster dictionary indexing - Updated build tooling and documentation - Long link-heavy articles no longer freeze while scrolling - Large search result lists render faster - Dark article colors are readable in the dark theme
This commit is contained in:
1 parent
10a7ff06c1
commit
586852073e
4 files changed
+30
-27
No files matched your search
@@ -5,7 +5,6 @@
|
||||
<p align="center">
|
||||
<a href="#screenshots">Screenshots</a> •
|
||||
<a href="#features">Features</a> •
|
||||
<a href="#architecture">Architecture</a> •
|
||||
<a href="#dictionary-pipeline">Pipeline</a> •
|
||||
<a href="#build">Build</a>
|
||||
</p>
|
||||
@@ -23,31 +22,17 @@ The app stores dictionaries as DictZip files and builds compact binary indexes f
|
||||
|
||||
- Fast headword search across multiple DSL dictionaries.
|
||||
- Import local `.dsl`, `.dsl.gz`, and `.dsl.dz` dictionary files.
|
||||
- Download dictionaries from configured URLs.
|
||||
- Download dictionaries from configured URLs, with an optional `{DATE}` placeholder for dated releases.
|
||||
- Automatic extraction, DictZip compression, and indexing.
|
||||
- Faithful article rendering with DSL indentation, margins, and named colors.
|
||||
- Offline search after dictionaries are indexed.
|
||||
- Random-access article loading from DictZip dictionaries.
|
||||
- Background processing with progress shown in Settings and notifications.
|
||||
- Dictionary management with enable, disable, update, and delete actions.
|
||||
- Background processing with progress shown in Settings and notifications; downloads are cancelled with a button on the progress notification.
|
||||
- Dictionary management with enable, disable, and update actions; deleting a dictionary is done with a swipe.
|
||||
- Material 3 interface with dynamic color, light, dark, and system themes.
|
||||
- English and Russian localization.
|
||||
- About screen with open source license information.
|
||||
|
||||
## Architecture
|
||||
|
||||
ReSearch is an Android app written in Kotlin and Jetpack Compose.
|
||||
|
||||
```text
|
||||
com.example.research/
|
||||
├── common/ # shared progress, UI, file, archive, notification utilities
|
||||
├── core/ # domain models, source validation, operation results
|
||||
├── data/ # DictZip, DSL parsing, indexing, paging, repositories
|
||||
├── feature/ # search, dictionary download, local import workflows
|
||||
└── ui/ # Compose screens, article view, settings, navigation
|
||||
```
|
||||
|
||||
State is exposed through Kotlin Flow and collected by Compose screens. Long-running work uses coroutines and foreground services where Android requires visible progress.
|
||||
|
||||
## Dictionary Pipeline
|
||||
|
||||
ReSearch supports both downloaded and locally imported dictionaries.
|
||||
@@ -94,16 +79,16 @@ The main search screen remains usable as long as at least one indexed dictionary
|
||||
|
||||
## Tech Stack
|
||||
|
||||
- Kotlin 2.4.10
|
||||
- Jetpack Compose (BOM 2026.08.00)
|
||||
- Kotlin 2.4.20
|
||||
- Jetpack Compose (BOM 2026.09.00)
|
||||
- Material 3
|
||||
- Coroutines and Flow 1.11.0
|
||||
- DataStore Preferences 1.2.1
|
||||
- Paging 3.5.1
|
||||
- OkHttp 5.4.0
|
||||
- OkHttp 5.5.0
|
||||
- kotlinx.serialization 1.11.0
|
||||
- AboutLibraries 15.0.4 metadata generation
|
||||
- Android Gradle Plugin 9.3.1
|
||||
- AboutLibraries 15.2.0 metadata generation
|
||||
- Android Gradle Plugin 9.4.1
|
||||
|
||||
## Build
|
||||
|
||||
@@ -111,7 +96,7 @@ The main search screen remains usable as long as at least one indexed dictionary
|
||||
./gradlew :app:assembleRelease
|
||||
```
|
||||
|
||||
The release APK targets `arm64-v8a`. English and Russian resources are packaged together.
|
||||
The release APK targets `arm64-v8a`.
|
||||
|
||||
## License
|
||||
|
||||
|
||||
@@ -92,8 +92,8 @@ android {
|
||||
applicationId = "com.example.research"
|
||||
minSdk = project.property("minSdk").toString().toInt()
|
||||
targetSdk = project.property("targetSdk").toString().toInt()
|
||||
versionCode = 8
|
||||
versionName = "1.5.0"
|
||||
versionCode = 9
|
||||
versionName = "1.6.0"
|
||||
|
||||
vectorDrawables {
|
||||
useSupportLibrary = true
|
||||
|
||||
@@ -1,7 +1,16 @@
|
||||
- The app starts faster
|
||||
- Smooth screen transition animations
|
||||
- Articles render DSL line breaks, indentation and named colors correctly
|
||||
- Tabs and extra spaces inside articles no longer break the layout
|
||||
- The article title can be copied, tapping the article clears the selection
|
||||
- Source URLs accept host:port addresses
|
||||
- Dictionary downloads retry automatically when the network switches
|
||||
- Download progress notifications are more reliable
|
||||
- Search results clear instantly when the query is erased
|
||||
- Leftover files from cancelled downloads are now removed automatically
|
||||
- Improved app stability
|
||||
- Faster dictionary indexing
|
||||
- Updated build tooling and documentation
|
||||
- Long link-heavy articles no longer freeze while scrolling
|
||||
- Large search result lists render faster
|
||||
- Dark article colors are readable in the dark theme
|
||||
@@ -1,7 +1,16 @@
|
||||
- Приложение запускается быстрее
|
||||
- Плавные анимации переходов между экранами
|
||||
- Статьи корректно отображают переносы строк, отступы и цвета из DSL-разметки
|
||||
- Табуляции и лишние пробелы в статьях больше не ломают вёрстку
|
||||
- Заголовок статьи можно скопировать, тап по статье сбрасывает выделение
|
||||
- Адреса источников принимают формат host:port
|
||||
- Загрузка словарей автоматически повторяется при переключении сети
|
||||
- Уведомления о прогрессе загрузки стали надёжнее
|
||||
- Результаты поиска очищаются мгновенно при стирании запроса
|
||||
- Остаточные файлы после отменённых загрузок удаляются автоматически
|
||||
- Повышена стабильность приложения
|
||||
- Ускорена индексация словарей
|
||||
- Обновлены тулинг сборки и документация
|
||||
- Длинные статьи со ссылками больше не подвисают при прокрутке
|
||||
- Большие списки результатов поиска отображаются быстрее
|
||||
- Тёмные цвета статей читаемы в тёмной теме
|
||||
Reference in new issue
Block a user