Skip to content

Commit 564a454

Browse files
committed
add option buttons to records container
1 parent b4cc9fc commit 564a454

File tree

35 files changed

+768
-174
lines changed

35 files changed

+768
-174
lines changed

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import com.example.util.simpletimetracker.R
44
import com.example.util.simpletimetracker.feature_data_edit.dialog.DataEditTagSelectionDialogFragment
55
import com.example.util.simpletimetracker.feature_dialogs.archive.view.ArchiveDialogFragment
66
import com.example.util.simpletimetracker.feature_dialogs.cardOrder.view.CardOrderDialogFragment
7+
import com.example.util.simpletimetracker.feature_dialogs.chartFilter.view.ChartFilterDialogFragment
78
import com.example.util.simpletimetracker.feature_dialogs.colorSelection.view.ColorSelectionDialogFragment
89
import com.example.util.simpletimetracker.feature_dialogs.csvExportSettings.view.CsvExportSettingsDialogFragment
910
import com.example.util.simpletimetracker.feature_dialogs.customRangeSelection.view.CustomRangeSelectionDialogFragment
@@ -86,7 +87,7 @@ class NavigationDialogMapModule {
8687
fun chartFilterDialog(): NavigationData {
8788
return NavigationData(
8889
R.id.chartFilerDialogFragment,
89-
BundleCreator.empty(),
90+
bundleCreatorDelegate(ChartFilterDialogFragment::createBundle),
9091
)
9192
}
9293

core/src/main/java/com/example/util/simpletimetracker/core/mapper/CategoryViewDataMapper.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import com.example.util.simpletimetracker.feature_base_adapter.category.TagType
1616
import com.example.util.simpletimetracker.feature_base_adapter.empty.EmptyViewData
1717
import com.example.util.simpletimetracker.feature_base_adapter.hint.HintViewData
1818
import com.example.util.simpletimetracker.feature_base_adapter.hintBig.HintBigViewData
19-
import com.example.util.simpletimetracker.feature_base_adapter.info.InfoViewData
2019
import com.example.util.simpletimetracker.feature_views.viewData.RecordTypeIcon
2120
import javax.inject.Inject
2221

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="24dp"
3+
android:height="24dp"
4+
android:viewportWidth="24"
5+
android:viewportHeight="24">
6+
<path
7+
android:fillColor="#FF000000"
8+
android:pathData="M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z"/>
9+
</vector>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="24dp"
3+
android:height="24dp"
4+
android:viewportWidth="24"
5+
android:viewportHeight="24">
6+
<path
7+
android:fillColor="#FF000000"
8+
android:pathData="M6,10c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2zM18,10c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2zM12,10c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2z"/>
9+
</vector>

data_local/src/main/java/com/example/util/simpletimetracker/data_local/mapper/ComplexRuleDataLocalMapper.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package com.example.util.simpletimetracker.data_local.mapper
22

33
import com.example.util.simpletimetracker.data_local.model.ComplexRuleDBO
44
import com.example.util.simpletimetracker.domain.model.ComplexRule
5-
import com.example.util.simpletimetracker.domain.model.DayOfWeek
65
import javax.inject.Inject
76

87
class ComplexRuleDataLocalMapper @Inject constructor(

data_local/src/main/java/com/example/util/simpletimetracker/data_local/mapper/RecordTypeGoalDataLocalMapper.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package com.example.util.simpletimetracker.data_local.mapper
22

33
import com.example.util.simpletimetracker.data_local.model.RecordTypeGoalDBO
44
import com.example.util.simpletimetracker.domain.extension.orZero
5-
import com.example.util.simpletimetracker.domain.model.DayOfWeek
65
import com.example.util.simpletimetracker.domain.model.RecordTypeGoal
76
import javax.inject.Inject
87

data_local/src/main/java/com/example/util/simpletimetracker/data_local/repo/PrefsRepoImpl.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ class PrefsRepoImpl @Inject constructor(
2222
Calendar.getInstance().firstDayOfWeek
2323
}
2424

25+
override var recordTypesFilteredOnList: Set<String> by prefs.delegate(
26+
KEY_RECORD_TYPES_FILTERED_ON_LIST, emptySet(),
27+
)
28+
2529
override var recordTypesFilteredOnChart: Set<String> by prefs.delegate(
2630
KEY_RECORD_TYPES_FILTERED_ON_CHART, emptySet(),
2731
)
@@ -526,6 +530,7 @@ class PrefsRepoImpl @Inject constructor(
526530
private const val POMODORO_DEFAULT_UNTIL_LONG_BREAK: Long = 4
527531
private const val RANGE_LAST_DAYS_DEFAULT: Int = 7
528532

533+
private const val KEY_RECORD_TYPES_FILTERED_ON_LIST = "recordTypesFilteredOnList"
529534
private const val KEY_RECORD_TYPES_FILTERED_ON_CHART = "recordTypesFilteredOnChart"
530535
private const val KEY_CATEGORIES_TYPES_FILTERED_ON_CHART = "categoriesFilteredOnChart"
531536
private const val KEY_TAGS_FILTERED_ON_CHART = "tagsFilteredOnChart"

domain/src/main/java/com/example/util/simpletimetracker/domain/interactor/AddRunningRecordMediator.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,9 @@ class AddRunningRecordMediator @Inject constructor(
4949
comment: String,
5050
timeStarted: Long? = null,
5151
) {
52-
val actualTimeStarted = timeStarted ?: System.currentTimeMillis()
5352
val rulesResult = processRules(
5453
typeId = typeId,
55-
timeStarted = actualTimeStarted,
54+
timeStarted = timeStarted ?: System.currentTimeMillis(),
5655
)
5756
processMultitasking(
5857
typeId = typeId,
@@ -72,7 +71,7 @@ class AddRunningRecordMediator @Inject constructor(
7271
typeId = typeId,
7372
comment = comment,
7473
tagIds = actualTags,
75-
timeStarted = actualTimeStarted,
74+
timeStarted = timeStarted ?: System.currentTimeMillis(),
7675
)
7776
// Show goal count only on timer start, otherwise it would show on change also.
7877
notificationGoalCountInteractor.checkAndShow(typeId)

domain/src/main/java/com/example/util/simpletimetracker/domain/interactor/PrefsInteractor.kt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,16 @@ class PrefsInteractor @Inject constructor(
2020
private val isSystemInDarkModeInteractor: IsSystemInDarkModeInteractor,
2121
) {
2222

23+
suspend fun getFilteredTypesOnList(): List<Long> = withContext(Dispatchers.IO) {
24+
prefsRepo.recordTypesFilteredOnList
25+
.mapNotNull(String::toLongOrNull)
26+
}
27+
28+
suspend fun setFilteredTypesOnList(typeIdsFiltered: List<Long>) = withContext(Dispatchers.IO) {
29+
prefsRepo.recordTypesFilteredOnList = typeIdsFiltered
30+
.map(Long::toString).toSet()
31+
}
32+
2333
suspend fun getFilteredTypes(): List<Long> = withContext(Dispatchers.IO) {
2434
prefsRepo.recordTypesFilteredOnChart
2535
.mapNotNull(String::toLongOrNull)
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package com.example.util.simpletimetracker.domain.interactor
2+
3+
import kotlinx.coroutines.channels.BufferOverflow
4+
import kotlinx.coroutines.flow.MutableSharedFlow
5+
import kotlinx.coroutines.flow.SharedFlow
6+
import kotlinx.coroutines.flow.asSharedFlow
7+
import javax.inject.Inject
8+
import javax.inject.Singleton
9+
10+
@Singleton
11+
class RecordsShareUpdateInteractor @Inject constructor() {
12+
13+
val shareClicked: SharedFlow<Unit> get() = _shareClicked.asSharedFlow()
14+
private val _shareClicked = MutableSharedFlow<Unit>(
15+
extraBufferCapacity = 1,
16+
onBufferOverflow = BufferOverflow.DROP_OLDEST,
17+
)
18+
19+
suspend fun sendShareClicked() {
20+
_shareClicked.emit(Unit)
21+
}
22+
}

0 commit comments

Comments
 (0)