kopia lustrzana https://github.com/meshtastic/Meshtastic-Android
fix: edit map marker only when connected
rodzic
189159c293
commit
84c85a8c3e
|
@ -273,8 +273,7 @@ class MapFragment : ScreenFragment("Map Fragment"), Logging {
|
||||||
return DialogBuilder(builder, nameInput, descInput, lockedSwitch)
|
return DialogBuilder(builder, nameInput, descInput, lockedSwitch)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun showDeleteMarkerDialog(id: Int) {
|
private fun showDeleteMarkerDialog(waypoint: Waypoint) {
|
||||||
val waypoint = waypoints[id]
|
|
||||||
val builder = MaterialAlertDialogBuilder(requireContext())
|
val builder = MaterialAlertDialogBuilder(requireContext())
|
||||||
builder.setTitle(R.string.waypoint_delete)
|
builder.setTitle(R.string.waypoint_delete)
|
||||||
builder.setNeutralButton(R.string.cancel) { _, _ ->
|
builder.setNeutralButton(R.string.cancel) { _, _ ->
|
||||||
|
@ -282,13 +281,13 @@ class MapFragment : ScreenFragment("Map Fragment"), Logging {
|
||||||
}
|
}
|
||||||
builder.setNegativeButton(R.string.delete_for_me) { _, _ ->
|
builder.setNegativeButton(R.string.delete_for_me) { _, _ ->
|
||||||
debug("User deleted waypoint $id for me")
|
debug("User deleted waypoint $id for me")
|
||||||
model.deleteWaypoint(id)
|
model.deleteWaypoint(waypoint.id)
|
||||||
}
|
}
|
||||||
if (waypoint != null && waypoint.lockedTo in setOf(0, model.myNodeNum ?: 0))
|
if (waypoint.lockedTo in setOf(0, model.myNodeNum ?: 0) && model.isConnected())
|
||||||
builder.setPositiveButton(R.string.delete_for_everyone) { _, _ ->
|
builder.setPositiveButton(R.string.delete_for_everyone) { _, _ ->
|
||||||
debug("User deleted waypoint $id for everyone")
|
debug("User deleted waypoint $id for everyone")
|
||||||
model.sendWaypoint(waypoint.copy { expire = 1 })
|
model.sendWaypoint(waypoint.copy { expire = 1 })
|
||||||
model.deleteWaypoint(id)
|
model.deleteWaypoint(waypoint.id)
|
||||||
}
|
}
|
||||||
val dialog = builder.show()
|
val dialog = builder.show()
|
||||||
for (button in setOf(
|
for (button in setOf(
|
||||||
|
@ -309,7 +308,7 @@ class MapFragment : ScreenFragment("Map Fragment"), Logging {
|
||||||
}
|
}
|
||||||
dialog.builder.setNegativeButton(R.string.delete) { _, _ ->
|
dialog.builder.setNegativeButton(R.string.delete) { _, _ ->
|
||||||
debug("User clicked delete waypoint ${waypoint.id}")
|
debug("User clicked delete waypoint ${waypoint.id}")
|
||||||
showDeleteMarkerDialog(waypoint.id)
|
showDeleteMarkerDialog(waypoint)
|
||||||
}
|
}
|
||||||
dialog.builder.setPositiveButton(getString(R.string.send)) { _, _ ->
|
dialog.builder.setPositiveButton(getString(R.string.send)) { _, _ ->
|
||||||
debug("User edited waypoint ${waypoint.id}")
|
debug("User edited waypoint ${waypoint.id}")
|
||||||
|
@ -325,12 +324,12 @@ class MapFragment : ScreenFragment("Map Fragment"), Logging {
|
||||||
|
|
||||||
fun showMarkerLongPressDialog(id: Int) {
|
fun showMarkerLongPressDialog(id: Int) {
|
||||||
debug("marker long pressed id=${id}")
|
debug("marker long pressed id=${id}")
|
||||||
val waypoint = waypoints[id]
|
val waypoint = waypoints[id] ?: return
|
||||||
// edit only when unlocked or lockedTo myNodeNum
|
// edit only when unlocked or lockedTo myNodeNum
|
||||||
if (waypoint != null && waypoint.lockedTo in setOf(0, model.myNodeNum ?: 0))
|
if (waypoint.lockedTo in setOf(0, model.myNodeNum ?: 0) && model.isConnected())
|
||||||
showEditMarkerDialog(waypoint)
|
showEditMarkerDialog(waypoint)
|
||||||
else
|
else
|
||||||
showDeleteMarkerDialog(id)
|
showDeleteMarkerDialog(waypoint)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun downloadJobAlert() {
|
private fun downloadJobAlert() {
|
||||||
|
|
Ładowanie…
Reference in New Issue