Skip to content

Commit 4786d34

Browse files
committed
wip
1 parent e7a1a2d commit 4786d34

20 files changed

+184
-54
lines changed

.idea/misc.xml

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ dependencies {
6060
implementation "androidx.compose.foundation:foundation:$compose_version"
6161
implementation "androidx.compose.ui:ui:$compose_version"
6262
implementation "androidx.compose.material:material:$compose_version"
63+
implementation "androidx.compose.material:material-icons-extended:$compose_version"
6364
implementation "androidx.compose.ui:ui-tooling:$compose_version"
6465
implementation "androidx.compose.runtime:runtime:$compose_version"
6566
implementation "androidx.ui:ui-tooling:1.0.0-alpha07"

app/src/main/java/com/hoc081098/datastoresample/Locator.kt

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ import androidx.datastore.preferences.createDataStore
55
import com.hoc081098.datastoresample.data.TaskRepositoryImpl
66
import com.hoc081098.datastoresample.data.UserPreferencesRepositoryImpl
77
import com.hoc081098.datastoresample.domain.ChangeShowCompleted
8-
import com.hoc081098.datastoresample.domain.FilterSortTasks
8+
import com.hoc081098.datastoresample.domain.EnableSortByDeadline
9+
import com.hoc081098.datastoresample.domain.model.FilterSortTasks
910
import com.hoc081098.datastoresample.ui.MainViewModel
1011

1112
object Locator {
@@ -18,7 +19,12 @@ object Locator {
1819
this.application = application
1920
}
2021

21-
val mainViewModelFactory get() = MainViewModel.Factory(filterSortTasks, changeShowCompleted)
22+
val mainViewModelFactory
23+
get() = MainViewModel.Factory(
24+
filterSortTasks,
25+
changeShowCompleted,
26+
enableSortByDeadline,
27+
)
2228

2329
private val filterSortTasks
2430
get() = FilterSortTasks(
@@ -28,6 +34,8 @@ object Locator {
2834

2935
private val changeShowCompleted get() = ChangeShowCompleted(userPreferencesRepository)
3036

37+
private val enableSortByDeadline get() = EnableSortByDeadline(userPreferencesRepository)
38+
3139
private val taskRepository by lazy { TaskRepositoryImpl() }
3240
private val userPreferencesRepository by lazy {
3341
val dataStore = requireApplication.createDataStore(name = "user_preferences")

app/src/main/java/com/hoc081098/datastoresample/data/TaskRepositoryImpl.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package com.hoc081098.datastoresample.data
22

3-
import com.hoc081098.datastoresample.domain.Task
4-
import com.hoc081098.datastoresample.domain.TaskPriority
5-
import com.hoc081098.datastoresample.domain.TaskRepository
3+
import com.hoc081098.datastoresample.domain.model.Task
4+
import com.hoc081098.datastoresample.domain.model.TaskPriority
5+
import com.hoc081098.datastoresample.domain.repo.TaskRepository
66
import kotlinx.coroutines.flow.Flow
77
import kotlinx.coroutines.flow.flowOf
88
import java.text.SimpleDateFormat

app/src/main/java/com/hoc081098/datastoresample/data/UserPreferencesRepositoryImpl.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ import androidx.datastore.preferences.core.booleanPreferencesKey
77
import androidx.datastore.preferences.core.edit
88
import androidx.datastore.preferences.core.emptyPreferences
99
import androidx.datastore.preferences.core.stringPreferencesKey
10-
import com.hoc081098.datastoresample.domain.SortOrder
11-
import com.hoc081098.datastoresample.domain.SortOrder.*
12-
import com.hoc081098.datastoresample.domain.UserPreferences
13-
import com.hoc081098.datastoresample.domain.UserPreferencesRepository
10+
import com.hoc081098.datastoresample.domain.model.SortOrder
11+
import com.hoc081098.datastoresample.domain.model.SortOrder.*
12+
import com.hoc081098.datastoresample.domain.model.UserPreferences
13+
import com.hoc081098.datastoresample.domain.repo.UserPreferencesRepository
1414
import kotlinx.coroutines.flow.Flow
1515
import kotlinx.coroutines.flow.catch
1616
import kotlinx.coroutines.flow.distinctUntilChanged

app/src/main/java/com/hoc081098/datastoresample/domain/ChangeShowCompleted.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.hoc081098.datastoresample.domain
22

3+
import com.hoc081098.datastoresample.domain.repo.UserPreferencesRepository
4+
35
class ChangeShowCompleted(
46
private val userPreferencesRepository: UserPreferencesRepository,
57
) {
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.hoc081098.datastoresample.domain
2+
3+
import com.hoc081098.datastoresample.domain.repo.UserPreferencesRepository
4+
5+
class EnableSortByDeadline(
6+
private val userPreferencesRepository: UserPreferencesRepository,
7+
) {
8+
suspend operator fun invoke(enabled: Boolean) =
9+
userPreferencesRepository.enableSortByDeadline(enabled)
10+
}

app/src/main/java/com/hoc081098/datastoresample/domain/FilterSortTasks.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
package com.hoc081098.datastoresample.domain
1+
package com.hoc081098.datastoresample.domain.model
22

3+
import com.hoc081098.datastoresample.domain.repo.TaskRepository
4+
import com.hoc081098.datastoresample.domain.repo.UserPreferencesRepository
35
import kotlinx.coroutines.flow.Flow
46
import kotlinx.coroutines.flow.combine
57

app/src/main/java/com/hoc081098/datastoresample/domain/TaskRepository.kt

Lines changed: 0 additions & 7 deletions
This file was deleted.

app/src/main/java/com/hoc081098/datastoresample/domain/UserPreferences.kt

Lines changed: 0 additions & 6 deletions
This file was deleted.

0 commit comments

Comments
 (0)