Simple app that helps track how much time you spend on all the useless activities in the world.
- Kotlin
- Multi module
- Single Activity
- MVVM (Jetpack ViewModel + LiveData)
- Jetpack Navigation
- Jetpack Compose
- Hilt
- Room, migrations
- Coroutines
- Wear OS
- Widgets
- Notifications
- Custom Views (Pie Chart, Bar Chart, Color Selection, Calendar)
- Recycler, custom Adapter Delegates, DiffUtils with Payloads
- Drag and Drop, Gesture detection
- Gradle Kotlin DSL
- View Binding
- Database backup and restore, export to csv, automatic backup
- Dark mode
- Unit tests, UI tests
- CI with github actions
- Emojis with EmojiCompat
- base - F-Droid version, no google play services, no Wear OS support.
- play - Google Play version, with google play services, Wear OS support.
.
├── .github # CI files.
├── app # Mobile app.
├── buildSrc # Deps and versions.
├── core # Shared classes, strings.
├── data_local # Database.
├── domain # Business logic.
├── navigation # Navigation interfaces and screen params.
├── resources # Common resources between phone and watch apps.
├── wear # Wear OS app.
├── wear_api # Mobile - Wear OS communication contracts.
├── features
│ ├── feature_archive # Screen for archived data.
│ ├── feature_base_adapter # Shared recycler adapters.
│ ├── feature_categories # Screen for categories and tags.
│ ├── feature_change_activity_filter # Edit activity filter screen.
│ ├── feature_change_category # Edit category screen.
│ ├── feature_change_complex_rule # Edit complex rule screen.
│ ├── feature_change_goals # Edit goals common logic.
│ ├── feature_change_record # Edit record screen.
│ ├── feature_change_record_tag # Edit tag screen.
│ ├── feature_change_record_type # Edit type screen.
│ ├── feature_change_running_record # Edit timer screen.
│ ├── feature_complex_rules # Screen for complex rules list.
│ ├── feature_date_edit # Data edit screen.
│ ├── feature_dialogs # Dialogs.
│ ├── feature_goals # Separate screen for goals.
│ ├── feature_main # Main screen with tabs.
│ ├── feature_notification # Notifications.
│ ├── feature_pomodoro # Pomodoro mode.
│ ├── feature_records # One of main tabs, records list.
│ ├── feature_records_all # Screen showing all records.
│ ├── feature_records_filter # Dialog for records filters.
│ ├── feature_running_records # One of main tabs, timers.
│ ├── feature_settings # One of main tabs, settings.
│ ├── feature_statistics # One of main tabs, statistics.
│ ├── feature_statistics_detail # Screen showing detailed statistics.
│ ├── feature_tag_selection # Screen for selecting tags.
│ ├── feature_views # Custom views.
│ ├── feature_wear # Phone app logic to connect to wear app.
│ └── feature_widget # Widgets.
Android App
Copyright (C) 2020-2024 Anton Razinkov [email protected]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.
Wear OS App
Copyright (C) 2023-2024 Joseph Hale https://jhale.dev, @kantahrek, Anton Razinkov [email protected]
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/.