From 3f31c3eded44de2df8989c0868a0d1f8559874b8 Mon Sep 17 00:00:00 2001 From: neslihanturan Date: Thu, 21 May 2020 13:58:27 +0300 Subject: [PATCH] Add bookmarks to Nearby map (#3728) * Remove bookmark button from row button set and put to upper level list item * Fix npe caused by lookinf for parent fragment, we don't have one anymore * style * Add new icons for bookmarked places * Change bookmarked info when bookmarked * Add pic field to bookmark dao so that we can retrieve them later * Put bookmarks as the first item of list * Add bookmark as a label * Add logic to filter nearby * remove unneeded changes * fix word * Remove logs * Remove unused part of code * Fix tests * Remove logs * simplify icon picking * remove redundant margin left * Remove non needed map and swap * Add main thread annotation * Fix tests --- .../locations/BookmarkLocationsDao.java | 6 ++- .../fr/free/nrw/commons/nearby/Label.java | 7 +++ .../nrw/commons/nearby/NearbyController.java | 47 +++++++------------ ...NearbyFilterSearchRecyclerViewAdapter.java | 1 + .../nrw/commons/nearby/PlaceRenderer.java | 9 ++-- .../fragments/NearbyParentFragment.java | 45 ++++++++++-------- .../NearbyParentFragmentPresenter.java | 5 +- .../ic_custom_map_marker_blue_bookmarked.xml | 29 ++++++++++++ .../ic_custom_map_marker_green_bookmarked.xml | 29 ++++++++++++ .../ic_custom_map_marker_grey_bookmarked.xml | 29 ++++++++++++ app/src/main/res/layout/item_place.xml | 10 +++- app/src/main/res/layout/nearby_row_button.xml | 28 ----------- .../locations/BookMarkLocationDaoTest.kt | 6 ++- 13 files changed, 161 insertions(+), 90 deletions(-) create mode 100644 app/src/main/res/drawable/ic_custom_map_marker_blue_bookmarked.xml create mode 100644 app/src/main/res/drawable/ic_custom_map_marker_green_bookmarked.xml create mode 100644 app/src/main/res/drawable/ic_custom_map_marker_grey_bookmarked.xml diff --git a/app/src/main/java/fr/free/nrw/commons/bookmarks/locations/BookmarkLocationsDao.java b/app/src/main/java/fr/free/nrw/commons/bookmarks/locations/BookmarkLocationsDao.java index 3efef06d4..610f1d30e 100644 --- a/app/src/main/java/fr/free/nrw/commons/bookmarks/locations/BookmarkLocationsDao.java +++ b/app/src/main/java/fr/free/nrw/commons/bookmarks/locations/BookmarkLocationsDao.java @@ -9,6 +9,7 @@ import android.os.RemoteException; import androidx.annotation.NonNull; +import fr.free.nrw.commons.nearby.NearbyController; import java.util.ArrayList; import java.util.List; @@ -74,8 +75,10 @@ public class BookmarkLocationsDao { boolean bookmarkExists = findBookmarkLocation(bookmarkLocation); if (bookmarkExists) { deleteBookmarkLocation(bookmarkLocation); + NearbyController.updateMarkerLabelListBookmark(bookmarkLocation, false); } else { addBookmarkLocation(bookmarkLocation); + NearbyController.updateMarkerLabelListBookmark(bookmarkLocation, true); } return !bookmarkExists; } @@ -160,10 +163,9 @@ public class BookmarkLocationsDao { location, cursor.getString(cursor.getColumnIndex(Table.COLUMN_CATEGORY)), builder.build(), - null, + cursor.getString(cursor.getColumnIndex(Table.COLUMN_PIC)), null ); - // TODO: add pic and destroyed to bookmark location dao } private ContentValues toContentValues(Place bookmarkLocation) { diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/Label.java b/app/src/main/java/fr/free/nrw/commons/nearby/Label.java index ac939f5da..19c175fd8 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/Label.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/Label.java @@ -4,7 +4,9 @@ import android.os.Parcel; import androidx.annotation.DrawableRes; +import java.util.Arrays; import java.util.HashMap; +import java.util.List; import java.util.Map; import fr.free.nrw.commons.R; @@ -17,6 +19,7 @@ import fr.free.nrw.commons.R; */ public enum Label { + BOOKMARKS("BOOKMARK", R.drawable.ic_filled_star_24dp), BUILDING("Q41176", R.drawable.round_icon_generic_building), HOUSE("Q3947", R.drawable.round_icon_house), COTTAGE("Q5783996", R.drawable.round_icon_house), @@ -92,4 +95,8 @@ public enum Label { Label label = TEXT_TO_DESCRIPTION.get(text); return label == null ? UNKNOWN : label; } + + public static List