Skip to content

Commit c96c822

Browse files
committed
shortcuts screen
1 parent 5b1d55d commit c96c822

File tree

15 files changed

+282
-0
lines changed

15 files changed

+282
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@
128128
│ ├── feature_records_filter # Dialog for records filters.
129129
│ ├── feature_running_records # One of main tabs, timers.
130130
│ ├── feature_settings # One of main tabs, settings.
131+
│ ├── feature_shortcuts # Screen for all shortcuts.
131132
│ ├── feature_statistics # One of main tabs, statistics.
132133
│ ├── feature_statistics_detail # Screen showing detailed statistics.
133134
│ ├── feature_suggestions # Screen for activity suggestions.

app/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ dependencies {
127127
implementation(project(":feature_pomodoro"))
128128
implementation(project(":feature_complex_rules"))
129129
implementation(project(":feature_suggestions"))
130+
implementation(project(":feature_shortcuts"))
130131
implementation(project(":feature_change_complex_rule"))
131132
implementation(project(":feature_change_goals"))
132133
implementation(project(":feature_change_goals:api"))

app/src/main/java/com/example/util/simpletimetracker/di/NavigationScreenMapModule.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import com.example.util.simpletimetracker.navigation.NavigationData
1414
import com.example.util.simpletimetracker.navigation.bundleCreator.BundleCreator
1515
import com.example.util.simpletimetracker.navigation.bundleCreator.bundleCreatorDelegate
1616
import com.example.util.simpletimetracker.navigation.params.screen.ActivitySuggestionsParams
17+
import com.example.util.simpletimetracker.navigation.params.screen.ShortcutsParams
1718
import com.example.util.simpletimetracker.navigation.params.screen.ArchiveParams
1819
import com.example.util.simpletimetracker.navigation.params.screen.CategoriesParams
1920
import com.example.util.simpletimetracker.navigation.params.screen.ChangeActivityFilterParams
@@ -173,6 +174,16 @@ class NavigationScreenMapModule {
173174
)
174175
}
175176

177+
@IntoMap
178+
@Provides
179+
@ScreenKey(ShortcutsParams::class)
180+
fun shortcuts(): NavigationData {
181+
return NavigationData(
182+
R.id.action_to_shortcutsFragment,
183+
BundleCreator.empty(),
184+
)
185+
}
186+
176187
@IntoMap
177188
@Provides
178189
@ScreenKey(ChangeCategoryFromTagsParams::class)

app/src/main/res/navigation/nav_graph.xml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,14 @@
4545
app:popEnterAnim="@anim/slide_in_left"
4646
app:popExitAnim="@anim/slide_out_right" />
4747

48+
<action
49+
android:id="@+id/action_to_shortcutsFragment"
50+
app:destination="@id/shortcutsFragment"
51+
app:enterAnim="@anim/slide_in_right"
52+
app:exitAnim="@anim/slide_out_left"
53+
app:popEnterAnim="@anim/slide_in_left"
54+
app:popExitAnim="@anim/slide_out_right" />
55+
4856
<action
4957
android:id="@+id/action_to_statisticsDetailFragment"
5058
app:destination="@id/statisticsDetailFragment"
@@ -233,6 +241,11 @@
233241
android:name="com.example.util.simpletimetracker.feature_suggestions.view.ActivitySuggestionsFragment"
234242
android:label="ActivitySuggestionsFragment"
235243
tools:layout="@layout/activity_suggestions_fragment" />
244+
<fragment
245+
android:id="@+id/shortcutsFragment"
246+
android:name="com.example.util.simpletimetracker.feature_shortcuts.view.ShortcutsFragment"
247+
android:label="ShortcutsFragment"
248+
tools:layout="@layout/shortcuts_fragment" />
236249
<fragment
237250
android:id="@+id/changeComplexRuleFragment"
238251
android:name="com.example.util.simpletimetracker.feature_change_complex_rule.view.ChangeComplexRuleFragment"

features/feature_settings/api/src/main/java/com/example/util/simpletimetracker/feature_settings/api/SettingsBlock.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ enum class SettingsBlock {
9090
AdditionalDataEdit,
9191
AdditionalComplexRules,
9292
AdditionalActivitySuggestions,
93+
AdditionalShortcuts,
9394
AdditionalBottom,
9495

9596
BackupTop,

features/feature_settings/src/main/java/com/example/util/simpletimetracker/feature_settings/interactor/SettingsAdditionalViewDataInteractor.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,11 @@ class SettingsAdditionalViewDataInteractor @Inject constructor(
202202
block = SettingsBlock.AdditionalActivitySuggestions,
203203
title = resourceRepo.getString(R.string.settings_activity_suggestions),
204204
subtitle = "",
205+
)
206+
result += SettingsTextViewData(
207+
block = SettingsBlock.AdditionalShortcuts,
208+
title = resourceRepo.getString(R.string.change_record_shortcut),
209+
subtitle = "",
205210
dividerIsVisible = false,
206211
)
207212
}

features/feature_settings/src/main/java/com/example/util/simpletimetracker/feature_settings/viewModel/delegate/SettingsAdditionalViewModelDelegate.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import com.example.util.simpletimetracker.feature_settings.mapper.SettingsMapper
2020
import com.example.util.simpletimetracker.feature_settings.viewModel.SettingsViewModel
2121
import com.example.util.simpletimetracker.navigation.Router
2222
import com.example.util.simpletimetracker.navigation.params.screen.ActivitySuggestionsParams
23+
import com.example.util.simpletimetracker.navigation.params.screen.ShortcutsParams
2324
import com.example.util.simpletimetracker.navigation.params.screen.ComplexRulesParams
2425
import com.example.util.simpletimetracker.navigation.params.screen.DataEditParams
2526
import com.example.util.simpletimetracker.navigation.params.screen.DurationDialogParams
@@ -78,6 +79,7 @@ class SettingsAdditionalViewModelDelegate @Inject constructor(
7879
SettingsBlock.AdditionalDataEdit -> onDataEditClick()
7980
SettingsBlock.AdditionalComplexRules -> onComplexRulesClick()
8081
SettingsBlock.AdditionalActivitySuggestions -> onActivitySuggestionsClick()
82+
SettingsBlock.AdditionalShortcuts -> onShortcutsClick()
8183
else -> {
8284
// Do nothing
8385
}
@@ -309,6 +311,10 @@ class SettingsAdditionalViewModelDelegate @Inject constructor(
309311
router.navigate(ActivitySuggestionsParams)
310312
}
311313

314+
private fun onShortcutsClick() {
315+
router.navigate(ShortcutsParams)
316+
}
317+
312318
private fun onAutomatedTrackingHelpClick() {
313319
delegateScope.launch {
314320
val isDarkTheme = prefsInteractor.getDarkMode()
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/build
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import com.example.util.simpletimetracker.Base
2+
import com.example.util.simpletimetracker.applyAndroidLibrary
3+
4+
plugins {
5+
alias(libs.plugins.gradleLibrary)
6+
alias(libs.plugins.kotlin)
7+
alias(libs.plugins.kotlinParcelize)
8+
alias(libs.plugins.ksp)
9+
alias(libs.plugins.hilt)
10+
}
11+
12+
applyAndroidLibrary()
13+
14+
android {
15+
namespace = "${Base.namespace}.feature_shortcuts"
16+
}
17+
18+
dependencies {
19+
implementation(project(":core"))
20+
implementation(libs.google.dagger)
21+
ksp(libs.kapt.dagger)
22+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
3+
4+
<application android:theme="@style/AppTheme" />
5+
6+
</manifest>

0 commit comments

Comments
 (0)