Author: Adam Pioterek <adam.pioterek@protonmail.ch>
bug fixes in favourites
app/src/main/java/ml/adamsprogs/bimba/models/FavouritesAdapter.kt | 18 app/src/main/res/layout/row_favourite.xml | 22 app/src/main/res/values-pl/strings.xml | 1 app/src/main/res/values/strings.xml | 1
diff --git a/app/src/main/java/ml/adamsprogs/bimba/models/FavouritesAdapter.kt b/app/src/main/java/ml/adamsprogs/bimba/models/FavouritesAdapter.kt index 78c540a87e9d72773b8f849b3ddb092bcc2205a9..3ed685e237d97f6e6d15c33d89c0281cbd16b601 100644 --- a/app/src/main/java/ml/adamsprogs/bimba/models/FavouritesAdapter.kt +++ b/app/src/main/java/ml/adamsprogs/bimba/models/FavouritesAdapter.kt @@ -51,7 +51,12 @@ thread { val favourite = favourites[position] holder?.nameTextView?.text = favourite.name - val nextDeparture = favourite.nextDeparture + val nextDeparture: Departure? + try { + nextDeparture = favourite.nextDeparture + } catch (e: ConcurrentModificationException) { + return@thread + } val nextDepartureText: String val nextDepartureLineText: String if (nextDeparture != null) { @@ -94,13 +99,22 @@ } } fun toggleSelected(view: CardView, position: Int) { + growSelected(position) + if (selected[position]) unSelect(view, position) else select(view, position) } + private fun growSelected(position: Int) { + while (position >= selected.size) + selected.add(false) + } + fun select(view: CardView, position: Int) { + growSelected(position) + @Suppress("DEPRECATION") if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) view.setCardBackgroundColor(context.resources.getColor(R.color.colorAccent, null)) @@ -111,6 +125,8 @@ setSelecting() } fun unSelect(view: CardView, position: Int) { + growSelected(position) + val colour = TypedValue() context.theme.resolveAttribute(R.attr.cardBackgroundColor, colour, true) view.setCardBackgroundColor(colour.data) diff --git a/app/src/main/res/layout/row_favourite.xml b/app/src/main/res/layout/row_favourite.xml index 2064150f864e7113664e5d804079bfa3f9a787a5..e2cae1cdc02502bde3c53a7f88fe934c64c36796 100644 --- a/app/src/main/res/layout/row_favourite.xml +++ b/app/src/main/res/layout/row_favourite.xml @@ -26,6 +26,17 @@ tools:layout_editor_absoluteX="16dp" tools:layout_editor_absoluteY="21dp" /> <TextView + android:id="@+id/favourite_time" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/calculating" + android:textAppearance="@style/TextAppearance.AppCompat.Headline" + app:layout_constraintStart_toStartOf="@+id/favourite_line" + app:layout_constraintTop_toBottomOf="@+id/favourite_name" + tools:layout_editor_absoluteX="16dp" + tools:layout_editor_absoluteY="46dp" /> + + <TextView android:id="@+id/favourite_line" android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -38,17 +49,6 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/favourite_time" tools:layout_editor_absoluteX="16dp" tools:layout_editor_absoluteY="78dp" /> - - <TextView - android:id="@+id/favourite_time" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="" - android:textAppearance="@style/TextAppearance.AppCompat.Headline" - app:layout_constraintStart_toStartOf="@+id/favourite_line" - app:layout_constraintTop_toBottomOf="@+id/favourite_name" - tools:layout_editor_absoluteX="16dp" - tools:layout_editor_absoluteY="46dp" /> <ImageView android:id="@+id/favourite_more_button" diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 4cb75f7401f3c1dd4edbd096fbe53e8728b2a17f..6e37f6e97479e45c21c82d72d7d839d13b33ce5a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -35,4 +35,5 @@favourite element split button <string name="no_next_departure">No next departure</string> <string name="action_merge">Merge</string> <string name="merge_favourites">Merge favourites</string> + <string name="calculating">Calculating…</string> </resources> diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index f930b6bd9f6b1b5ae5302629fa927bce24834e8f..9e1de01797f8bd0ba0a78b30af233250cf301f66 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -29,4 +29,5 @@Nazwa ulubionego <string name="no_next_departure">Brak następnego odjazdu</string> <string name="action_merge">Połącz</string> <string name="merge_favourites">Połącz ulubione</string> + <string name="calculating">Obliczam…</string> </resources> \ No newline at end of file