лаба 5 (пока не проверяла)

This commit is contained in:
2023-12-27 20:00:30 +04:00
parent f511a40eee
commit 781b63f289
7 changed files with 57 additions and 24 deletions

View File

@@ -6,7 +6,7 @@ import androidx.paging.Pager
import androidx.paging.PagingConfig
import androidx.paging.PagingData
import com.example.android_genshin.api.MyServerService
import com.example.android_genshin.database.AppDataContainer
import com.example.android_genshin.database.AppContainer
import com.example.android_genshin.database.AppDatabase
import com.example.android_genshin.database.entities.model.Character
import com.example.android_genshin.database.entities.model.CharacterWithRarities
@@ -37,7 +37,7 @@ class RestCharacterRepository(
@OptIn(ExperimentalPagingApi::class)
return Pager(
config = PagingConfig(
pageSize = AppDataContainer.LIMIT,
pageSize = AppContainer.LIMIT,
enablePlaceholders = false
),
remoteMediator = CharacterRemoteMediator(

View File

@@ -6,7 +6,7 @@ import androidx.paging.Pager
import androidx.paging.PagingConfig
import androidx.paging.PagingData
import com.example.android_genshin.api.MyServerService
import com.example.android_genshin.database.AppDataContainer
import com.example.android_genshin.database.AppContainer
import com.example.android_genshin.database.AppDatabase
import com.example.android_genshin.database.entities.model.Rarity
import com.example.android_genshin.database.entities.repository.OfflineCharacterRarityRepository
@@ -30,7 +30,7 @@ class RestRarityRepository(
@OptIn(ExperimentalPagingApi::class)
return Pager(
config = PagingConfig(
pageSize = AppDataContainer.LIMIT,
pageSize = AppContainer.LIMIT,
enablePlaceholders = false
),
remoteMediator = RarityRemoteMediator(

View File

@@ -6,7 +6,7 @@ import androidx.paging.Pager
import androidx.paging.PagingConfig
import androidx.paging.PagingData
import com.example.android_genshin.api.MyServerService
import com.example.android_genshin.database.AppDataContainer
import com.example.android_genshin.database.AppContainer
import com.example.android_genshin.database.AppDatabase
import com.example.android_genshin.database.entities.model.Vision
import com.example.android_genshin.database.entities.repository.OfflineCharacterVisionRepository
@@ -30,7 +30,7 @@ class RestVisionRepository(
@OptIn(ExperimentalPagingApi::class)
return Pager(
config = PagingConfig(
pageSize = AppDataContainer.LIMIT,
pageSize = AppContainer.LIMIT,
enablePlaceholders = false
),
remoteMediator = VisionRemoteMediator(

View File

@@ -6,7 +6,7 @@ import androidx.paging.Pager
import androidx.paging.PagingConfig
import androidx.paging.PagingData
import com.example.android_genshin.api.MyServerService
import com.example.android_genshin.database.AppDataContainer
import com.example.android_genshin.database.AppContainer
import com.example.android_genshin.database.AppDatabase
import com.example.android_genshin.database.entities.model.Weapon
import com.example.android_genshin.database.entities.repository.OfflineCharacterWeaponRepository
@@ -30,7 +30,7 @@ class RestWeaponRepository(
@OptIn(ExperimentalPagingApi::class)
return Pager(
config = PagingConfig(
pageSize = AppDataContainer.LIMIT,
pageSize = AppContainer.LIMIT,
enablePlaceholders = false
),
remoteMediator = WeaponRemoteMediator(

View File

@@ -10,54 +10,54 @@ import com.example.android_genshin.GenshinApplication
object AppViewModelProvider {
val Factory = viewModelFactory {
initializer {
RarityListViewModel(genshinApplication().container.rarityRepository)
RarityListViewModel(genshinApplication().container.rarityRestRepository)
}
initializer {
RarityEditViewModel(this.createSavedStateHandle(),
genshinApplication().container.rarityRepository)
genshinApplication().container.rarityRestRepository)
}
initializer {
VisionListViewModel(genshinApplication().container.visionRepository)
VisionListViewModel(genshinApplication().container.visionRestRepository)
}
initializer {
WeaponListViewModel(genshinApplication().container.weaponRepository)
WeaponListViewModel(genshinApplication().container.weaponRestRepository)
}
initializer {
WeaponEditViewModel(this.createSavedStateHandle(),
genshinApplication().container.weaponRepository)
genshinApplication().container.weaponRestRepository)
}
initializer {
WeaponViewModel(this.createSavedStateHandle(),
genshinApplication().container.weaponRepository)
genshinApplication().container.weaponRestRepository)
}
initializer {
CharacterListViewModel(
genshinApplication().container.characterRepository
genshinApplication().container.characterRestRepository
)
}
initializer {
CharacterViewModel( this.createSavedStateHandle(),
genshinApplication().container.characterRepository,
genshinApplication().container.characterRarityRepository,
genshinApplication().container.characterVisionRepository,
genshinApplication().container.characterWeaponRepository
genshinApplication().container.characterRestRepository,
genshinApplication().container.characterRarityRestRepository,
genshinApplication().container.characterVisionRestRepository,
genshinApplication().container.characterWeaponRestRepository
)
}
initializer {
CharacterEditViewModel(this.createSavedStateHandle(),
genshinApplication().container.characterRepository)
genshinApplication().container.characterRestRepository)
}
initializer {
RarityDropDownViewModel(
genshinApplication().container.rarityRepository)
genshinApplication().container.rarityRestRepository)
}
initializer {
VisionDropDownViewModel(
genshinApplication().container.visionRepository)
genshinApplication().container.visionRestRepository)
}
initializer {
WeaponDropDownViewModel(
genshinApplication().container.weaponRepository)
genshinApplication().container.weaponRestRepository)
}
}
}

33
server/data.json Normal file
View File

@@ -0,0 +1,33 @@
{
"rarities": [
{
"rarityId": 1,
"rarityName": "Epic"
},
{
"rarityId": 2,
"rarityName": "Legendary"
}
],
"visions": [
{
"visionId": 1,
"visionName": "Anemo"
},
{
"visionId": 2,
"visionName": "Electro"
},
{
"visionId": 1,
"visionName": "Geo"
}
],
"users": [
{
"userId": 1,
"login": "Login 1",
"password": "password1"
}
]
}

View File

@@ -2,7 +2,7 @@
"name": "fake-db",
"version": "1.0.0",
"scripts": {
"start": "json-server --watch data.json --host 0.0.0.0 -p 8079"
"start": "json-server --watch data.json --host 192.168.0.101 -p 8079"
},
"dependencies": {
},