Skip to content

Commit

Permalink
Fix editing of cards
Browse files Browse the repository at this point in the history
  • Loading branch information
andras-adam committed Oct 13, 2022
1 parent a24bcd3 commit 8d2ac1c
Show file tree
Hide file tree
Showing 6 changed files with 28 additions and 42 deletions.
4 changes: 2 additions & 2 deletions app/src/main/java/com/virtualtag/app/db/CardDAO.kt
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ interface CardDao {
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun addCard(card: Card)

@Update
fun updateCard(card: Card)
@Query("UPDATE card SET name = :name, color = :color WHERE card.id = :id")
fun updateCard(id: String, name: String, color: String)

@Delete
fun deleteCard(card: Card)
Expand Down
8 changes: 4 additions & 4 deletions app/src/main/java/com/virtualtag/app/ui/screens/CardScreen.kt
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ fun CardScreen(
}
},
actions = {
IconButton(onClick = { editCard(card.value?.id ?: "0") }) {
IconButton(onClick = { editCard(card.value?.id ?: "") }) {
Icon(Icons.Filled.Edit, null)
}
IconButton(onClick = { deleteDialogOpen = true }) {
Expand All @@ -74,7 +74,7 @@ fun CardScreen(
} else if (card.value?.techList?.contains(MifareUltralight::class.java.name) == true) {
MifareUltralightView(card = card.value!!)
} else {
Text("The card is not supported.")
Text(stringResource(R.string.not_supported))
}
}
}
Expand Down Expand Up @@ -111,12 +111,12 @@ fun CardScreen(
)
}, confirmButton = {
SecondaryButton(
text = "Cancel",
text = stringResource(R.string.cancel),
onClick = { deleteDialogOpen = false }, modifier = Modifier.padding(top = 4.dp)
)
}, dismissButton = {
PrimaryButton(
text = "OK",
text = stringResource(R.string.delete),
onClick = {
model.deleteCard(card.value!!)
deleteDialogOpen = false
Expand Down
51 changes: 17 additions & 34 deletions app/src/main/java/com/virtualtag/app/ui/screens/EditScreen.kt
Original file line number Diff line number Diff line change
Expand Up @@ -24,34 +24,25 @@ import com.virtualtag.app.utils.stringToColor
@Composable
fun EditScreen(model: CardViewModel, id: String, goBack: () -> Unit, goHome: () -> Unit) {
val context = LocalContext.current
val card =
model.getCardById(id)
.observeAsState(
Card(
id = "0",
name = "",
color = "#fff8f8f8",
techList = ""
)
)
val card = model.getCardById(id).observeAsState(null)

var name by remember { mutableStateOf("") }
var color by remember { mutableStateOf(colorToString(cardBackGroundColors[0])) }

LaunchedEffect(key1 = card.value) {
if (card.value.id == "0") return@LaunchedEffect
name = card.value.name
color = card.value.color
if (card.value == null) return@LaunchedEffect
name = card.value!!.name
color = card.value!!.color
}

fun editCardInDb() {
model.updateCard(Card(id = card.value.id, name = name, color = color, techList = ""))
Toast.makeText(
context,
context.getString(R.string.card_updated_success),
Toast.LENGTH_SHORT
)
.show()
if (card.value == null) return
if (name == "") {
Toast.makeText(context, context.getString(R.string.empty_name_error), Toast.LENGTH_SHORT).show()
return
}
model.updateCard(card.value!!.id, name, color)
Toast.makeText(context, context.getString(R.string.card_updated_success), Toast.LENGTH_SHORT).show()
goHome()
}

Expand All @@ -61,10 +52,7 @@ fun EditScreen(model: CardViewModel, id: String, goBack: () -> Unit, goHome: ()
title = { Text(stringResource(R.string.edit)) },
navigationIcon = {
IconButton(onClick = goBack) {
Icon(
Icons.Filled.ArrowBack,
null
)
Icon(Icons.Filled.ArrowBack, null)
}
}
)
Expand Down Expand Up @@ -117,16 +105,11 @@ fun EditScreen(model: CardViewModel, id: String, goBack: () -> Unit, goHome: ()
.weight(1f)
.padding(start = 4.dp)
) {
PrimaryButton(text = "Ok", onClick = {
if (name == "") {
return@PrimaryButton Toast.makeText(
context,
context.getString(R.string.empty_name_error),
Toast.LENGTH_SHORT
).show()
}
editCardInDb()
}, modifier = Modifier.padding(top = 8.dp, bottom = 8.dp))
PrimaryButton(
text = stringResource(R.string.ok),
onClick = { editCardInDb() },
modifier = Modifier.padding(top = 8.dp, bottom = 8.dp)
)
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ class CardViewModel(application: Application) : ViewModel() {
}
}

fun updateCard(card: Card) {
fun updateCard(id: String, name: String, color: String) {
CoroutineScope(Dispatchers.IO).launch {
cardDB.cardDao().updateCard(card)
cardDB.cardDao().updateCard(id, name, color)
}
}

Expand Down
1 change: 1 addition & 0 deletions app/src/main/res/values-hu/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,5 @@
<string name="mem_page">Memória oldal</string>
<string name="bytes">bájt</string>
<string name="ms">ms</string>
<string name="not_supported">Ez a kártya nem támogatott.</string>
</resources>
2 changes: 2 additions & 0 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,6 @@
<string name="mem_page">Memory page</string>
<string name="ms">ms</string>
<string name="bytes">bytes</string>
<string name="not_supported">The card is not supported.</string>
<string name="ok" translatable="false">OK</string>
</resources>

0 comments on commit 8d2ac1c

Please sign in to comment.