From ccaa339a4a5244b2d4e32667437f7bc9d3647cc7 Mon Sep 17 00:00:00 2001 From: Alexey Kulish Date: Thu, 10 Nov 2016 15:34:20 +0300 Subject: [PATCH] Fix #3109 --- OsmAnd/res/values/strings.xml | 1 + .../audionotes/AudioVideoNoteMenuBuilder.java | 6 +- .../AudioVideoNoteMenuController.java | 4 +- .../plus/mapcontextmenu/MenuBuilder.java | 7 +- .../plus/mapcontextmenu/MenuController.java | 38 ++-- .../builders/AmenityMenuBuilder.java | 186 +++++++++++++----- .../builders/FavouritePointMenuBuilder.java | 8 +- .../builders/GpxItemMenuBuilder.java | 6 +- .../builders/WptPtMenuBuilder.java | 6 +- .../controllers/AmenityMenuController.java | 5 +- .../FavouritePointMenuController.java | 7 +- .../controllers/GpxItemMenuController.java | 5 +- .../controllers/HistoryMenuController.java | 5 +- .../ImpassibleRoadsMenuController.java | 5 +- .../controllers/MapDataMenuController.java | 5 +- .../controllers/MapMarkerMenuController.java | 7 +- .../controllers/MyLocationMenuController.java | 6 +- .../PointDescriptionMenuController.java | 5 +- .../RenderedObjectMenuController.java | 5 +- .../TargetPointMenuController.java | 5 +- .../controllers/TransportRouteController.java | 5 +- .../controllers/TransportStopController.java | 4 +- .../controllers/WptPtMenuController.java | 5 +- .../plus/osmedit/EditPOIMenuBuilder.java | 6 +- .../plus/osmedit/EditPOIMenuController.java | 5 +- .../plus/osmedit/OsmBugMenuController.java | 5 +- .../osmand/plus/osmo/OsMoMenuController.java | 4 +- .../ParkingPositionMenuController.java | 5 +- 28 files changed, 216 insertions(+), 145 deletions(-) diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index f5ce9971ab..c08642fdc8 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -10,6 +10,7 @@ PLEASE: Have a look at http://code.google.com/p/osmand/wiki/UIConsistency, it may really improve your and our work :-) Thx - Hardy --> + Wikipedia articles around Search city or region Take %1$d exit and go Upload POI diff --git a/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNoteMenuBuilder.java b/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNoteMenuBuilder.java index 1e929adfb1..90850d3303 100644 --- a/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNoteMenuBuilder.java +++ b/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNoteMenuBuilder.java @@ -11,8 +11,8 @@ import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout; -import net.osmand.plus.OsmandApplication; import net.osmand.plus.R; +import net.osmand.plus.activities.MapActivity; import net.osmand.plus.audionotes.AudioVideoNotesPlugin.Recording; import net.osmand.plus.mapcontextmenu.MenuBuilder; @@ -24,8 +24,8 @@ public class AudioVideoNoteMenuBuilder extends MenuBuilder { private final Recording recording; - public AudioVideoNoteMenuBuilder(OsmandApplication app, final Recording recording) { - super(app); + public AudioVideoNoteMenuBuilder(MapActivity mapActivity, final Recording recording) { + super(mapActivity); this.recording = recording; } diff --git a/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNoteMenuController.java b/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNoteMenuController.java index 120924c5cb..b5d5ae60f9 100644 --- a/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNoteMenuController.java +++ b/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNoteMenuController.java @@ -22,8 +22,8 @@ public class AudioVideoNoteMenuController extends MenuController { private AudioVideoNotesPlugin mPlugin; private boolean mIsFileAvailable; - public AudioVideoNoteMenuController(OsmandApplication app, MapActivity mapActivity, PointDescription pointDescription, final Recording recording) { - super(new AudioVideoNoteMenuBuilder(app, recording), pointDescription, mapActivity); + public AudioVideoNoteMenuController(MapActivity mapActivity, PointDescription pointDescription, final Recording recording) { + super(new AudioVideoNoteMenuBuilder(mapActivity, recording), pointDescription, mapActivity); this.mRecording = recording; mPlugin = OsmandPlugin.getPlugin(AudioVideoNotesPlugin.class); mIsFileAvailable = mRecording.getFile().exists(); diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/MenuBuilder.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/MenuBuilder.java index 7bc6c299de..8fafd0c000 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/MenuBuilder.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/MenuBuilder.java @@ -23,6 +23,7 @@ import android.widget.Toast; import net.osmand.plus.IconsCache; import net.osmand.plus.OsmandApplication; import net.osmand.plus.R; +import net.osmand.plus.activities.MapActivity; import net.osmand.plus.render.RenderingIcons; import java.util.LinkedList; @@ -33,6 +34,7 @@ public class MenuBuilder { public static final float SHADOW_HEIGHT_TOP_DP = 17f; + protected MapActivity mapActivity; protected OsmandApplication app; protected LinkedList plainMenuItems; private boolean firstRow; @@ -74,8 +76,9 @@ public class MenuBuilder { } } - public MenuBuilder(OsmandApplication app) { - this.app = app; + public MenuBuilder(MapActivity mapActivity) { + this.mapActivity = mapActivity; + this.app = mapActivity.getMyApplication(); plainMenuItems = new LinkedList<>(); } diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/MenuController.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/MenuController.java index 38310b7f3d..cea4c67e6f 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/MenuController.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/MenuController.java @@ -122,47 +122,47 @@ public abstract class MenuController extends BaseMenuController { MenuController menuController = null; if (object != null) { if (object instanceof Amenity) { - menuController = new AmenityMenuController(app, mapActivity, pointDescription, (Amenity) object); + menuController = new AmenityMenuController(mapActivity, pointDescription, (Amenity) object); } else if (object instanceof FavouritePoint) { - menuController = new FavouritePointMenuController(app, mapActivity, pointDescription, (FavouritePoint) object); + menuController = new FavouritePointMenuController(mapActivity, pointDescription, (FavouritePoint) object); } else if (object instanceof SearchHistoryHelper.HistoryEntry) { - menuController = new HistoryMenuController(app, mapActivity, pointDescription, (SearchHistoryHelper.HistoryEntry) object); + menuController = new HistoryMenuController(mapActivity, pointDescription, (SearchHistoryHelper.HistoryEntry) object); } else if (object instanceof TargetPoint) { - menuController = new TargetPointMenuController(app, mapActivity, pointDescription, (TargetPoint) object); + menuController = new TargetPointMenuController(mapActivity, pointDescription, (TargetPoint) object); } else if (object instanceof OsMoDevice) { - menuController = new OsMoMenuController(app, mapActivity, pointDescription, (OsMoDevice) object); + menuController = new OsMoMenuController(mapActivity, pointDescription, (OsMoDevice) object); } else if (object instanceof Recording) { - menuController = new AudioVideoNoteMenuController(app, mapActivity, pointDescription, (Recording) object); + menuController = new AudioVideoNoteMenuController(mapActivity, pointDescription, (Recording) object); } else if (object instanceof OsmPoint) { - menuController = new EditPOIMenuController(app, mapActivity, pointDescription, (OsmPoint) object); + menuController = new EditPOIMenuController(mapActivity, pointDescription, (OsmPoint) object); } else if (object instanceof WptPt) { - menuController = new WptPtMenuController(app, mapActivity, pointDescription, (WptPt) object); + menuController = new WptPtMenuController(mapActivity, pointDescription, (WptPt) object); } else if (object instanceof DownloadMapObject) { - menuController = new MapDataMenuController(app, mapActivity, pointDescription, (DownloadMapObject) object); + menuController = new MapDataMenuController(mapActivity, pointDescription, (DownloadMapObject) object); } else if (object instanceof OpenStreetNote) { - menuController = new OsmBugMenuController(app, mapActivity, pointDescription, (OpenStreetNote) object); + menuController = new OsmBugMenuController(mapActivity, pointDescription, (OpenStreetNote) object); } else if (object instanceof GpxDisplayItem) { - menuController = new GpxItemMenuController(app, mapActivity, pointDescription, (GpxDisplayItem) object); + menuController = new GpxItemMenuController(mapActivity, pointDescription, (GpxDisplayItem) object); } else if (object instanceof MapMarker) { - menuController = new MapMarkerMenuController(app, mapActivity, pointDescription, (MapMarker) object); + menuController = new MapMarkerMenuController(mapActivity, pointDescription, (MapMarker) object); } else if (object instanceof TransportStopRoute) { - menuController = new TransportRouteController(app, mapActivity, pointDescription, (TransportStopRoute) object); + menuController = new TransportRouteController(mapActivity, pointDescription, (TransportStopRoute) object); } else if (object instanceof TransportStop) { - menuController = new TransportStopController(app, mapActivity, pointDescription, (TransportStop) object); + menuController = new TransportStopController(mapActivity, pointDescription, (TransportStop) object); } else if (object instanceof LatLon) { if (pointDescription.isParking()) { - menuController = new ParkingPositionMenuController(app, mapActivity, pointDescription); + menuController = new ParkingPositionMenuController(mapActivity, pointDescription); } else if (pointDescription.isMyLocation()) { - menuController = new MyLocationMenuController(app, mapActivity, pointDescription); + menuController = new MyLocationMenuController(mapActivity, pointDescription); } } else if (object instanceof RouteDataObject) { - menuController = new ImpassibleRoadsMenuController(app, mapActivity, pointDescription, (RouteDataObject) object); + menuController = new ImpassibleRoadsMenuController(mapActivity, pointDescription, (RouteDataObject) object); } else if (object instanceof RenderedObject) { - menuController = new RenderedObjectMenuController(app, mapActivity, pointDescription, (RenderedObject) object); + menuController = new RenderedObjectMenuController(mapActivity, pointDescription, (RenderedObject) object); } } if (menuController == null) { - menuController = new PointDescriptionMenuController(app, mapActivity, pointDescription); + menuController = new PointDescriptionMenuController(mapActivity, pointDescription); } menuController.menuType = menuType; menuController.setLatLon(latLon); diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/builders/AmenityMenuBuilder.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/builders/AmenityMenuBuilder.java index a6019079f7..45d8a8bfc7 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/builders/AmenityMenuBuilder.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/builders/AmenityMenuBuilder.java @@ -1,11 +1,13 @@ package net.osmand.plus.mapcontextmenu.builders; +import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.graphics.Color; import android.graphics.drawable.Drawable; import android.net.Uri; import android.support.v7.app.AlertDialog; +import android.support.v7.view.ContextThemeWrapper; import android.support.v7.widget.AppCompatButton; import android.text.Html; import android.text.SpannableString; @@ -19,44 +21,54 @@ import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; +import net.osmand.binary.BinaryMapIndexReader; import net.osmand.data.Amenity; +import net.osmand.data.LatLon; import net.osmand.data.PointDescription; +import net.osmand.data.QuadRect; import net.osmand.osm.AbstractPoiType; import net.osmand.osm.MapPoiTypes; +import net.osmand.osm.PoiCategory; import net.osmand.osm.PoiType; -import net.osmand.plus.OsmandApplication; import net.osmand.plus.R; +import net.osmand.plus.activities.MapActivity; import net.osmand.plus.mapcontextmenu.MenuBuilder; +import net.osmand.plus.views.ContextMenuLayer; import net.osmand.plus.views.POIMapLayer; import net.osmand.util.Algorithms; +import net.osmand.util.MapUtils; import net.osmand.util.OpeningHoursParser; +import java.util.ArrayList; import java.util.Calendar; import java.util.Collections; import java.util.Comparator; import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.Objects; public class AmenityMenuBuilder extends MenuBuilder { private final Amenity amenity; + private List nearestWiki = new ArrayList<>(); - public AmenityMenuBuilder(OsmandApplication app, final Amenity amenity) { - super(app); + public AmenityMenuBuilder(MapActivity mapActivity, final Amenity amenity) { + super(mapActivity); this.amenity = amenity; + processNearstWiki(); } private void buildRow(View view, int iconId, String text, String textPrefix, - final String textDescription, boolean collapsable, + boolean collapsable, final View collapsableView, int textColor, boolean isWiki, boolean isText, boolean needLinks, boolean isPhoneNumber, boolean isUrl) { - buildRow(view, getRowIcon(iconId), text, textPrefix, textDescription, collapsable, textColor, + buildRow(view, getRowIcon(iconId), text, textPrefix, collapsable, collapsableView, textColor, isWiki, isText, needLinks, isPhoneNumber, isUrl); } protected void buildRow(final View view, Drawable icon, final String text, final String textPrefix, - final String textDescription, boolean collapsable, + boolean collapsable, final View collapsableView, int textColor, boolean isWiki, boolean isText, boolean needLinks, boolean isPhoneNumber, boolean isUrl) { @@ -71,6 +83,11 @@ public class AmenityMenuBuilder extends MenuBuilder { txt = text; } + LinearLayout baseView = new LinearLayout(view.getContext()); + baseView.setOrientation(LinearLayout.VERTICAL); + LinearLayout.LayoutParams llBaseViewParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); + baseView.setLayoutParams(llBaseViewParams); + LinearLayout ll = new LinearLayout(view.getContext()); ll.setOrientation(LinearLayout.HORIZONTAL); LinearLayout.LayoutParams llParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); @@ -84,6 +101,8 @@ public class AmenityMenuBuilder extends MenuBuilder { } }); + baseView.addView(ll); + // Icon LinearLayout llIcon = new LinearLayout(view.getContext()); llIcon.setOrientation(LinearLayout.HORIZONTAL); @@ -149,7 +168,7 @@ public class AmenityMenuBuilder extends MenuBuilder { llText.addView(textView); final ImageView iconViewCollapse = new ImageView(view.getContext()); - if (collapsable && !Algorithms.isEmpty(textDescription)) { + if (collapsable && collapsableView != null) { // Icon LinearLayout llIconCollapse = new LinearLayout(view.getContext()); llIconCollapse.setLayoutParams(new LinearLayout.LayoutParams(dpToPx(40f), dpToPx(48f))); @@ -162,47 +181,28 @@ public class AmenityMenuBuilder extends MenuBuilder { llIconCollapseParams.gravity = Gravity.CENTER_VERTICAL; iconViewCollapse.setLayoutParams(llIconCollapseParams); iconViewCollapse.setScaleType(ImageView.ScaleType.CENTER_INSIDE); - iconViewCollapse.setImageDrawable(app.getIconsCache().getThemedIcon(iconViewCollapse.getTag() == null ? + iconViewCollapse.setImageDrawable(app.getIconsCache().getThemedIcon(collapsableView.getVisibility() == View.GONE ? R.drawable.ic_action_arrow_down : R.drawable.ic_action_arrow_up)); llIconCollapse.addView(iconViewCollapse); - } - - if (!Algorithms.isEmpty(textDescription)) { - final TextView textViewDesc = new TextView(view.getContext()); - boolean collapsed = false; - if (collapsable) { - collapsed = textView.getTag() == null; - ll.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (iconViewCollapse.getTag() != null) { - textViewDesc.setVisibility(View.GONE); - iconViewCollapse.setImageDrawable(app.getIconsCache().getThemedIcon(R.drawable.ic_action_arrow_down)); - iconViewCollapse.setTag(null); - } else { - textViewDesc.setVisibility(View.VISIBLE); - iconViewCollapse.setImageDrawable(app.getIconsCache().getThemedIcon(R.drawable.ic_action_arrow_up)); - iconViewCollapse.setTag(1); - } + ll.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (collapsableView.getVisibility() == View.VISIBLE) { + collapsableView.setVisibility(View.GONE); + iconViewCollapse.setImageDrawable(app.getIconsCache().getThemedIcon(R.drawable.ic_action_arrow_down)); + } else { + collapsableView.setVisibility(View.VISIBLE); + iconViewCollapse.setImageDrawable(app.getIconsCache().getThemedIcon(R.drawable.ic_action_arrow_up)); } - }); - } - - textViewDesc.setVisibility(collapsed ? View.GONE : View.VISIBLE); - LinearLayout.LayoutParams llTextDescParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); - llTextDescParams.setMargins(0, 0, 0, collapsable ? dpToPx(13f) : dpToPx(8f)); - textViewDesc.setLayoutParams(llTextDescParams); - textViewDesc.setTextSize(16); - textViewDesc.setTextColor(app.getResources().getColor(light ? R.color.ctx_menu_info_text_light : R.color.ctx_menu_info_text_dark)); - textViewDesc.setText(textDescription); - - llText.addView(textViewDesc); + } + }); + baseView.addView(collapsableView); } if (isWiki) { AppCompatButton wikiButton = new AppCompatButton(view.getContext()); LinearLayout.LayoutParams llWikiButtonParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); - llWikiButtonParams.setMargins(0, dpToPx(10f), 0, dpToPx(10f)); + llWikiButtonParams.setMargins(0, dpToPx(10f), dpToPx(2f), dpToPx(10f)); wikiButton.setLayoutParams(llWikiButtonParams); wikiButton.setPadding(dpToPx(14f), 0, dpToPx(14f), 0); wikiButton.setBackgroundResource(R.drawable.blue_button_drawable); @@ -217,7 +217,7 @@ public class AmenityMenuBuilder extends MenuBuilder { llText.addView(wikiButton); } - ((LinearLayout) view).addView(ll); + ((LinearLayout) view).addView(baseView); if (isPhoneNumber) { ll.setOnClickListener(new View.OnClickListener() { @@ -271,6 +271,55 @@ public class AmenityMenuBuilder extends MenuBuilder { rowBuilt(); } + private View getCollapsableTextView(Context context, boolean collapsed, String text) { + final TextView textView = new TextView(context); + textView.setVisibility(collapsed ? View.GONE : View.VISIBLE); + LinearLayout.LayoutParams llTextDescParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); + llTextDescParams.setMargins(dpToPx(72f), 0, dpToPx(40f), dpToPx(13f)); + textView.setLayoutParams(llTextDescParams); + textView.setTextSize(16); + textView.setTextColor(app.getResources().getColor(light ? R.color.ctx_menu_info_text_light : R.color.ctx_menu_info_text_dark)); + textView.setText(text); + return textView; + } + + private View getCollapsableWikiView(Context context, boolean collapsed) { + final LinearLayout view = new LinearLayout(context); + view.setOrientation(LinearLayout.VERTICAL); + view.setVisibility(collapsed ? View.GONE : View.VISIBLE); + LinearLayout.LayoutParams llParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); + llParams.setMargins(dpToPx(68f), 0, dpToPx(12f), dpToPx(13f)); + view.setLayoutParams(llParams); + + for (final Amenity wiki : nearestWiki) { + AppCompatButton wikiButton = new AppCompatButton( + new ContextThemeWrapper(view.getContext(), light ? R.style.OsmandLightTheme : R.style.OsmandDarkTheme)); + LinearLayout.LayoutParams llWikiButtonParams = + new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); + wikiButton.setLayoutParams(llWikiButtonParams); + wikiButton.setPadding(dpToPx(14f), 0, dpToPx(14f), 0); + wikiButton.setTextColor(app.getResources() + .getColor(light ? R.color.color_dialog_buttons_light : R.color.color_dialog_buttons_dark)); + wikiButton.setText(wiki.getName()); + + wikiButton.setGravity(Gravity.LEFT | Gravity.CENTER_VERTICAL); + wikiButton.setSingleLine(true); + wikiButton.setEllipsize(TextUtils.TruncateAt.END); + wikiButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + PointDescription pointDescription = mapActivity.getMapLayers().getPoiMapLayer().getObjectName(wiki); + mapActivity.getContextMenu().show( + new LatLon(wiki.getLocation().getLatitude(), wiki.getLocation().getLongitude()), + pointDescription, wiki); + } + }); + view.addView(wikiButton); + } + + return view; + } + @Override public void buildInternal(View view) { boolean hasWiki = false; @@ -290,7 +339,7 @@ public class AmenityMenuBuilder extends MenuBuilder { String vl = e.getValue(); String textPrefix = ""; - String textDescription = ""; + View collapsableView = null; boolean collapsable = false; boolean isWiki = false; boolean isText = false; @@ -339,7 +388,7 @@ public class AmenityMenuBuilder extends MenuBuilder { continue; } else if (Amenity.OPENING_HOURS.equals(key)) { iconId = R.drawable.ic_action_time; - textDescription = amenity.getOpeningHours(); + collapsableView = getCollapsableTextView(view.getContext(), true, amenity.getOpeningHours()); collapsable = true; OpeningHoursParser.OpeningHours rs = OpeningHoursParser.parseOpenedHours(amenity.getOpeningHours()); if (rs != null) { @@ -418,12 +467,12 @@ public class AmenityMenuBuilder extends MenuBuilder { if (isDescription) { descriptions.add(new AmenityInfoRow(key, R.drawable.ic_action_note_dark, textPrefix, - vl, textDescription, collapsable, 0, false, true, true, 0, "", false, false)); + vl, collapsable, collapsableView, 0, false, true, true, 0, "", false, false)); } else if (icon != null) { - infoRows.add(new AmenityInfoRow(key, icon, textPrefix, vl, textDescription, collapsable, + infoRows.add(new AmenityInfoRow(key, icon, textPrefix, vl, collapsable, collapsableView, textColor, isWiki, isText, needLinks, poiTypeOrder, poiTypeKeyName, isPhoneNumber, isUrl)); } else { - infoRows.add(new AmenityInfoRow(key, iconId, textPrefix, vl, textDescription, collapsable, + infoRows.add(new AmenityInfoRow(key, iconId, textPrefix, vl, collapsable, collapsableView, textColor, isWiki, isText, needLinks, poiTypeOrder, poiTypeKeyName, isPhoneNumber, isUrl)); } } @@ -463,6 +512,14 @@ public class AmenityMenuBuilder extends MenuBuilder { buildAmenityRow(view, info); } + if (nearestWiki.size() > 0) { + AmenityInfoRow wikiInfo = new AmenityInfoRow( + "nearest_wiki", R.drawable.ic_action_wikipedia, null, app.getString(R.string.wiki_around) + " - " + nearestWiki.size(), true, + getCollapsableWikiView(view.getContext(), true), + 0, false, false, false, 1000, null, false, false); + buildAmenityRow(view, wikiInfo); + } + buildRow(view, R.drawable.ic_action_get_my_location, PointDescription.getLocationName(app, amenity.getLocation().getLatitude(), amenity.getLocation().getLongitude(), true) .replaceAll("\n", " "), 0, false, 0, false, null); @@ -470,21 +527,44 @@ public class AmenityMenuBuilder extends MenuBuilder { public void buildAmenityRow(View view, AmenityInfoRow info) { if (info.icon != null) { - buildRow(view, info.icon, info.text, info.textPrefix, info.textDescription, info.collapsable, + buildRow(view, info.icon, info.text, info.textPrefix, info.collapsable, info.collapsableView, info.textColor, info.isWiki, info.isText, info.needLinks, info.isPhoneNumber, info.isUrl); } else if (info.iconId != 0) { - buildRow(view, info.iconId, info.text, info.textPrefix, info.textDescription, info.collapsable, + buildRow(view, info.iconId, info.text, info.textPrefix, info.collapsable, info.collapsableView, info.textColor, info.isWiki, info.isText, info.needLinks, info.isPhoneNumber, info.isUrl); } } + private void processNearstWiki() { + QuadRect rect = MapUtils.calculateLatLonBbox( + amenity.getLocation().getLatitude(), amenity.getLocation().getLongitude(), 100); + nearestWiki = app.getResourceManager().searchAmenities( + new BinaryMapIndexReader.SearchPoiTypeFilter() { + @Override + public boolean accept(PoiCategory type, String subcategory) { + return type.isWiki(); + } + + @Override + public boolean isEmpty() { + return false; + } + }, rect.top, rect.left, rect.bottom, rect.right, -1, null); + for (Amenity wiki : nearestWiki) { + if (wiki.getId().equals(amenity.getId())) { + nearestWiki.remove(wiki); + break; + } + } + } + private static class AmenityInfoRow { private String key; private Drawable icon; private int iconId; private String textPrefix; private String text; - private String textDescription; + private View collapsableView; private boolean collapsable; private int textColor; private boolean isWiki; @@ -496,15 +576,15 @@ public class AmenityMenuBuilder extends MenuBuilder { private String name; public AmenityInfoRow(String key, Drawable icon, String textPrefix, String text, - String textDescription, boolean collapsable, + boolean collapsable, View collapsableView, int textColor, boolean isWiki, boolean isText, boolean needLinks, int order, String name, boolean isPhoneNumber, boolean isUrl) { this.key = key; this.icon = icon; this.textPrefix = textPrefix; this.text = text; - this.textDescription = textDescription; this.collapsable = collapsable; + this.collapsableView = collapsableView; this.textColor = textColor; this.isWiki = isWiki; this.isText = isText; @@ -516,15 +596,15 @@ public class AmenityMenuBuilder extends MenuBuilder { } public AmenityInfoRow(String key, int iconId, String textPrefix, String text, - String textDescription, boolean collapsable, + boolean collapsable, View collapsableView, int textColor, boolean isWiki, boolean isText, boolean needLinks, int order, String name, boolean isPhoneNumber, boolean isUrl) { this.key = key; this.iconId = iconId; this.textPrefix = textPrefix; this.text = text; - this.textDescription = textDescription; this.collapsable = collapsable; + this.collapsableView = collapsableView; this.textColor = textColor; this.isWiki = isWiki; this.isText = isText; diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/builders/FavouritePointMenuBuilder.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/builders/FavouritePointMenuBuilder.java index 89c8ecdf85..a10f697fdd 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/builders/FavouritePointMenuBuilder.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/builders/FavouritePointMenuBuilder.java @@ -9,7 +9,7 @@ import net.osmand.data.FavouritePoint; import net.osmand.data.QuadRect; import net.osmand.data.TransportStop; import net.osmand.osm.PoiCategory; -import net.osmand.plus.OsmandApplication; +import net.osmand.plus.activities.MapActivity; import net.osmand.plus.mapcontextmenu.MenuBuilder; import net.osmand.util.MapUtils; @@ -20,8 +20,8 @@ public class FavouritePointMenuBuilder extends MenuBuilder { private final FavouritePoint fav; private Object originObject; - public FavouritePointMenuBuilder(OsmandApplication app, final FavouritePoint fav) { - super(app); + public FavouritePointMenuBuilder(MapActivity mapActivity, final FavouritePoint fav) { + super(mapActivity); this.fav = fav; acquireOriginObject(); } @@ -46,7 +46,7 @@ public class FavouritePointMenuBuilder extends MenuBuilder { public void buildInternal(View view) { if (originObject != null) { if (originObject instanceof Amenity) { - AmenityMenuBuilder builder = new AmenityMenuBuilder(app, (Amenity) originObject); + AmenityMenuBuilder builder = new AmenityMenuBuilder(mapActivity, (Amenity) originObject); builder.setLight(light); builder.buildInternal(view); } diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/builders/GpxItemMenuBuilder.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/builders/GpxItemMenuBuilder.java index fd2dc096fe..59472e85eb 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/builders/GpxItemMenuBuilder.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/builders/GpxItemMenuBuilder.java @@ -10,8 +10,8 @@ import android.widget.TextView; import net.osmand.plus.GpxSelectionHelper.GpxDisplayItem; import net.osmand.plus.OsmAndFormatter; -import net.osmand.plus.OsmandApplication; import net.osmand.plus.R; +import net.osmand.plus.activities.MapActivity; import net.osmand.plus.helpers.GpxUiHelper; import net.osmand.plus.mapcontextmenu.MenuBuilder; import net.osmand.util.Algorithms; @@ -19,8 +19,8 @@ import net.osmand.util.Algorithms; public class GpxItemMenuBuilder extends MenuBuilder { private GpxDisplayItem item; - public GpxItemMenuBuilder(OsmandApplication app, GpxDisplayItem item) { - super(app); + public GpxItemMenuBuilder(MapActivity mapActivity, GpxDisplayItem item) { + super(mapActivity); this.item = item; } diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/builders/WptPtMenuBuilder.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/builders/WptPtMenuBuilder.java index ad804e4d89..37bb51f079 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/builders/WptPtMenuBuilder.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/builders/WptPtMenuBuilder.java @@ -4,8 +4,8 @@ import android.view.View; import net.osmand.plus.GPXUtilities.WptPt; import net.osmand.plus.OsmAndFormatter; -import net.osmand.plus.OsmandApplication; import net.osmand.plus.R; +import net.osmand.plus.activities.MapActivity; import net.osmand.plus.mapcontextmenu.MenuBuilder; import net.osmand.plus.views.POIMapLayer; import net.osmand.util.Algorithms; @@ -17,8 +17,8 @@ public class WptPtMenuBuilder extends MenuBuilder { private final WptPt wpt; - public WptPtMenuBuilder(OsmandApplication app, final WptPt wpt) { - super(app); + public WptPtMenuBuilder(MapActivity mapActivity, final WptPt wpt) { + super(mapActivity); this.wpt = wpt; } diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/AmenityMenuController.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/AmenityMenuController.java index e8f9eeb337..22d8979084 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/AmenityMenuController.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/AmenityMenuController.java @@ -11,7 +11,6 @@ import net.osmand.data.TransportStop; import net.osmand.osm.PoiCategory; import net.osmand.osm.PoiFilter; import net.osmand.osm.PoiType; -import net.osmand.plus.OsmandApplication; import net.osmand.plus.R; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.mapcontextmenu.MapContextMenu; @@ -36,8 +35,8 @@ public class AmenityMenuController extends MenuController { private Amenity amenity; private List routes = new ArrayList<>(); - public AmenityMenuController(OsmandApplication app, MapActivity mapActivity, PointDescription pointDescription, Amenity amenity) { - super(new AmenityMenuBuilder(app, amenity), pointDescription, mapActivity); + public AmenityMenuController(MapActivity mapActivity, PointDescription pointDescription, Amenity amenity) { + super(new AmenityMenuBuilder(mapActivity, amenity), pointDescription, mapActivity); this.amenity = amenity; if (amenity.getType().getKeyName().equals("transportation")) { boolean showTransportStops = false; diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/FavouritePointMenuController.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/FavouritePointMenuController.java index c737043cf4..7afd85ff4b 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/FavouritePointMenuController.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/FavouritePointMenuController.java @@ -8,7 +8,6 @@ import net.osmand.data.FavouritePoint; import net.osmand.data.LatLon; import net.osmand.data.PointDescription; import net.osmand.data.TransportStop; -import net.osmand.plus.OsmandApplication; import net.osmand.plus.R; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.base.FavoriteImageDrawable; @@ -22,8 +21,8 @@ public class FavouritePointMenuController extends MenuController { private FavouritePoint fav; - public FavouritePointMenuController(OsmandApplication app, MapActivity mapActivity, PointDescription pointDescription, final FavouritePoint fav) { - super(new FavouritePointMenuBuilder(app, fav), pointDescription, mapActivity); + public FavouritePointMenuController(MapActivity mapActivity, PointDescription pointDescription, final FavouritePoint fav) { + super(new FavouritePointMenuBuilder(mapActivity, fav), pointDescription, mapActivity); this.fav = fav; } @@ -112,7 +111,7 @@ public class FavouritePointMenuController extends MenuController { } else if (originObject instanceof TransportStop) { TransportStop stop = (TransportStop) originObject; TransportStopController transportStopController = - new TransportStopController(getMapActivity().getMyApplication(), getMapActivity(), pointDescription, stop); + new TransportStopController(getMapActivity(), pointDescription, stop); transportStopController.addPlainMenuItems(builder, latLon); addMyLocationToPlainItems(latLon); } diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/GpxItemMenuController.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/GpxItemMenuController.java index dc932c6800..4f3a825b3c 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/GpxItemMenuController.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/GpxItemMenuController.java @@ -4,7 +4,6 @@ import android.graphics.drawable.Drawable; import net.osmand.data.PointDescription; import net.osmand.plus.GpxSelectionHelper.GpxDisplayItem; -import net.osmand.plus.OsmandApplication; import net.osmand.plus.R; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.mapcontextmenu.MenuController; @@ -13,8 +12,8 @@ import net.osmand.plus.mapcontextmenu.builders.GpxItemMenuBuilder; public class GpxItemMenuController extends MenuController { private GpxDisplayItem item; - public GpxItemMenuController(OsmandApplication app, MapActivity mapActivity, PointDescription pointDescription, GpxDisplayItem item) { - super(new GpxItemMenuBuilder(app, item), pointDescription, mapActivity); + public GpxItemMenuController(MapActivity mapActivity, PointDescription pointDescription, GpxDisplayItem item) { + super(new GpxItemMenuBuilder(mapActivity, item), pointDescription, mapActivity); this.item = item; } diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/HistoryMenuController.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/HistoryMenuController.java index d82a5c43ce..af2574e6c7 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/HistoryMenuController.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/HistoryMenuController.java @@ -3,7 +3,6 @@ package net.osmand.plus.mapcontextmenu.controllers; import android.graphics.drawable.Drawable; import net.osmand.data.PointDescription; -import net.osmand.plus.OsmandApplication; import net.osmand.plus.R; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.activities.search.SearchHistoryFragment; @@ -17,8 +16,8 @@ public class HistoryMenuController extends MenuController { private HistoryEntry entry; private boolean hasTypeInDescription; - public HistoryMenuController(OsmandApplication app, MapActivity mapActivity, PointDescription pointDescription, final HistoryEntry entry) { - super(new MenuBuilder(app), pointDescription, mapActivity); + public HistoryMenuController(MapActivity mapActivity, PointDescription pointDescription, final HistoryEntry entry) { + super(new MenuBuilder(mapActivity), pointDescription, mapActivity); this.entry = entry; initData(); } diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/ImpassibleRoadsMenuController.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/ImpassibleRoadsMenuController.java index 3e32ad54fe..1d2e6e342a 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/ImpassibleRoadsMenuController.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/ImpassibleRoadsMenuController.java @@ -16,10 +16,11 @@ public class ImpassibleRoadsMenuController extends MenuController { private RouteDataObject route; - public ImpassibleRoadsMenuController(final OsmandApplication app, final MapActivity mapActivity, + public ImpassibleRoadsMenuController(final MapActivity mapActivity, PointDescription pointDescription, RouteDataObject route) { - super(new MenuBuilder(app), pointDescription, mapActivity); + super(new MenuBuilder(mapActivity), pointDescription, mapActivity); this.route = route; + final OsmandApplication app = mapActivity.getMyApplication(); rightTitleButtonController = new TitleButtonController() { @Override public void buttonPressed() { diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/MapDataMenuController.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/MapDataMenuController.java index dd40309dd6..e35e800fa6 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/MapDataMenuController.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/MapDataMenuController.java @@ -52,11 +52,12 @@ public class MapDataMenuController extends MenuController { private DownloadIndexesThread downloadThread; - public MapDataMenuController(final OsmandApplication app, final MapActivity mapActivity, PointDescription pointDescription, final DownloadMapObject mapObject) { - super(new MenuBuilder(app), pointDescription, mapActivity); + public MapDataMenuController(final MapActivity mapActivity, PointDescription pointDescription, final DownloadMapObject mapObject) { + super(new MenuBuilder(mapActivity), pointDescription, mapActivity); this.mapObject = mapObject; indexItem = mapObject.getIndexItem(); localIndexInfo = mapObject.getLocalIndexInfo(); + final OsmandApplication app = mapActivity.getMyApplication(); downloadThread = app.getDownloadThread(); if (indexItem != null) { downloaded = indexItem.isDownloaded(); diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/MapMarkerMenuController.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/MapMarkerMenuController.java index 4d2a2ca7ea..3f95e14b5e 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/MapMarkerMenuController.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/MapMarkerMenuController.java @@ -5,7 +5,6 @@ import android.graphics.drawable.Drawable; import net.osmand.data.PointDescription; import net.osmand.plus.MapMarkersHelper; import net.osmand.plus.MapMarkersHelper.MapMarker; -import net.osmand.plus.OsmandApplication; import net.osmand.plus.R; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.helpers.MapMarkerDialogHelper; @@ -17,10 +16,10 @@ public class MapMarkerMenuController extends MenuController { private MapMarker mapMarker; - public MapMarkerMenuController(OsmandApplication app, MapActivity mapActivity, PointDescription pointDescription, MapMarker mapMarker) { - super(new MenuBuilder(app), pointDescription, mapActivity); + public MapMarkerMenuController(MapActivity mapActivity, PointDescription pointDescription, MapMarker mapMarker) { + super(new MenuBuilder(mapActivity), pointDescription, mapActivity); this.mapMarker = mapMarker; - final MapMarkersHelper markersHelper = app.getMapMarkersHelper(); + final MapMarkersHelper markersHelper = mapActivity.getMyApplication().getMapMarkersHelper(); leftTitleButtonController = new TitleButtonController() { @Override public void buttonPressed() { diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/MyLocationMenuController.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/MyLocationMenuController.java index bbd7d70a8c..119b3c55b6 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/MyLocationMenuController.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/MyLocationMenuController.java @@ -2,10 +2,8 @@ package net.osmand.plus.mapcontextmenu.controllers; import android.graphics.drawable.Drawable; -import net.osmand.data.LatLon; import net.osmand.data.PointDescription; import net.osmand.plus.ApplicationMode; -import net.osmand.plus.OsmandApplication; import net.osmand.plus.R; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.mapcontextmenu.MenuBuilder; @@ -13,8 +11,8 @@ import net.osmand.plus.mapcontextmenu.MenuController; public class MyLocationMenuController extends MenuController { - public MyLocationMenuController(OsmandApplication app, MapActivity mapActivity, PointDescription pointDescription) { - super(new MenuBuilder(app), pointDescription, mapActivity); + public MyLocationMenuController(MapActivity mapActivity, PointDescription pointDescription) { + super(new MenuBuilder(mapActivity), pointDescription, mapActivity); } @Override diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/PointDescriptionMenuController.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/PointDescriptionMenuController.java index 23f1ebebcc..9c53780cf6 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/PointDescriptionMenuController.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/PointDescriptionMenuController.java @@ -3,7 +3,6 @@ package net.osmand.plus.mapcontextmenu.controllers; import android.graphics.drawable.Drawable; import net.osmand.data.PointDescription; -import net.osmand.plus.OsmandApplication; import net.osmand.plus.R; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.activities.search.SearchHistoryFragment; @@ -15,8 +14,8 @@ public class PointDescriptionMenuController extends MenuController { private boolean hasTypeInDescription; - public PointDescriptionMenuController(OsmandApplication app, MapActivity mapActivity, final PointDescription pointDescription) { - super(new MenuBuilder(app), pointDescription, mapActivity); + public PointDescriptionMenuController(MapActivity mapActivity, final PointDescription pointDescription) { + super(new MenuBuilder(mapActivity), pointDescription, mapActivity); initData(); } diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/RenderedObjectMenuController.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/RenderedObjectMenuController.java index be024ed767..4c537fe38c 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/RenderedObjectMenuController.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/RenderedObjectMenuController.java @@ -2,7 +2,6 @@ package net.osmand.plus.mapcontextmenu.controllers; import net.osmand.NativeLibrary.RenderedObject; import net.osmand.data.PointDescription; -import net.osmand.plus.OsmandApplication; import net.osmand.plus.R; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.mapcontextmenu.MenuBuilder; @@ -14,8 +13,8 @@ public class RenderedObjectMenuController extends MenuController { private RenderedObject renderedObject; - public RenderedObjectMenuController(OsmandApplication app, MapActivity mapActivity, PointDescription pointDescription, final RenderedObject renderedObject) { - super(new MenuBuilder(app), pointDescription, mapActivity); + public RenderedObjectMenuController(MapActivity mapActivity, PointDescription pointDescription, final RenderedObject renderedObject) { + super(new MenuBuilder(mapActivity), pointDescription, mapActivity); this.renderedObject = renderedObject; } diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/TargetPointMenuController.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/TargetPointMenuController.java index 06c1bf60b2..34e4864a7a 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/TargetPointMenuController.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/TargetPointMenuController.java @@ -3,7 +3,6 @@ package net.osmand.plus.mapcontextmenu.controllers; import android.graphics.drawable.Drawable; import net.osmand.data.PointDescription; -import net.osmand.plus.OsmandApplication; import net.osmand.plus.R; import net.osmand.plus.TargetPointsHelper; import net.osmand.plus.TargetPointsHelper.TargetPoint; @@ -17,8 +16,8 @@ public class TargetPointMenuController extends MenuController { private TargetPoint targetPoint; - public TargetPointMenuController(OsmandApplication app, MapActivity mapActivity, PointDescription pointDescription, TargetPoint targetPoint) { - super(new MenuBuilder(app), pointDescription, mapActivity); + public TargetPointMenuController(MapActivity mapActivity, PointDescription pointDescription, TargetPoint targetPoint) { + super(new MenuBuilder(mapActivity), pointDescription, mapActivity); this.targetPoint = targetPoint; final TargetPointsHelper targetPointsHelper = getMapActivity().getMyApplication().getTargetPointsHelper(); final int intermediatePointsCount = targetPointsHelper.getIntermediatePoints().size(); diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/TransportRouteController.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/TransportRouteController.java index 4348c42e8e..e365e8a229 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/TransportRouteController.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/TransportRouteController.java @@ -7,7 +7,6 @@ import net.osmand.binary.OsmandOdb.TransportRouteStop; import net.osmand.data.LatLon; import net.osmand.data.PointDescription; import net.osmand.data.TransportStop; -import net.osmand.plus.OsmandApplication; import net.osmand.plus.R; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.mapcontextmenu.MapContextMenu; @@ -24,9 +23,9 @@ public class TransportRouteController extends MenuController { private TransportStopRoute transportRoute; - public TransportRouteController(OsmandApplication app, final MapActivity mapActivity, PointDescription pointDescription, + public TransportRouteController(final MapActivity mapActivity, PointDescription pointDescription, final TransportStopRoute transportRoute) { - super(new MenuBuilder(app), pointDescription, mapActivity); + super(new MenuBuilder(mapActivity), pointDescription, mapActivity); this.transportRoute = transportRoute; toolbarController = new ContextMenuToolbarController(this); toolbarController.setTitle(getNameStr()); diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/TransportStopController.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/TransportStopController.java index d8af544fe9..42db550c30 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/TransportStopController.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/TransportStopController.java @@ -78,9 +78,9 @@ public class TransportStopController extends MenuController { private List routes = new ArrayList<>(); private TransportStopType topType; - public TransportStopController(OsmandApplication app, MapActivity mapActivity, + public TransportStopController(MapActivity mapActivity, PointDescription pointDescription, TransportStop transportStop) { - super(new MenuBuilder(app), pointDescription, mapActivity); + super(new MenuBuilder(mapActivity), pointDescription, mapActivity); this.transportStop = transportStop; processTransportStop(); } diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/WptPtMenuController.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/WptPtMenuController.java index acec6cbd19..25d93cf500 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/WptPtMenuController.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/WptPtMenuController.java @@ -5,7 +5,6 @@ import android.support.v4.content.ContextCompat; import net.osmand.data.PointDescription; import net.osmand.plus.GPXUtilities.WptPt; -import net.osmand.plus.OsmandApplication; import net.osmand.plus.R; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.base.FavoriteImageDrawable; @@ -17,8 +16,8 @@ public class WptPtMenuController extends MenuController { private WptPt wpt; - public WptPtMenuController(OsmandApplication app, MapActivity mapActivity, PointDescription pointDescription, WptPt wpt) { - super(new WptPtMenuBuilder(app, wpt), pointDescription, mapActivity); + public WptPtMenuController(MapActivity mapActivity, PointDescription pointDescription, WptPt wpt) { + super(new WptPtMenuBuilder(mapActivity, wpt), pointDescription, mapActivity); this.wpt = wpt; } diff --git a/OsmAnd/src/net/osmand/plus/osmedit/EditPOIMenuBuilder.java b/OsmAnd/src/net/osmand/plus/osmedit/EditPOIMenuBuilder.java index 7af16c8361..f6dd493d9d 100644 --- a/OsmAnd/src/net/osmand/plus/osmedit/EditPOIMenuBuilder.java +++ b/OsmAnd/src/net/osmand/plus/osmedit/EditPOIMenuBuilder.java @@ -5,8 +5,8 @@ import android.view.View; import net.osmand.data.PointDescription; import net.osmand.osm.MapPoiTypes; import net.osmand.osm.PoiType; -import net.osmand.plus.OsmandApplication; import net.osmand.plus.R; +import net.osmand.plus.activities.MapActivity; import net.osmand.plus.mapcontextmenu.MenuBuilder; import net.osmand.plus.render.RenderingIcons; @@ -16,8 +16,8 @@ public class EditPOIMenuBuilder extends MenuBuilder { private final OsmPoint osmPoint; - public EditPOIMenuBuilder(OsmandApplication app, final OsmPoint osmPoint) { - super(app); + public EditPOIMenuBuilder(MapActivity mapActivity, final OsmPoint osmPoint) { + super(mapActivity); this.osmPoint = osmPoint; } diff --git a/OsmAnd/src/net/osmand/plus/osmedit/EditPOIMenuController.java b/OsmAnd/src/net/osmand/plus/osmedit/EditPOIMenuController.java index cfbbf9fec2..8146560cae 100644 --- a/OsmAnd/src/net/osmand/plus/osmedit/EditPOIMenuController.java +++ b/OsmAnd/src/net/osmand/plus/osmedit/EditPOIMenuController.java @@ -6,7 +6,6 @@ import android.support.annotation.NonNull; import android.support.v7.app.AlertDialog; import net.osmand.data.PointDescription; -import net.osmand.plus.OsmandApplication; import net.osmand.plus.OsmandPlugin; import net.osmand.plus.R; import net.osmand.plus.activities.MapActivity; @@ -23,8 +22,8 @@ public class EditPOIMenuController extends MenuController { private String pointTypeStr; private ProgressDialogPoiUploader poiUploader; - public EditPOIMenuController(OsmandApplication app, final MapActivity mapActivity, PointDescription pointDescription, OsmPoint osmPoint) { - super(new EditPOIMenuBuilder(app, osmPoint), pointDescription, mapActivity); + public EditPOIMenuController(final MapActivity mapActivity, PointDescription pointDescription, OsmPoint osmPoint) { + super(new EditPOIMenuBuilder(mapActivity, osmPoint), pointDescription, mapActivity); this.osmPoint = osmPoint; plugin = OsmandPlugin.getPlugin(OsmEditingPlugin.class); diff --git a/OsmAnd/src/net/osmand/plus/osmedit/OsmBugMenuController.java b/OsmAnd/src/net/osmand/plus/osmedit/OsmBugMenuController.java index 2b18ac6a1f..a53e7675af 100644 --- a/OsmAnd/src/net/osmand/plus/osmedit/OsmBugMenuController.java +++ b/OsmAnd/src/net/osmand/plus/osmedit/OsmBugMenuController.java @@ -4,7 +4,6 @@ import android.graphics.drawable.Drawable; import net.osmand.data.LatLon; import net.osmand.data.PointDescription; -import net.osmand.plus.OsmandApplication; import net.osmand.plus.OsmandPlugin; import net.osmand.plus.R; import net.osmand.plus.activities.MapActivity; @@ -17,8 +16,8 @@ public class OsmBugMenuController extends MenuController { private OsmEditingPlugin plugin; private OpenStreetNote bug; - public OsmBugMenuController(OsmandApplication app, MapActivity mapActivity, PointDescription pointDescription, OpenStreetNote bug) { - super(new MenuBuilder(app), pointDescription, mapActivity); + public OsmBugMenuController(MapActivity mapActivity, PointDescription pointDescription, OpenStreetNote bug) { + super(new MenuBuilder(mapActivity), pointDescription, mapActivity); plugin = OsmandPlugin.getPlugin(OsmEditingPlugin.class); this.bug = bug; diff --git a/OsmAnd/src/net/osmand/plus/osmo/OsMoMenuController.java b/OsmAnd/src/net/osmand/plus/osmo/OsMoMenuController.java index dd661cb3e3..222d01300b 100644 --- a/OsmAnd/src/net/osmand/plus/osmo/OsMoMenuController.java +++ b/OsmAnd/src/net/osmand/plus/osmo/OsMoMenuController.java @@ -19,8 +19,8 @@ public class OsMoMenuController extends MenuController { private OsMoDevice device; - public OsMoMenuController(OsmandApplication app, MapActivity mapActivity, PointDescription pointDescription, OsMoDevice device) { - super(new MenuBuilder(app), pointDescription, mapActivity); + public OsMoMenuController(MapActivity mapActivity, PointDescription pointDescription, OsMoDevice device) { + super(new MenuBuilder(mapActivity), pointDescription, mapActivity); this.device = device; leftTitleButtonController = new TitleButtonController() { diff --git a/OsmAnd/src/net/osmand/plus/parkingpoint/ParkingPositionMenuController.java b/OsmAnd/src/net/osmand/plus/parkingpoint/ParkingPositionMenuController.java index 04f7cc89b5..9a16376aaa 100644 --- a/OsmAnd/src/net/osmand/plus/parkingpoint/ParkingPositionMenuController.java +++ b/OsmAnd/src/net/osmand/plus/parkingpoint/ParkingPositionMenuController.java @@ -3,7 +3,6 @@ package net.osmand.plus.parkingpoint; import android.graphics.drawable.Drawable; import net.osmand.data.PointDescription; -import net.osmand.plus.OsmandApplication; import net.osmand.plus.OsmandPlugin; import net.osmand.plus.R; import net.osmand.plus.activities.MapActivity; @@ -16,8 +15,8 @@ public class ParkingPositionMenuController extends MenuController { private ParkingPositionPlugin plugin; private String parkingDescription = ""; - public ParkingPositionMenuController(OsmandApplication app, MapActivity mapActivity, PointDescription pointDescription) { - super(new MenuBuilder(app), pointDescription, mapActivity); + public ParkingPositionMenuController(MapActivity mapActivity, PointDescription pointDescription) { + super(new MenuBuilder(mapActivity), pointDescription, mapActivity); plugin = OsmandPlugin.getPlugin(ParkingPositionPlugin.class); if (plugin != null) { buildParkingDescription(mapActivity);