diff --git a/app/src/main/java/com/macoev/roomsample/MainActivity.kt b/app/src/main/java/com/macoev/roomsample/MainActivity.kt index f289c07..cebdaf9 100644 --- a/app/src/main/java/com/macoev/roomsample/MainActivity.kt +++ b/app/src/main/java/com/macoev/roomsample/MainActivity.kt @@ -15,7 +15,7 @@ import java.time.Duration class MainActivity : AppCompatActivity() { - val model: UserViewModel by viewModels() + private val model: UserViewModel by viewModels() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -38,5 +38,4 @@ class MainActivity : AppCompatActivity() { } } } - } \ No newline at end of file diff --git a/app/src/main/java/com/macoev/roomsample/data/repository/Repository.kt b/app/src/main/java/com/macoev/roomsample/data/repository/Repository.kt index cc0046a..c59533e 100644 --- a/app/src/main/java/com/macoev/roomsample/data/repository/Repository.kt +++ b/app/src/main/java/com/macoev/roomsample/data/repository/Repository.kt @@ -8,9 +8,14 @@ import kotlinx.coroutines.Job interface Repository { fun getAllUsers(): LiveData> + fun insert(vararg users: User): Job? + fun delete(user: User): Job? + fun findBy(name: String): LiveData> + fun findByIds(vararg ids: Int): LiveData> + fun deleteAll() } \ No newline at end of file diff --git a/app/src/main/java/com/macoev/roomsample/data/repository/UserRepository.kt b/app/src/main/java/com/macoev/roomsample/data/repository/UserRepository.kt index e7f6dc9..7012db3 100644 --- a/app/src/main/java/com/macoev/roomsample/data/repository/UserRepository.kt +++ b/app/src/main/java/com/macoev/roomsample/data/repository/UserRepository.kt @@ -5,7 +5,7 @@ import com.macoev.roomsample.data.UserDao import kotlinx.coroutines.* class UserRepository(private val dao: UserDao) : Repository { - private val scope get() = CoroutineScope(Job() + Dispatchers.IO) + private val scope = CoroutineScope(Job() + Dispatchers.IO) override fun getAllUsers() = dao.getAll() diff --git a/app/src/main/java/com/macoev/roomsample/viewmodel/UserViewModel.kt b/app/src/main/java/com/macoev/roomsample/viewmodel/UserViewModel.kt index 14ba73c..8973577 100644 --- a/app/src/main/java/com/macoev/roomsample/viewmodel/UserViewModel.kt +++ b/app/src/main/java/com/macoev/roomsample/viewmodel/UserViewModel.kt @@ -8,7 +8,9 @@ import com.macoev.roomsample.data.User import com.macoev.roomsample.data.repository.Repository class UserViewModel(application: Application) : AndroidViewModel(application) { + private var repository: Repository = RepositoryLocator.get(application) + var adapter: UserAdapter = UserAdapter(repository) fun getAllUsers() = repository.getAllUsers() @@ -22,5 +24,4 @@ class UserViewModel(application: Application) : AndroidViewModel(application) { fun findBy(name: String) = repository.findBy(name) fun findById(vararg ids: Int) = repository.findByIds(*ids) - } \ No newline at end of file diff --git a/app/src/test/java/com/macoev/roomsample/UserViewModelTest.kt b/app/src/test/java/com/macoev/roomsample/UserViewModelTest.kt index acc7973..d0c2276 100644 --- a/app/src/test/java/com/macoev/roomsample/UserViewModelTest.kt +++ b/app/src/test/java/com/macoev/roomsample/UserViewModelTest.kt @@ -44,7 +44,7 @@ class UserViewModelTest { } @After - fun removeAllUser_dataLoaded() = runBlockingTest { + fun removeAllUser() = runBlockingTest { userViewModel.deleteAll() } } \ No newline at end of file