Skip to content

Commit 70e2cf0

Browse files
author
Daniel García
committed
[Added] some pic for mock view
1 parent 883126e commit 70e2cf0

File tree

14 files changed

+52
-8
lines changed

14 files changed

+52
-8
lines changed

app/src/main/java/com/tripletres/platformscience/ui/model/DriverItem.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,6 @@ data class DriverItem(
77
val id: Long,
88
val name: String,
99
val shipmentItem: ShipmentItem?,
10-
val ss: Float?
10+
val ss: Float?,
11+
val profilePic: Int? = 0
1112
)

app/src/main/java/com/tripletres/platformscience/ui/view/driver/DriverListScreen.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ fun DriverItemView(driver: DriverItem, onPressed: (id: Long) -> Unit) {
125125
}
126126

127127
Image(
128-
painter = painterResource(id = R.drawable.ic_man),
128+
painter = painterResource(id = driver.profilePic ?: R.drawable.ic_man),
129129
contentDescription = "",
130130
modifier = Modifier
131131
.width(80.dp)

app/src/main/java/com/tripletres/platformscience/ui/view/driver/DriverListViewModel.kt

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,10 @@ package com.tripletres.platformscience.ui.view.driver
22

33
import androidx.lifecycle.ViewModel
44
import androidx.lifecycle.viewModelScope
5-
import com.tripletres.platformscience.data.db.driver.DriverEntity
6-
import com.tripletres.platformscience.data.repo.DriverRepository
75
import com.tripletres.platformscience.domain.GetAssignedDriversToShipmentsUseCase
86
import com.tripletres.platformscience.ui.model.DriverItem
97
import com.tripletres.platformscience.ui.model.asDriverItemList
8+
import com.tripletres.platformscience.util.ProfileUtil
109
import dagger.hilt.android.lifecycle.HiltViewModel
1110
import kotlinx.coroutines.Dispatchers
1211
import kotlinx.coroutines.flow.MutableStateFlow
@@ -21,23 +20,27 @@ import javax.inject.Inject
2120
@HiltViewModel
2221
class DriverListViewModel @Inject constructor(
2322
private val getAssignedDriversToShipmentsUseCase: GetAssignedDriversToShipmentsUseCase
24-
): ViewModel() {
23+
) : ViewModel() {
2524
private val _uiState = MutableStateFlow(DriverListUiState())
2625
val uiState = _uiState.asStateFlow()
2726

2827
fun loadDriverList() {
2928
viewModelScope.launch(Dispatchers.IO) {
3029
updateLoading(true)
3130
val drivers = getAssignedDriversToShipmentsUseCase().asDriverItemList()
32-
if(drivers.isNotEmpty()) {
33-
updateDriverList(drivers)
31+
if (drivers.isNotEmpty()) {
32+
updateDriverList(beautifyProfile(drivers))
3433
updateLoading(false)
3534
}
3635
}
3736
}
3837

38+
private fun beautifyProfile(drivers: List<DriverItem>): List<DriverItem> {
39+
return drivers.mapIndexed { i, it -> it.copy(profilePic = ProfileUtil.getByIndex(i)) }
40+
}
41+
3942
private fun updateDriverList(drivers: List<DriverItem>) {
40-
_uiState.update{
43+
_uiState.update {
4144
it.copy(
4245
drivers = drivers
4346
)
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package com.tripletres.platformscience.util
2+
3+
import com.tripletres.platformscience.R
4+
5+
/**
6+
* Profile utility
7+
*/
8+
object ProfileUtil {
9+
private val pics = listOf(
10+
R.drawable.ic_man,
11+
R.drawable.ic_man_1,
12+
R.drawable.ic_man_2,
13+
R.drawable.ic_woman_2,
14+
R.drawable.ic_woman_3,
15+
R.drawable.ic_man_3,
16+
R.drawable.ic_man_4,
17+
R.drawable.ic_man_5,
18+
R.drawable.ic_woman_1,
19+
R.drawable.ic_woman_4,
20+
R.drawable.ic_woman_5,
21+
R.drawable.ic_man,
22+
R.drawable.ic_man_1,
23+
R.drawable.ic_man_2,
24+
R.drawable.ic_man_3,
25+
)
26+
27+
/**
28+
* Just get a random pic from drawable list
29+
*/
30+
fun getRandomPic(): Int = pics.random()
31+
32+
/**
33+
* Single pic by index
34+
*/
35+
fun getByIndex(index: Int): Int {
36+
return if (index < pics.size) {
37+
pics[index]
38+
} else pics[0]
39+
}
40+
}
4.66 KB
Loading
6.36 KB
Loading
5.48 KB
Loading
2.78 KB
Loading
4.63 KB
Loading
4.19 KB
Loading
4.97 KB
Loading
3.94 KB
Loading
7.35 KB
Loading
3.46 KB
Loading

0 commit comments

Comments
 (0)