From e96160ad7db1923096bf4d9c91e52c2392e6d603 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9A=D0=B0=D1=88=D0=B8=D0=BD=20=D0=9C=D0=B0=D0=BA=D1=81?= =?UTF-8?q?=D0=B8=D0=BC?= Date: Fri, 24 Nov 2023 17:38:41 +0400 Subject: [PATCH] =?UTF-8?q?=D0=92=D1=8B=D0=BD=D0=B5=D1=81=20factory?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../labwork/button_navigation/SlideGraph.kt | 4 ++-- .../labwork/repository/BicycleRepository.kt | 8 -------- .../example/labwork/repository/UserRepository.kt | 8 -------- .../viewmodel/factory/BicycleViewModelFactory.kt | 15 +++++++++++++++ .../viewmodel/factory/UserViewModelFactory.kt | 15 +++++++++++++++ 5 files changed, 32 insertions(+), 18 deletions(-) create mode 100644 app/src/main/java/com/example/labwork/viewmodel/factory/BicycleViewModelFactory.kt create mode 100644 app/src/main/java/com/example/labwork/viewmodel/factory/UserViewModelFactory.kt diff --git a/app/src/main/java/com/example/labwork/button_navigation/SlideGraph.kt b/app/src/main/java/com/example/labwork/button_navigation/SlideGraph.kt index ddf2027..318a5c8 100644 --- a/app/src/main/java/com/example/labwork/button_navigation/SlideGraph.kt +++ b/app/src/main/java/com/example/labwork/button_navigation/SlideGraph.kt @@ -9,11 +9,11 @@ import androidx.navigation.compose.composable import com.example.labwork.database.DAO.BicycleDao import com.example.labwork.database.DAO.UserDao import com.example.labwork.repository.BicycleRepository -import com.example.labwork.repository.BicycleViewModelFactory import com.example.labwork.repository.UserRepository -import com.example.labwork.repository.UserViewModelFactory import com.example.labwork.viewmodel.BicycleViewModel import com.example.labwork.viewmodel.UserViewModel +import com.example.labwork.viewmodel.factory.BicycleViewModelFactory +import com.example.labwork.viewmodel.factory.UserViewModelFactory @Composable diff --git a/app/src/main/java/com/example/labwork/repository/BicycleRepository.kt b/app/src/main/java/com/example/labwork/repository/BicycleRepository.kt index 004fbf8..643d863 100644 --- a/app/src/main/java/com/example/labwork/repository/BicycleRepository.kt +++ b/app/src/main/java/com/example/labwork/repository/BicycleRepository.kt @@ -35,12 +35,4 @@ class BicycleRepository(private val bicycleDao: BicycleDao) { } } -class BicycleViewModelFactory(private val bicycleRepository: BicycleRepository): ViewModelProvider.Factory { - override fun create(modelClass: Class): T { - if (modelClass.isAssignableFrom(BicycleViewModel::class.java)) { - return BicycleViewModel(bicycleRepository) as T - } - throw IllegalArgumentException("Unknown ViewModel class") - } -} diff --git a/app/src/main/java/com/example/labwork/repository/UserRepository.kt b/app/src/main/java/com/example/labwork/repository/UserRepository.kt index 94d3c69..de815e5 100644 --- a/app/src/main/java/com/example/labwork/repository/UserRepository.kt +++ b/app/src/main/java/com/example/labwork/repository/UserRepository.kt @@ -36,11 +36,3 @@ class UserRepository(private val userDao: UserDao) { } } -class UserViewModelFactory(private val userRepository: UserRepository): ViewModelProvider.Factory { - override fun create(modelClass: Class): T { - if (modelClass.isAssignableFrom(UserViewModel::class.java)) { - return UserViewModel(userRepository) as T - } - throw IllegalArgumentException("Unknown ViewModel class") - } -} diff --git a/app/src/main/java/com/example/labwork/viewmodel/factory/BicycleViewModelFactory.kt b/app/src/main/java/com/example/labwork/viewmodel/factory/BicycleViewModelFactory.kt new file mode 100644 index 0000000..4ef11ba --- /dev/null +++ b/app/src/main/java/com/example/labwork/viewmodel/factory/BicycleViewModelFactory.kt @@ -0,0 +1,15 @@ +package com.example.labwork.viewmodel.factory + +import androidx.lifecycle.ViewModel +import androidx.lifecycle.ViewModelProvider +import com.example.labwork.repository.BicycleRepository +import com.example.labwork.viewmodel.BicycleViewModel + +class BicycleViewModelFactory(private val bicycleRepository: BicycleRepository): ViewModelProvider.Factory { + override fun create(modelClass: Class): T { + if (modelClass.isAssignableFrom(BicycleViewModel::class.java)) { + return BicycleViewModel(bicycleRepository) as T + } + throw IllegalArgumentException("Unknown ViewModel class") + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/labwork/viewmodel/factory/UserViewModelFactory.kt b/app/src/main/java/com/example/labwork/viewmodel/factory/UserViewModelFactory.kt new file mode 100644 index 0000000..b2096f0 --- /dev/null +++ b/app/src/main/java/com/example/labwork/viewmodel/factory/UserViewModelFactory.kt @@ -0,0 +1,15 @@ +package com.example.labwork.viewmodel.factory + +import androidx.lifecycle.ViewModel +import androidx.lifecycle.ViewModelProvider +import com.example.labwork.repository.UserRepository +import com.example.labwork.viewmodel.UserViewModel + +class UserViewModelFactory(private val userRepository: UserRepository): ViewModelProvider.Factory { + override fun create(modelClass: Class): T { + if (modelClass.isAssignableFrom(UserViewModel::class.java)) { + return UserViewModel(userRepository) as T + } + throw IllegalArgumentException("Unknown ViewModel class") + } +} \ No newline at end of file