Search in sources :

Example 11 with MapMarker

use of net.osmand.plus.MapMarkersHelper.MapMarker in project Osmand by osmandapp.

the class MapMarkersDbHelper method readItem.

private MapMarker readItem(SQLiteCursor query) {
    String id = query.getString(0);
    double lat = query.getDouble(1);
    double lon = query.getDouble(2);
    String desc = query.getString(3);
    boolean active = query.getInt(4) == 1;
    long added = query.getLong(5);
    long visited = query.getLong(6);
    String groupName = query.getString(7);
    String groupKey = query.getString(8);
    int colorIndex = query.getInt(9);
    String nextKey = query.getString(10);
    boolean selected = query.getInt(12) == 1;
    String mapObjectName = query.getString(13);
    LatLon latLon = new LatLon(lat, lon);
    MapMarker marker = new MapMarker(latLon, PointDescription.deserializeFromString(desc, latLon), colorIndex, false, 0);
    marker.id = id;
    marker.history = !active;
    marker.creationDate = added;
    marker.visitedDate = visited;
    marker.groupName = groupName;
    marker.groupKey = groupKey;
    marker.nextKey = nextKey;
    marker.selected = selected;
    marker.mapObjectName = mapObjectName;
    return marker;
}
Also used : LatLon(net.osmand.data.LatLon) MapMarker(net.osmand.plus.MapMarkersHelper.MapMarker)

Example 12 with MapMarker

use of net.osmand.plus.MapMarkersHelper.MapMarker in project Osmand by osmandapp.

the class MapMarkersDbHelper method buildLinkedList.

private List<MapMarker> buildLinkedList(Map<String, MapMarker> markers, Set<String> nextKeys) {
    List<MapMarker> res = new ArrayList<>(markers.size());
    while (!markers.isEmpty()) {
        MapMarker head = null;
        Iterator<MapMarker> iterator = markers.values().iterator();
        while (iterator.hasNext()) {
            MapMarker marker = iterator.next();
            if (!nextKeys.contains(marker.id) || !iterator.hasNext()) {
                head = marker;
                break;
            }
        }
        if (head == null) {
            break;
        }
        do {
            res.add(head);
            markers.remove(head.id);
        } while ((head = markers.get(head.nextKey)) != null);
    }
    return res;
}
Also used : MapMarker(net.osmand.plus.MapMarkersHelper.MapMarker) ArrayList(java.util.ArrayList)

Example 13 with MapMarker

use of net.osmand.plus.MapMarkersHelper.MapMarker in project Osmand by osmandapp.

the class MapMarkersDbHelper method getMarkersHistory.

public List<MapMarker> getMarkersHistory() {
    List<MapMarker> markers = new ArrayList<>();
    SQLiteConnection db = openConnection(true);
    if (db != null) {
        try {
            SQLiteCursor query = db.rawQuery(MARKERS_TABLE_SELECT + " WHERE " + MARKERS_COL_ACTIVE + " = ?", new String[] { String.valueOf(0) });
            if (query.moveToFirst()) {
                do {
                    markers.add(readItem(query));
                } while (query.moveToNext());
            }
            query.close();
        } finally {
            db.close();
        }
    }
    return markers;
}
Also used : MapMarker(net.osmand.plus.MapMarkersHelper.MapMarker) SQLiteConnection(net.osmand.plus.api.SQLiteAPI.SQLiteConnection) ArrayList(java.util.ArrayList) SQLiteCursor(net.osmand.plus.api.SQLiteAPI.SQLiteCursor)

Example 14 with MapMarker

use of net.osmand.plus.MapMarkersHelper.MapMarker in project Osmand by osmandapp.

the class MapMarkersGroupsFragment method onCreateView.

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    final MapActivity mapActivity = (MapActivity) getActivity();
    final boolean night = !mapActivity.getMyApplication().getSettings().isLightContent();
    mainView = inflater.inflate(R.layout.fragment_map_markers_groups, container, false);
    Fragment selectionMarkersGroupFragment = getChildFragmentManager().findFragmentByTag(SelectionMarkersGroupBottomSheetDialogFragment.TAG);
    if (selectionMarkersGroupFragment != null) {
        ((SelectionMarkersGroupBottomSheetDialogFragment) selectionMarkersGroupFragment).setListener(createAddMarkersGroupFragmentListener());
    }
    Fragment historyMarkerMenuFragment = getChildFragmentManager().findFragmentByTag(HistoryMarkerMenuBottomSheetDialogFragment.TAG);
    if (historyMarkerMenuFragment != null) {
        ((HistoryMarkerMenuBottomSheetDialogFragment) historyMarkerMenuFragment).setListener(createHistoryMarkerMenuListener());
    }
    final EmptyStateRecyclerView recyclerView = (EmptyStateRecyclerView) mainView.findViewById(R.id.list);
    recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
    recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {

        @Override
        public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
            super.onScrollStateChanged(recyclerView, newState);
            compassUpdateAllowed = newState == RecyclerView.SCROLL_STATE_IDLE;
        }
    });
    backgroundPaint.setColor(ContextCompat.getColor(getActivity(), night ? R.color.dashboard_divider_dark : R.color.dashboard_divider_light));
    backgroundPaint.setStyle(Paint.Style.FILL_AND_STROKE);
    backgroundPaint.setAntiAlias(true);
    iconPaint.setAntiAlias(true);
    iconPaint.setFilterBitmap(true);
    iconPaint.setDither(true);
    textPaint.setTextSize(getResources().getDimension(R.dimen.default_desc_text_size));
    textPaint.setFakeBoldText(true);
    textPaint.setAntiAlias(true);
    final String delStr = getString(R.string.shared_string_delete).toUpperCase();
    final String moveToHistoryStr = getString(R.string.move_to_history).toUpperCase();
    final Rect bounds = new Rect();
    textPaint.getTextBounds(delStr, 0, delStr.length(), bounds);
    final int delStrWidth = bounds.width();
    final int textHeight = bounds.height();
    ItemTouchHelper.SimpleCallback simpleItemTouchCallback = new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {

        private float marginSides = getResources().getDimension(R.dimen.list_content_padding);

        private Bitmap deleteBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_action_delete_dark);

        private Bitmap historyBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_action_history);

        private boolean iconHidden;

        @Override
        public int getSwipeDirs(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
            boolean markerViewHolder = viewHolder instanceof MapMarkerItemViewHolder;
            int pos = viewHolder.getAdapterPosition();
            if (markerViewHolder && pos != -1) {
                MapMarker marker = (MapMarker) adapter.getItem(pos);
                if (marker.history) {
                    return ItemTouchHelper.LEFT;
                } else {
                    return ItemTouchHelper.RIGHT;
                }
            } else {
                return 0;
            }
        }

        @Override
        public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
            return false;
        }

        @Override
        public void onChildDraw(Canvas c, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive) {
            if (actionState == ItemTouchHelper.ACTION_STATE_SWIPE && viewHolder instanceof MapMarkerItemViewHolder) {
                if (!iconHidden && isCurrentlyActive) {
                    ((MapMarkerItemViewHolder) viewHolder).optionsBtn.setVisibility(View.GONE);
                    compassUpdateAllowed = false;
                    iconHidden = true;
                }
                View itemView = viewHolder.itemView;
                int colorIcon;
                int colorText;
                if (Math.abs(dX) > itemView.getWidth() / 2) {
                    colorIcon = R.color.map_widget_blue;
                    colorText = R.color.map_widget_blue;
                } else {
                    colorIcon = night ? 0 : R.color.icon_color;
                    colorText = R.color.dashboard_subheader_text_light;
                }
                if (colorIcon != 0) {
                    iconPaint.setColorFilter(new PorterDuffColorFilter(ContextCompat.getColor(getActivity(), colorIcon), PorterDuff.Mode.SRC_IN));
                }
                textPaint.setColor(ContextCompat.getColor(getActivity(), colorText));
                float textMarginTop = ((float) itemView.getHeight() - (float) textHeight) / 2;
                if (dX > 0) {
                    c.drawRect(itemView.getLeft(), itemView.getTop(), dX, itemView.getBottom(), backgroundPaint);
                    float iconMarginTop = ((float) itemView.getHeight() - (float) historyBitmap.getHeight()) / 2;
                    c.drawBitmap(historyBitmap, itemView.getLeft() + marginSides, itemView.getTop() + iconMarginTop, iconPaint);
                    c.drawText(moveToHistoryStr, itemView.getLeft() + 2 * marginSides + historyBitmap.getWidth(), itemView.getTop() + textMarginTop + textHeight, textPaint);
                } else {
                    c.drawRect(itemView.getRight() + dX, itemView.getTop(), itemView.getRight(), itemView.getBottom(), backgroundPaint);
                    float iconMarginTop = ((float) itemView.getHeight() - (float) deleteBitmap.getHeight()) / 2;
                    c.drawBitmap(deleteBitmap, itemView.getRight() - deleteBitmap.getWidth() - marginSides, itemView.getTop() + iconMarginTop, iconPaint);
                    c.drawText(delStr, itemView.getRight() - deleteBitmap.getWidth() - 2 * marginSides - delStrWidth, itemView.getTop() + textMarginTop + textHeight, textPaint);
                }
            }
            super.onChildDraw(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive);
        }

        @Override
        public void clearView(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
            if (viewHolder instanceof MapMarkerItemViewHolder) {
                ((MapMarkerItemViewHolder) viewHolder).optionsBtn.setVisibility(View.VISIBLE);
                iconHidden = false;
                compassUpdateAllowed = true;
            }
            super.clearView(recyclerView, viewHolder);
        }

        @Override
        public void onSwiped(RecyclerView.ViewHolder viewHolder, final int direction) {
            final int pos = viewHolder.getAdapterPosition();
            Object item = adapter.getItem(pos);
            if (item instanceof MapMarker) {
                final MapMarker marker = (MapMarker) item;
                int snackbarStringRes;
                if (direction == ItemTouchHelper.RIGHT) {
                    mapActivity.getMyApplication().getMapMarkersHelper().moveMapMarkerToHistory((MapMarker) item);
                    snackbarStringRes = R.string.marker_moved_to_history;
                } else {
                    mapActivity.getMyApplication().getMapMarkersHelper().removeMarker((MapMarker) item);
                    snackbarStringRes = R.string.item_removed;
                }
                updateAdapter();
                snackbar = Snackbar.make(viewHolder.itemView, snackbarStringRes, Snackbar.LENGTH_LONG).setAction(R.string.shared_string_undo, new View.OnClickListener() {

                    @Override
                    public void onClick(View view) {
                        if (direction == ItemTouchHelper.RIGHT) {
                            mapActivity.getMyApplication().getMapMarkersHelper().restoreMarkerFromHistory(marker, 0);
                        } else {
                            mapActivity.getMyApplication().getMapMarkersHelper().addMarker(marker);
                        }
                        updateAdapter();
                    }
                });
                AndroidUtils.setSnackbarTextColor(snackbar, R.color.color_dialog_buttons_dark);
                snackbar.show();
            }
        }
    };
    ItemTouchHelper itemTouchHelper = new ItemTouchHelper(simpleItemTouchCallback);
    itemTouchHelper.attachToRecyclerView(recyclerView);
    adapter = new MapMarkersGroupsAdapter(mapActivity);
    adapter.setListener(new MapMarkersGroupsAdapter.MapMarkersGroupsAdapterListener() {

        @Override
        public void onItemClick(View view) {
            int pos = recyclerView.getChildAdapterPosition(view);
            if (pos == RecyclerView.NO_POSITION) {
                return;
            }
            Object item = adapter.getItem(pos);
            if (item instanceof MapMarker) {
                MapMarker marker = (MapMarker) item;
                OsmandApplication app = mapActivity.getMyApplication();
                if (!marker.history) {
                    if (app.getSettings().SELECT_MARKER_ON_SINGLE_TAP.get()) {
                        app.getMapMarkersHelper().moveMarkerToTop(marker);
                        updateAdapter();
                    } else {
                        FavouritePoint fav = marker.favouritePoint == null ? app.getFavorites().getVisibleFavByLatLon(marker.point) : marker.favouritePoint;
                        if (fav != null) {
                            showMap(marker.point, fav.getPointDescription(), fav);
                            return;
                        }
                        WptPt pt = marker.wptPt == null ? app.getSelectedGpxHelper().getVisibleWayPointByLatLon(marker.point) : marker.wptPt;
                        if (pt != null) {
                            showMap(marker.point, pt.getPointDescription(mapActivity), pt);
                            return;
                        }
                        Amenity mapObj = mapActivity.getMapLayers().getMapMarkersLayer().getMapObjectByMarker(marker);
                        PointDescription desc = mapObj == null ? marker.getPointDescription(mapActivity) : mapActivity.getMapLayers().getPoiMapLayer().getObjectName(mapObj);
                        showMap(marker.point, desc, mapObj == null ? marker : mapObj);
                    }
                } else {
                    showHistoryMenuFragment(pos, marker);
                }
            }
        }

        private void showMap(LatLon latLon, PointDescription desc, Object objToShow) {
            mapActivity.getMyApplication().getSettings().setMapLocationToShow(latLon.getLatitude(), latLon.getLongitude(), 15, desc, true, objToShow);
            MapActivity.launchMapActivityMoveToTop(mapActivity);
            ((DialogFragment) getParentFragment()).dismiss();
        }

        private void showHistoryMenuFragment(int pos, MapMarker marker) {
            HistoryMarkerMenuBottomSheetDialogFragment fragment = new HistoryMarkerMenuBottomSheetDialogFragment();
            fragment.setUsedOnMap(false);
            Bundle arguments = new Bundle();
            arguments.putInt(HistoryMarkerMenuBottomSheetDialogFragment.MARKER_POSITION, pos);
            arguments.putString(HistoryMarkerMenuBottomSheetDialogFragment.MARKER_NAME, marker.getName(mapActivity));
            arguments.putInt(HistoryMarkerMenuBottomSheetDialogFragment.MARKER_COLOR_INDEX, marker.colorIndex);
            arguments.putLong(HistoryMarkerMenuBottomSheetDialogFragment.MARKER_VISITED_DATE, marker.visitedDate);
            fragment.setArguments(arguments);
            fragment.setListener(createHistoryMarkerMenuListener());
            fragment.show(getChildFragmentManager(), HistoryMarkerMenuBottomSheetDialogFragment.TAG);
        }
    });
    adapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() {

        @Override
        public void onChanged() {
            changeFabVisibilityIfNeeded();
        }

        @Override
        public void onItemRangeInserted(int positionStart, int itemCount) {
            changeFabVisibilityIfNeeded();
        }

        @Override
        public void onItemRangeRemoved(int positionStart, int itemCount) {
            changeFabVisibilityIfNeeded();
        }
    });
    final View emptyView = mainView.findViewById(R.id.empty_view);
    mainView.findViewById(R.id.import_button).setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
            openAddGroupMenu();
        }
    });
    ImageView emptyImageView = (ImageView) emptyView.findViewById(R.id.empty_state_image_view);
    if (Build.VERSION.SDK_INT >= 18) {
        emptyImageView.setImageResource(night ? R.drawable.ic_empty_state_marker_group_night : R.drawable.ic_empty_state_marker_group_day);
    } else {
        emptyImageView.setVisibility(View.INVISIBLE);
    }
    recyclerView.setEmptyView(emptyView);
    recyclerView.setAdapter(adapter);
    mainView.findViewById(R.id.add_group_fab).setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
            openAddGroupMenu();
        }
    });
    if (groupIdToOpen != null) {
        int groupHeaderPosition = adapter.getGroupHeaderPosition(groupIdToOpen);
        if (groupHeaderPosition != -1) {
            ((EmptyStateRecyclerView) mainView.findViewById(R.id.list)).scrollToPosition(groupHeaderPosition);
        }
    }
    return mainView;
}
Also used : WptPt(net.osmand.plus.GPXUtilities.WptPt) MapMarker(net.osmand.plus.MapMarkersHelper.MapMarker) OsmandApplication(net.osmand.plus.OsmandApplication) FavouritePoint(net.osmand.data.FavouritePoint) EmptyStateRecyclerView(net.osmand.plus.widgets.EmptyStateRecyclerView) MapMarkerItemViewHolder(net.osmand.plus.mapmarkers.adapters.MapMarkerItemViewHolder) PorterDuffColorFilter(android.graphics.PorterDuffColorFilter) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager) DialogFragment(android.support.v4.app.DialogFragment) DashLocationFragment(net.osmand.plus.dashboard.DashLocationFragment) Fragment(android.support.v4.app.Fragment) ItemTouchHelper(android.support.v7.widget.helper.ItemTouchHelper) Bitmap(android.graphics.Bitmap) MapMarkerItemViewHolder(net.osmand.plus.mapmarkers.adapters.MapMarkerItemViewHolder) ImageView(android.widget.ImageView) MapActivity(net.osmand.plus.activities.MapActivity) Amenity(net.osmand.data.Amenity) Rect(android.graphics.Rect) Bundle(android.os.Bundle) Canvas(android.graphics.Canvas) EmptyStateRecyclerView(net.osmand.plus.widgets.EmptyStateRecyclerView) ImageView(android.widget.ImageView) View(android.view.View) RecyclerView(android.support.v7.widget.RecyclerView) FavouritePoint(net.osmand.data.FavouritePoint) Paint(android.graphics.Paint) LatLon(net.osmand.data.LatLon) PointDescription(net.osmand.data.PointDescription) EmptyStateRecyclerView(net.osmand.plus.widgets.EmptyStateRecyclerView) RecyclerView(android.support.v7.widget.RecyclerView) MapMarkersGroupsAdapter(net.osmand.plus.mapmarkers.adapters.MapMarkersGroupsAdapter) Nullable(android.support.annotation.Nullable)

Example 15 with MapMarker

use of net.osmand.plus.MapMarkersHelper.MapMarker in project Osmand by osmandapp.

the class MapMarkersActiveFragment method onCreateView.

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    final MapActivity mapActivity = (MapActivity) getActivity();
    final View mainView = inflater.inflate(R.layout.fragment_map_markers_active, container, false);
    final EmptyStateRecyclerView recyclerView = (EmptyStateRecyclerView) mainView.findViewById(R.id.list);
    recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
    adapter = new MapMarkersActiveAdapter(mapActivity);
    final ItemTouchHelper touchHelper = new ItemTouchHelper(new MapMarkersItemTouchHelperCallback(mapActivity, adapter));
    touchHelper.attachToRecyclerView(recyclerView);
    adapter.setAdapterListener(new MapMarkersActiveAdapterListener() {

        private int fromPosition;

        private int toPosition;

        @Override
        public void onItemClick(View view) {
            int pos = recyclerView.getChildAdapterPosition(view);
            if (pos == RecyclerView.NO_POSITION) {
                return;
            }
            MapMarker marker = adapter.getItem(pos);
            OsmandApplication app = mapActivity.getMyApplication();
            if (app.getSettings().SELECT_MARKER_ON_SINGLE_TAP.get()) {
                app.getMapMarkersHelper().moveMarkerToTop(marker);
                updateAdapter();
            } else {
                FavouritePoint fav = marker.favouritePoint == null ? app.getFavorites().getVisibleFavByLatLon(marker.point) : marker.favouritePoint;
                if (fav != null) {
                    showMap(marker.point, fav.getPointDescription(), fav);
                    return;
                }
                WptPt pt = marker.wptPt == null ? app.getSelectedGpxHelper().getVisibleWayPointByLatLon(marker.point) : marker.wptPt;
                if (pt != null) {
                    showMap(marker.point, pt.getPointDescription(mapActivity), pt);
                    return;
                }
                Amenity mapObj = mapActivity.getMapLayers().getMapMarkersLayer().getMapObjectByMarker(marker);
                PointDescription desc = mapObj == null ? marker.getPointDescription(mapActivity) : mapActivity.getMapLayers().getPoiMapLayer().getObjectName(mapObj);
                showMap(marker.point, desc, mapObj == null ? marker : mapObj);
            }
        }

        private void showMap(LatLon latLon, PointDescription desc, Object objToShow) {
            mapActivity.getMyApplication().getSettings().setMapLocationToShow(latLon.getLatitude(), latLon.getLongitude(), 15, desc, true, objToShow);
            MapActivity.launchMapActivityMoveToTop(mapActivity);
            ((DialogFragment) getParentFragment()).dismiss();
        }

        @Override
        public void onDragStarted(RecyclerView.ViewHolder holder) {
            compassUpdateAllowed = false;
            fromPosition = holder.getAdapterPosition();
            touchHelper.startDrag(holder);
        }

        @Override
        public void onDragOrSwipeEnded(RecyclerView.ViewHolder holder) {
            compassUpdateAllowed = true;
            toPosition = holder.getAdapterPosition();
            if (toPosition >= 0 && fromPosition >= 0 && toPosition != fromPosition) {
                hideSnackbar();
                mapActivity.getMyApplication().getMapMarkersHelper().reorderActiveMarkersIfNeeded();
                adapter.notifyDataSetChanged();
            }
        }

        @Override
        public void onSwipeStarted() {
            compassUpdateAllowed = false;
        }
    });
    final View emptyView = mainView.findViewById(R.id.empty_view);
    ImageView emptyImageView = (ImageView) emptyView.findViewById(R.id.empty_state_image_view);
    if (Build.VERSION.SDK_INT >= 18) {
        emptyImageView.setImageResource(mapActivity.getMyApplication().getSettings().isLightContent() ? R.drawable.ic_empty_state_marker_list_day : R.drawable.ic_empty_state_marker_list_night);
    } else {
        emptyImageView.setVisibility(View.INVISIBLE);
    }
    recyclerView.setEmptyView(emptyView);
    recyclerView.setAdapter(adapter);
    recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {

        @Override
        public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
            super.onScrollStateChanged(recyclerView, newState);
            compassUpdateAllowed = newState == RecyclerView.SCROLL_STATE_IDLE;
        }
    });
    return mainView;
}
Also used : WptPt(net.osmand.plus.GPXUtilities.WptPt) Amenity(net.osmand.data.Amenity) MapMarker(net.osmand.plus.MapMarkersHelper.MapMarker) OsmandApplication(net.osmand.plus.OsmandApplication) FavouritePoint(net.osmand.data.FavouritePoint) EmptyStateRecyclerView(net.osmand.plus.widgets.EmptyStateRecyclerView) MapMarkersActiveAdapterListener(net.osmand.plus.mapmarkers.adapters.MapMarkersActiveAdapter.MapMarkersActiveAdapterListener) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager) EmptyStateRecyclerView(net.osmand.plus.widgets.EmptyStateRecyclerView) ImageView(android.widget.ImageView) View(android.view.View) RecyclerView(android.support.v7.widget.RecyclerView) FavouritePoint(net.osmand.data.FavouritePoint) ItemTouchHelper(android.support.v7.widget.helper.ItemTouchHelper) LatLon(net.osmand.data.LatLon) MapMarkersItemTouchHelperCallback(net.osmand.plus.mapmarkers.adapters.MapMarkersItemTouchHelperCallback) PointDescription(net.osmand.data.PointDescription) EmptyStateRecyclerView(net.osmand.plus.widgets.EmptyStateRecyclerView) RecyclerView(android.support.v7.widget.RecyclerView) MapMarkersActiveAdapter(net.osmand.plus.mapmarkers.adapters.MapMarkersActiveAdapter) ImageView(android.widget.ImageView) MapActivity(net.osmand.plus.activities.MapActivity) Nullable(android.support.annotation.Nullable)

Aggregations

MapMarker (net.osmand.plus.MapMarkersHelper.MapMarker)38 LatLon (net.osmand.data.LatLon)20 View (android.view.View)13 MapMarkersHelper (net.osmand.plus.MapMarkersHelper)11 RecyclerView (android.support.v7.widget.RecyclerView)10 OsmandApplication (net.osmand.plus.OsmandApplication)10 TargetPoint (net.osmand.plus.TargetPointsHelper.TargetPoint)9 ImageView (android.widget.ImageView)8 Location (net.osmand.Location)8 PointDescription (net.osmand.data.PointDescription)8 Paint (android.graphics.Paint)7 Nullable (android.support.annotation.Nullable)6 MapActivity (net.osmand.plus.activities.MapActivity)6 ArrayList (java.util.ArrayList)5 Amenity (net.osmand.data.Amenity)5 LinearLayoutManager (android.support.v7.widget.LinearLayoutManager)4 ItemTouchHelper (android.support.v7.widget.helper.ItemTouchHelper)4 FavouritePoint (net.osmand.data.FavouritePoint)4 QuadPoint (net.osmand.data.QuadPoint)4 Bitmap (android.graphics.Bitmap)3