Skip to content

Commit 20f9fdc

Browse files
authored
Merge pull request #16 from mrtry/fix/todo-to-task
rename ToDo to Task
2 parents 7c4d40c + b551019 commit 20f9fdc

File tree

9 files changed

+35
-35
lines changed

9 files changed

+35
-35
lines changed

app/src/main/java/io/github/mrtry/todolist/app/todo/viewmodel/TaskViewModel.kt

+4-4
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import io.github.mrtry.todolist.R
99
import io.github.mrtry.todolist.app.todo.ui.navigator.ToDoNavigator
1010
import io.github.mrtry.todolist.di.scope.ActivityScope
1111
import io.github.mrtry.todolist.misc.extension.requireValue
12-
import io.github.mrtry.todolist.todo.domainservice.ToDoDomainService
13-
import io.github.mrtry.todolist.todo.entity.ToDo
12+
import io.github.mrtry.todolist.task.domainservice.TaskDomainService
13+
import io.github.mrtry.todolist.task.entity.Task
1414
import kotlinx.coroutines.CancellationException
1515
import kotlinx.coroutines.CoroutineScope
1616
import kotlinx.coroutines.launch
@@ -21,7 +21,7 @@ import javax.inject.Inject
2121
class TaskViewModel
2222
@Inject constructor(
2323
private val navigator: ToDoNavigator,
24-
private val domainService: ToDoDomainService,
24+
private val domainService: TaskDomainService,
2525
private val coroutineScope: CoroutineScope
2626
) : TextView.OnEditorActionListener {
2727
val taskName: MutableLiveData<String> = MutableLiveData("")
@@ -32,7 +32,7 @@ class TaskViewModel
3232
if (taskName.requireValue().isEmpty()) return@launch
3333

3434
isSaving.value = true
35-
val todo = ToDo(title = taskName.value.orEmpty())
35+
val todo = Task(title = taskName.value.orEmpty())
3636

3737
try {
3838
domainService.saveToRepository(todo)

app/src/main/java/io/github/mrtry/todolist/app/todo/viewmodel/ToDoListItemViewModel.kt

+5-5
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,21 @@ import io.github.mrtry.todolist.R
66
import io.github.mrtry.todolist.app.todo.ui.navigator.ToDoNavigator
77
import io.github.mrtry.todolist.misc.extension.observeNonNull
88
import io.github.mrtry.todolist.misc.extension.requireValue
9-
import io.github.mrtry.todolist.todo.domainservice.ToDoDomainService
10-
import io.github.mrtry.todolist.todo.entity.ToDo
9+
import io.github.mrtry.todolist.task.domainservice.TaskDomainService
10+
import io.github.mrtry.todolist.task.entity.Task
1111
import kotlinx.coroutines.CancellationException
1212
import kotlinx.coroutines.CoroutineScope
1313
import kotlinx.coroutines.launch
1414
import timber.log.Timber
1515

1616
class ToDoListItemViewModel(
17-
todo: ToDo,
17+
todo: Task,
1818
lifecycleOwner: LifecycleOwner,
1919
private val navigator: ToDoNavigator,
20-
private val domainService: ToDoDomainService,
20+
private val domainService: TaskDomainService,
2121
private val coroutineScope: CoroutineScope
2222
) {
23-
val todo: MutableLiveData<ToDo> = MutableLiveData(todo)
23+
val todo: MutableLiveData<Task> = MutableLiveData(todo)
2424
val isComplete: MutableLiveData<Boolean> = MutableLiveData(todo.isComplete)
2525
val isSaving: MutableLiveData<Boolean> = MutableLiveData(false)
2626

app/src/main/java/io/github/mrtry/todolist/app/todo/viewmodel/ToDoViewModel.kt

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import io.github.mrtry.todolist.app.todo.ui.navigator.ToDoNavigator
99
import io.github.mrtry.todolist.app.todo.viewmodel.converter.ToDoListItemViewModelConverter
1010
import io.github.mrtry.todolist.di.scope.ActivityScope
1111
import io.github.mrtry.todolist.misc.ui.viewmodel.ToolbarViewModel
12-
import io.github.mrtry.todolist.todo.domainservice.ToDoDomainService
12+
import io.github.mrtry.todolist.task.domainservice.TaskDomainService
1313
import kotlinx.coroutines.CancellationException
1414
import kotlinx.coroutines.CoroutineScope
1515
import kotlinx.coroutines.flow.collect
@@ -23,7 +23,7 @@ class ToDoViewModel
2323
val toolbarViewModel: ToolbarViewModel,
2424
val taskViewModel: TaskViewModel,
2525
private val navigator: ToDoNavigator,
26-
private val toDoDomainService: ToDoDomainService,
26+
private val taskDomainService: TaskDomainService,
2727
private val converter: ToDoListItemViewModelConverter,
2828
private val coroutineScope: CoroutineScope
2929
) : SwipeRefreshLayout.OnRefreshListener {
@@ -40,7 +40,7 @@ class ToDoViewModel
4040
fun load() {
4141
coroutineScope.launch {
4242
try {
43-
toDoDomainService.connectToRepository().collect { todos ->
43+
taskDomainService.connectToRepository().collect { todos ->
4444
items.clear()
4545
todos.map {
4646
items.add(

app/src/main/java/io/github/mrtry/todolist/app/todo/viewmodel/converter/ToDoListItemViewModelConverter.kt

+4-4
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import androidx.lifecycle.LifecycleOwner
44
import io.github.mrtry.todolist.app.todo.ui.navigator.ToDoNavigator
55
import io.github.mrtry.todolist.app.todo.viewmodel.ToDoListItemViewModel
66
import io.github.mrtry.todolist.di.scope.ActivityScope
7-
import io.github.mrtry.todolist.todo.domainservice.ToDoDomainService
8-
import io.github.mrtry.todolist.todo.entity.ToDo
7+
import io.github.mrtry.todolist.task.domainservice.TaskDomainService
8+
import io.github.mrtry.todolist.task.entity.Task
99
import kotlinx.coroutines.CoroutineScope
1010
import javax.inject.Inject
1111

@@ -14,10 +14,10 @@ class ToDoListItemViewModelConverter
1414
@Inject constructor(
1515
private val lifecycleOwner: LifecycleOwner,
1616
private val navigator: ToDoNavigator,
17-
private val domainService: ToDoDomainService,
17+
private val domainService: TaskDomainService,
1818
private val coroutineScope: CoroutineScope
1919
) {
20-
fun convert(entity: ToDo): ToDoListItemViewModel =
20+
fun convert(entity: Task): ToDoListItemViewModel =
2121
ToDoListItemViewModel(
2222
entity,
2323
lifecycleOwner,

app/src/main/java/io/github/mrtry/todolist/todo/domainservice/ToDoDomainService.kt app/src/main/java/io/github/mrtry/todolist/task/domainservice/TaskDomainService.kt

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
1-
package io.github.mrtry.todolist.todo.domainservice
1+
package io.github.mrtry.todolist.task.domainservice
22

33
import com.google.firebase.firestore.FirebaseFirestoreException
4-
import io.github.mrtry.todolist.todo.entity.ToDo
5-
import io.github.mrtry.todolist.todo.repository.ToDoRepository
4+
import io.github.mrtry.todolist.task.entity.Task
5+
import io.github.mrtry.todolist.task.repository.ToDoRepository
66
import kotlinx.coroutines.Dispatchers
77
import kotlinx.coroutines.withContext
88
import javax.inject.Inject
99
import javax.inject.Singleton
1010

1111
@Singleton
12-
class ToDoDomainService
12+
class TaskDomainService
1313
@Inject constructor(
1414
private val repository: ToDoRepository
1515
) {
1616
@Throws(FirebaseFirestoreException::class, IllegalArgumentException::class, IllegalStateException::class)
17-
suspend fun saveToRepository(entity: ToDo) = withContext(Dispatchers.IO) {
17+
suspend fun saveToRepository(entity: Task) = withContext(Dispatchers.IO) {
1818
repository.save(entity)
1919
}
2020

app/src/main/java/io/github/mrtry/todolist/todo/entity/ToDo.kt app/src/main/java/io/github/mrtry/todolist/task/entity/Task.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
package io.github.mrtry.todolist.todo.entity
1+
package io.github.mrtry.todolist.task.entity
22

33
import com.google.firebase.Timestamp
44

5-
data class ToDo(
5+
data class Task(
66
val id: String? = null,
77
var title: String = "",
88
var description: String = "",

app/src/main/java/io/github/mrtry/todolist/todo/repository/ToDoRepository.kt app/src/main/java/io/github/mrtry/todolist/task/repository/TaskRepository.kt

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
package io.github.mrtry.todolist.todo.repository
1+
package io.github.mrtry.todolist.task.repository
22

33
import com.google.firebase.Timestamp
44
import com.google.firebase.firestore.FirebaseFirestore
55
import io.github.mrtry.todolist.misc.extension.await
66
import io.github.mrtry.todolist.misc.extension.getDataFlow
7-
import io.github.mrtry.todolist.todo.entity.ToDo
7+
import io.github.mrtry.todolist.task.entity.Task
88
import kotlinx.coroutines.Dispatchers
99
import kotlinx.coroutines.flow.Flow
1010
import kotlinx.coroutines.withContext
@@ -19,7 +19,7 @@ class ToDoRepository
1919
@Inject constructor() {
2020
private val db = FirebaseFirestore.getInstance()
2121

22-
suspend fun save(entity: ToDo) = withContext(Dispatchers.IO) {
22+
suspend fun save(entity: Task) = withContext(Dispatchers.IO) {
2323
val id = entity.id ?: db.collection(COLLECTION_PATH).document().id
2424
val timestamp = entity.createdAt ?: Timestamp(Date())
2525

@@ -34,11 +34,11 @@ class ToDoRepository
3434
.await()
3535
}
3636

37-
fun connect(): Flow<List<ToDo>> =
37+
fun connect(): Flow<List<Task>> =
3838
db.collection(COLLECTION_PATH)
3939
.getDataFlow { querySnapshot ->
4040
querySnapshot?.documents?.mapNotNull {
41-
it.toObject(ToDo::class.java)
41+
it.toObject(Task::class.java)
4242
}
4343
?.toMutableList()
4444
.also { list -> list?.sortBy { it.createdAt } }

app/src/test/java/io/github/mrtry/todolist/app/todo/viewmodel/TaskViewModelTest.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import com.google.common.truth.Truth.assertThat
55
import com.nhaarman.mockitokotlin2.*
66
import io.github.mrtry.todolist.app.todo.ui.navigator.ToDoNavigator
77
import io.github.mrtry.todolist.misc.extension.requireValue
8-
import io.github.mrtry.todolist.todo.domainservice.ToDoDomainService
8+
import io.github.mrtry.todolist.task.domainservice.TaskDomainService
99
import kotlinx.coroutines.test.TestCoroutineScope
1010
import kotlinx.coroutines.test.runBlockingTest
1111
import org.junit.Before
@@ -21,7 +21,7 @@ class TaskViewModelTest {
2121
private lateinit var viewModel: TaskViewModel
2222

2323
private lateinit var mockNavigator: ToDoNavigator
24-
private lateinit var mockDomainService: ToDoDomainService
24+
private lateinit var mockDomainService: TaskDomainService
2525

2626
@Before
2727
fun setUp() {

app/src/test/java/io/github/mrtry/todolist/app/todo/viewmodel/ToDoViewModelTest.kt

+5-5
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ import io.github.mrtry.todolist.app.todo.ui.navigator.ToDoNavigator
88
import io.github.mrtry.todolist.app.todo.viewmodel.converter.ToDoListItemViewModelConverter
99
import io.github.mrtry.todolist.misc.extension.requireValue
1010
import io.github.mrtry.todolist.misc.ui.viewmodel.ToolbarViewModel
11-
import io.github.mrtry.todolist.todo.domainservice.ToDoDomainService
12-
import io.github.mrtry.todolist.todo.entity.ToDo
11+
import io.github.mrtry.todolist.task.domainservice.TaskDomainService
12+
import io.github.mrtry.todolist.task.entity.Task
1313
import kotlinx.coroutines.flow.Flow
1414
import kotlinx.coroutines.flow.flow
1515
import kotlinx.coroutines.test.TestCoroutineScope
@@ -27,7 +27,7 @@ class ToDoViewModelTest {
2727
private lateinit var viewModel: ToDoViewModel
2828

2929
private lateinit var mockNavigator: ToDoNavigator
30-
private lateinit var mockDomainService: ToDoDomainService
30+
private lateinit var mockDomainService: TaskDomainService
3131
private lateinit var mockConverter: ToDoListItemViewModelConverter
3232

3333
@Before
@@ -50,7 +50,7 @@ class ToDoViewModelTest {
5050

5151
@Test
5252
fun load_success() = runBlockingTest {
53-
val mockFlow: Flow<List<ToDo>> = flow { emit(listOf(mock())) }
53+
val mockFlow: Flow<List<Task>> = flow { emit(listOf(mock())) }
5454
whenever(mockDomainService.connectToRepository()).thenReturn(mockFlow)
5555
whenever(mockConverter.convert(any())).thenReturn(mock())
5656

@@ -70,7 +70,7 @@ class ToDoViewModelTest {
7070

7171
@Test
7272
fun load_empty() = runBlockingTest {
73-
val mockFlow: Flow<List<ToDo>> = flow { emit(listOf()) }
73+
val mockFlow: Flow<List<Task>> = flow { emit(listOf()) }
7474
whenever(mockDomainService.connectToRepository()).thenReturn(mockFlow)
7575

7676
viewModel.load()

0 commit comments

Comments
 (0)