From ca35b5e544c13f87b2766d420b3089f9fefa7216 Mon Sep 17 00:00:00 2001 From: misaochan Date: Sun, 31 Dec 2017 02:08:11 +1000 Subject: [PATCH 1/4] Return longDescription instead of description --- .../java/fr/free/nrw/commons/nearby/NearbyInfoDialog.java | 2 +- app/src/main/java/fr/free/nrw/commons/nearby/Place.java | 4 ++++ .../main/java/fr/free/nrw/commons/nearby/PlaceRenderer.java | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyInfoDialog.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyInfoDialog.java index 2e677f33d..b383fd9b9 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyInfoDialog.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyInfoDialog.java @@ -109,7 +109,7 @@ public class NearbyInfoDialog extends OverlayDialog { NearbyInfoDialog mDialog = new NearbyInfoDialog(); Bundle bundle = new Bundle(); bundle.putString(ARG_TITLE, place.name); - bundle.putString(ARG_DESC, place.getDescription().getText()); + bundle.putString(ARG_DESC, place.getLongDescription()); bundle.putDouble(ARG_LATITUDE, place.location.getLatitude()); bundle.putDouble(ARG_LONGITUDE, place.location.getLongitude()); bundle.putParcelable(ARG_SITE_LINK, place.siteLinks); diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/Place.java b/app/src/main/java/fr/free/nrw/commons/nearby/Place.java index 428fcf6de..f83e01c99 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/Place.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/Place.java @@ -38,6 +38,10 @@ public class Place { return description; } + public String getLongDescription() { + return longDescription; + } + public void setDistance(String distance) { this.distance = distance; } diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/PlaceRenderer.java b/app/src/main/java/fr/free/nrw/commons/nearby/PlaceRenderer.java index f4c8a5d61..ae34d55b9 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/PlaceRenderer.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/PlaceRenderer.java @@ -43,7 +43,7 @@ class PlaceRenderer extends Renderer { public void render() { Place place = getContent(); tvName.setText(place.name); - String descriptionText = place.getDescription().getText(); + String descriptionText = place.getLongDescription(); if (descriptionText.equals("?")) { descriptionText = getContext().getString(R.string.no_description_found); } From 548e2a7ab8880d683248edf5d9a464b33a3e7e41 Mon Sep 17 00:00:00 2001 From: misaochan Date: Sun, 31 Dec 2017 02:21:55 +1000 Subject: [PATCH 2/4] Rename Description to Label --- .../free/nrw/commons/nearby/NearbyPlaces.java | 4 +-- .../fr/free/nrw/commons/nearby/Place.java | 28 +++++++++---------- .../nrw/commons/nearby/PlaceRenderer.java | 2 +- .../nearby/NearbyAdapterFactoryTest.java | 4 +-- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyPlaces.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyPlaces.java index de14a2ef8..9e06812ba 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyPlaces.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyPlaces.java @@ -126,7 +126,7 @@ public class NearbyPlaces { places.add(new Place( name, - Place.Description.fromText(type), // list + Place.Label.fromText(type), // list type, // details Uri.parse(icon), new LatLng(latitude, longitude, 0), @@ -188,7 +188,7 @@ public class NearbyPlaces { places.add(new Place( name, - Place.Description.fromText(type), // list + Place.Label.fromText(type), // list type, // details null, new LatLng(latitude, longitude, 0), diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/Place.java b/app/src/main/java/fr/free/nrw/commons/nearby/Place.java index f83e01c99..4d2afb405 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/Place.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/Place.java @@ -13,7 +13,7 @@ import fr.free.nrw.commons.location.LatLng; public class Place { public final String name; - private final Description description; + private final Label label; private final String longDescription; private final Uri secondaryImageUrl; public final LatLng location; @@ -24,18 +24,18 @@ public class Place { public final Sitelinks siteLinks; - public Place(String name, Description description, String longDescription, + public Place(String name, Label label, String longDescription, Uri secondaryImageUrl, LatLng location, Sitelinks siteLinks) { this.name = name; - this.description = description; + this.label = label; this.longDescription = longDescription; this.secondaryImageUrl = secondaryImageUrl; this.location = location; this.siteLinks = siteLinks; } - public Description getDescription() { - return description; + public Label getLabel() { + return label; } public String getLongDescription() { @@ -74,7 +74,7 @@ public class Place { * * TODO Give a more accurate class name (see issue #742). */ - public enum Description { + public enum Label { BUILDING("building", R.drawable.round_icon_generic_building), HOUSE("house", R.drawable.round_icon_house), @@ -99,19 +99,19 @@ public class Place { WATERFALL("waterfall", R.drawable.round_icon_waterfall), UNKNOWN("?", R.drawable.round_icon_unknown); - private static final Map TEXT_TO_DESCRIPTION - = new HashMap<>(Description.values().length); + private static final Map TEXT_TO_DESCRIPTION + = new HashMap<>(Label.values().length); static { - for (Description description : values()) { - TEXT_TO_DESCRIPTION.put(description.text, description); + for (Label label : values()) { + TEXT_TO_DESCRIPTION.put(label.text, label); } } private final String text; @DrawableRes private final int icon; - Description(String text, @DrawableRes int icon) { + Label(String text, @DrawableRes int icon) { this.text = text; this.icon = icon; } @@ -125,9 +125,9 @@ public class Place { return icon; } - public static Description fromText(String text) { - Description description = TEXT_TO_DESCRIPTION.get(text); - return description == null ? UNKNOWN : description; + public static Label fromText(String text) { + Label label = TEXT_TO_DESCRIPTION.get(text); + return label == null ? UNKNOWN : label; } } } diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/PlaceRenderer.java b/app/src/main/java/fr/free/nrw/commons/nearby/PlaceRenderer.java index ae34d55b9..cf596e36e 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/PlaceRenderer.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/PlaceRenderer.java @@ -49,7 +49,7 @@ class PlaceRenderer extends Renderer { } tvDesc.setText(descriptionText); distance.setText(place.distance); - icon.setImageResource(place.getDescription().getIcon()); + icon.setImageResource(place.getLabel().getIcon()); } interface PlaceClickedListener { diff --git a/app/src/test/java/fr/free/nrw/commons/nearby/NearbyAdapterFactoryTest.java b/app/src/test/java/fr/free/nrw/commons/nearby/NearbyAdapterFactoryTest.java index c86067ce6..186644a26 100644 --- a/app/src/test/java/fr/free/nrw/commons/nearby/NearbyAdapterFactoryTest.java +++ b/app/src/test/java/fr/free/nrw/commons/nearby/NearbyAdapterFactoryTest.java @@ -30,9 +30,9 @@ import static org.junit.Assert.assertNotNull; @Config(constants = BuildConfig.class, sdk = 21, application = TestCommonsApplication.class) public class NearbyAdapterFactoryTest { - private static final Place PLACE = new Place("name", Place.Description.AIRPORT, + private static final Place PLACE = new Place("name", Place.Label.AIRPORT, "desc", null, new LatLng(38.6270, -90.1994, 0), null); - private static final Place UNKNOWN_PLACE = new Place("name", Place.Description.UNKNOWN, + private static final Place UNKNOWN_PLACE = new Place("name", Place.Label.UNKNOWN, "desc", null, new LatLng(39.7392, -104.9903, 0), null); private Place clickedPlace; From 36ec230506f500bff5393fba8daccff0ae8e76b1 Mon Sep 17 00:00:00 2001 From: misaochan Date: Sun, 31 Dec 2017 02:24:39 +1000 Subject: [PATCH 3/4] Remove TODO --- app/src/main/java/fr/free/nrw/commons/nearby/Place.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/Place.java b/app/src/main/java/fr/free/nrw/commons/nearby/Place.java index 4d2afb405..e8290c6e2 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/Place.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/Place.java @@ -71,8 +71,6 @@ public class Place { * Most common types of desc: building, house, cottage, farmhouse, * village, civil parish, church, railway station, * gatehouse, milestone, inn, secondary school, hotel - * - * TODO Give a more accurate class name (see issue #742). */ public enum Label { From 698fad62ce75aa70ba2c66be4deb8c28ba48df1e Mon Sep 17 00:00:00 2001 From: Yusuke Matsubara Date: Fri, 12 Jan 2018 00:09:28 +0900 Subject: [PATCH 4/4] Fix NearbyAdapterFactoryTest by reflecting PlaceRender's new behavior --- .../nrw/commons/nearby/NearbyAdapterFactoryTest.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/app/src/test/java/fr/free/nrw/commons/nearby/NearbyAdapterFactoryTest.java b/app/src/test/java/fr/free/nrw/commons/nearby/NearbyAdapterFactoryTest.java index 186644a26..e0c8de403 100644 --- a/app/src/test/java/fr/free/nrw/commons/nearby/NearbyAdapterFactoryTest.java +++ b/app/src/test/java/fr/free/nrw/commons/nearby/NearbyAdapterFactoryTest.java @@ -33,7 +33,8 @@ public class NearbyAdapterFactoryTest { private static final Place PLACE = new Place("name", Place.Label.AIRPORT, "desc", null, new LatLng(38.6270, -90.1994, 0), null); private static final Place UNKNOWN_PLACE = new Place("name", Place.Label.UNKNOWN, - "desc", null, new LatLng(39.7392, -104.9903, 0), null); + "?", null, new LatLng(39.7392, -104.9903, 0), null); + // ^ "?" is a special value for unknown class names from Wikidata query results private Place clickedPlace; @Test @@ -68,12 +69,13 @@ public class NearbyAdapterFactoryTest { RendererViewHolder viewHolder = renderComponent(result); + // test that the values we gave are actually rendered assertNotNull(viewHolder.itemView.findViewById(R.id.tvName)); - assertEquals("name", + assertEquals(PLACE.name, ((TextView) viewHolder.itemView.findViewById(R.id.tvName)).getText().toString()); assertNotNull(viewHolder.itemView.findViewById(R.id.tvDesc)); - assertEquals("airport", + assertEquals(PLACE.getLongDescription(), ((TextView) viewHolder.itemView.findViewById(R.id.tvDesc)).getText().toString()); assertNotNull(viewHolder.itemView.findViewById(R.id.distance)); @@ -94,7 +96,7 @@ public class NearbyAdapterFactoryTest { RendererViewHolder viewHolder = renderComponent(result); assertNotNull(viewHolder.itemView.findViewById(R.id.tvDesc)); - assertEquals("no description found", + assertEquals(RuntimeEnvironment.application.getString(R.string.no_description_found), ((TextView) viewHolder.itemView.findViewById(R.id.tvDesc)).getText().toString()); assertNotNull(viewHolder.itemView.findViewById(R.id.icon));