Skip to content

Commit 96226e8

Browse files
committed
add сomplex rules
1 parent 995318c commit 96226e8

File tree

64 files changed

+2999
-96
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+2999
-96
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,12 @@ Simple app that helps track how much time you spend on all the useless activitie
7878
│ ├── feature_categories # Screen for categories and tags.
7979
│ ├── feature_change_activity_filter # Edit activity filter screen.
8080
│ ├── feature_change_category # Edit category screen.
81+
│ ├── feature_change_complex_rule # Edit complex rule screen.
8182
│ ├── feature_change_record # Edit record screen.
8283
│ ├── feature_change_record_tag # Edit tag screen.
8384
│ ├── feature_change_record_type # Edit type screen.
8485
│ ├── feature_change_running_record # Edit timer screen.
86+
│ ├── feature_complex_rules # Screen for complex rules list.
8587
│ ├── feature_date_edit # Data edit screen.
8688
│ ├── feature_dialogs # Dialogs.
8789
│ ├── feature_goals # Separate screen for goals.

app/build.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,8 @@ dependencies {
112112
implementation(project(":feature_records_filter"))
113113
implementation(project(":feature_goals"))
114114
implementation(project(":feature_pomodoro"))
115+
implementation(project(":feature_complex_rules"))
116+
implementation(project(":feature_change_complex_rule"))
115117
"playImplementation"(project(":feature_wear"))
116118

117119
implementation(Deps.Androidx.room)

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

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package com.example.util.simpletimetracker.di
33
import com.example.util.simpletimetracker.R
44
import com.example.util.simpletimetracker.feature_change_activity_filter.view.ChangeActivityFilterFragment
55
import com.example.util.simpletimetracker.feature_change_category.view.ChangeCategoryFragment
6+
import com.example.util.simpletimetracker.feature_change_complex_rule.view.ChangeComplexRuleFragment
67
import com.example.util.simpletimetracker.feature_change_record.view.ChangeRecordFragment
78
import com.example.util.simpletimetracker.feature_change_record_tag.view.ChangeRecordTagFragment
89
import com.example.util.simpletimetracker.feature_change_record_type.view.ChangeRecordTypeFragment
@@ -17,6 +18,7 @@ import com.example.util.simpletimetracker.navigation.params.screen.CategoriesPar
1718
import com.example.util.simpletimetracker.navigation.params.screen.ChangeActivityFilterParams
1819
import com.example.util.simpletimetracker.navigation.params.screen.ChangeCategoryFromChangeActivityParams
1920
import com.example.util.simpletimetracker.navigation.params.screen.ChangeCategoryFromTagsParams
21+
import com.example.util.simpletimetracker.navigation.params.screen.ChangeComplexRuleParams
2022
import com.example.util.simpletimetracker.navigation.params.screen.ChangeRecordFromMainParams
2123
import com.example.util.simpletimetracker.navigation.params.screen.ChangeRecordFromRecordsAllParams
2224
import com.example.util.simpletimetracker.navigation.params.screen.ChangeRecordTagFromChangeRecordParams
@@ -25,6 +27,7 @@ import com.example.util.simpletimetracker.navigation.params.screen.ChangeRecordT
2527
import com.example.util.simpletimetracker.navigation.params.screen.ChangeRecordTypeParams
2628
import com.example.util.simpletimetracker.navigation.params.screen.ChangeRunningRecordFromMainParams
2729
import com.example.util.simpletimetracker.navigation.params.screen.ChangeRunningRecordFromRecordsAllParams
30+
import com.example.util.simpletimetracker.navigation.params.screen.ComplexRulesParams
2831
import com.example.util.simpletimetracker.navigation.params.screen.DataEditParams
2932
import com.example.util.simpletimetracker.navigation.params.screen.PomodoroParams
3033
import com.example.util.simpletimetracker.navigation.params.screen.RecordsAllParams
@@ -149,6 +152,16 @@ class NavigationScreenMapModule {
149152
)
150153
}
151154

155+
@IntoMap
156+
@Provides
157+
@ScreenKey(ComplexRulesParams::class)
158+
fun complexRules(): NavigationData {
159+
return NavigationData(
160+
R.id.action_to_complexRulesFragment,
161+
BundleCreator.empty(),
162+
)
163+
}
164+
152165
@IntoMap
153166
@Provides
154167
@ScreenKey(ChangeCategoryFromTagsParams::class)
@@ -228,4 +241,24 @@ class NavigationScreenMapModule {
228241
BundleCreator.empty(),
229242
)
230243
}
244+
245+
@IntoMap
246+
@Provides
247+
@ScreenKey(ChangeComplexRuleParams.Change::class)
248+
fun changeComplexRuleChange(): NavigationData {
249+
return NavigationData(
250+
R.id.action_to_changeComplexRuleFragment,
251+
bundleCreatorDelegate(ChangeComplexRuleFragment::createBundle),
252+
)
253+
}
254+
255+
@IntoMap
256+
@Provides
257+
@ScreenKey(ChangeComplexRuleParams.New::class)
258+
fun changeComplexRuleNew(): NavigationData {
259+
return NavigationData(
260+
R.id.action_to_changeComplexRuleFragment,
261+
bundleCreatorDelegate(ChangeComplexRuleFragment::createBundle),
262+
)
263+
}
231264
}

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

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,14 @@
2929
app:popEnterAnim="@anim/slide_in_left"
3030
app:popExitAnim="@anim/slide_out_right" />
3131

32+
<action
33+
android:id="@+id/action_to_complexRulesFragment"
34+
app:destination="@id/complexRulesFragment"
35+
app:enterAnim="@anim/slide_in_right"
36+
app:exitAnim="@anim/slide_out_left"
37+
app:popEnterAnim="@anim/slide_in_left"
38+
app:popExitAnim="@anim/slide_out_right" />
39+
3240
<action
3341
android:id="@+id/action_to_statisticsDetailFragment"
3442
app:destination="@id/statisticsDetailFragment"
@@ -53,6 +61,14 @@
5361
app:popEnterAnim="@anim/slide_in_left"
5462
app:popExitAnim="@anim/slide_out_right" />
5563

64+
<action
65+
android:id="@+id/action_to_changeComplexRuleFragment"
66+
app:destination="@id/changeComplexRuleFragment"
67+
app:enterAnim="@anim/slide_in_right"
68+
app:exitAnim="@anim/slide_out_left"
69+
app:popEnterAnim="@anim/slide_in_left"
70+
app:popExitAnim="@anim/slide_out_right" />
71+
5672
<fragment
5773
android:id="@+id/mainFragment"
5874
android:name="com.example.util.simpletimetracker.feature_main.view.MainFragment"
@@ -191,6 +207,16 @@
191207
android:name="com.example.util.simpletimetracker.feature_data_edit.view.DataEditFragment"
192208
android:label="DataEditFragment"
193209
tools:layout="@layout/data_edit_fragment" />
210+
<fragment
211+
android:id="@+id/complexRulesFragment"
212+
android:name="com.example.util.simpletimetracker.feature_complex_rules.view.ComplexRulesFragment"
213+
android:label="DataEditFragment"
214+
tools:layout="@layout/complex_rules_fragment" />
215+
<fragment
216+
android:id="@+id/changeComplexRuleFragment"
217+
android:name="com.example.util.simpletimetracker.feature_change_complex_rule.view.ChangeComplexRuleFragment"
218+
android:label="ChangeComplexRuleFragment"
219+
tools:layout="@layout/change_complex_rule_fragment" />
194220
<fragment
195221
android:id="@+id/changeActivityFilterFragment"
196222
android:name="com.example.util.simpletimetracker.feature_change_activity_filter.view.ChangeActivityFilterFragment"

core/src/main/java/com/example/util/simpletimetracker/core/dialog/TypesSelectionDialogListener.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ package com.example.util.simpletimetracker.core.dialog
22

33
interface TypesSelectionDialogListener {
44

5-
fun onTypesSelected(typeIds: List<Long>, tag: String?)
5+
fun onDataSelected(dataIds: List<Long>, tag: String?)
66
}

core/src/main/java/com/example/util/simpletimetracker/core/extension/CollectionExtensions.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,8 @@ package com.example.util.simpletimetracker.core.extension
55
*/
66
fun <T> MutableList<T>.addOrRemove(item: T) {
77
if (item in this) remove(item) else add(item)
8+
}
9+
10+
fun <T> MutableSet<T>.addOrRemove(item: T) {
11+
if (item in this) remove(item) else add(item)
812
}

core/src/main/java/com/example/util/simpletimetracker/core/viewData/SettingsBlock.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ enum class SettingsBlock {
7878
AdditionalAutomatedTracking,
7979
AdditionalSendEvents,
8080
AdditionalDataEdit,
81+
AdditionalComplexRules,
8182
AdditionalBottom,
8283

8384
BackupTop,

0 commit comments

Comments
 (0)