Author: Adam Pioterek <adam.pioterek@protonmail.ch>
deleting elements from favourites
%!v(PANIC=String method: strings: negative Repeat count)
diff --git a/app/src/main/java/ml/adamsprogs/bimba/activities/EditFavouriteActivity.kt b/app/src/main/java/ml/adamsprogs/bimba/activities/EditFavouriteActivity.kt index d5c8a9bf95ccb2c8fb2c0f4c430455abd585f79f..9a044a18bb4329a09eca5bbf1002070d68f604b5 100644 --- a/app/src/main/java/ml/adamsprogs/bimba/activities/EditFavouriteActivity.kt +++ b/app/src/main/java/ml/adamsprogs/bimba/activities/EditFavouriteActivity.kt @@ -41,11 +41,7 @@ nameEdit.setText(favourite!!.name) } override fun onBackPressed() { - val oldName = favourite?.name - val newName = nameEdit.text.toString() - favourites.delete(oldName!!) - favourite?.name = newName - favourites.add(newName, favourite!!) + favourites.rename(favourite?.name!!, nameEdit.text.toString()) super.onBackPressed() } } diff --git a/app/src/main/java/ml/adamsprogs/bimba/models/Favourite.kt b/app/src/main/java/ml/adamsprogs/bimba/models/Favourite.kt index 2b331637014250caf507c243227817d17a194550..559be852132e6749ac6680bd4896cf6cb88e192b 100644 --- a/app/src/main/java/ml/adamsprogs/bimba/models/Favourite.kt +++ b/app/src/main/java/ml/adamsprogs/bimba/models/Favourite.kt @@ -50,6 +50,8 @@ get() = timetables.size var nextDeparture: Departure? = null get() { + if (timetables.isEmpty()) + return null val today: String val tomorrow: String val oneDayDepartures = ArrayList<HashMap<String, ArrayList<Departure>>>() @@ -103,11 +105,7 @@ private set fun delete(stop: String, line: String) { Log.i("ROW", "Favourite deleting $stop, $line") - val element = HashMap<String, String>() - element["stop"] = stop - element["line"] = line - val b = timetables.remove(element) - Log.i("ROW", "$b") + timetables.remove(timetables.find { it["stop"] == stop && it["line"] == line }) Log.i("ROW", timetables.toString()) } diff --git a/app/src/main/java/ml/adamsprogs/bimba/models/FavouriteStorage.kt b/app/src/main/java/ml/adamsprogs/bimba/models/FavouriteStorage.kt index d6556e360d30fed602f6334c8e9c1c2b1ef488af..1ded07c1fc14ec32817c8902b380efc26edb9f70 100644 --- a/app/src/main/java/ml/adamsprogs/bimba/models/FavouriteStorage.kt +++ b/app/src/main/java/ml/adamsprogs/bimba/models/FavouriteStorage.kt @@ -114,4 +114,11 @@ favourites[names[0]] = newFavourite serialize() } + + fun rename(oldName: String, newName: String) { + val favourite = favourites[oldName] ?: return + favourite.name = newName + favourites.remove(oldName) + favourites[newName] = favourite + } } \ No newline at end of file