Search in sources :

Example 11 with IconsCache

use of net.osmand.plus.IconsCache in project Osmand by osmandapp.

the class NoImagesCard method update.

@Override
public void update() {
    if (view != null) {
        IconsCache ic = getMyApplication().getIconsCache();
        boolean night = getMyApplication().getDaynightHelper().isNightModeForMapControls();
        MapActivity ctx = getMapActivity();
        AndroidUtils.setBackgroundColor(ctx, view, night, R.color.bg_color_light, R.color.bg_color_dark);
        ((ImageView) view.findViewById(R.id.icon_sadface)).setImageDrawable(ic.getIcon(R.drawable.ic_action_sadface, night ? R.color.color_white : R.color.icon_color));
        AndroidUtils.setTextPrimaryColor(ctx, (TextView) view.findViewById(R.id.title), night);
        AndroidUtils.setBackgroundColor(ctx, view.findViewById(R.id.button_background), night, R.color.ctx_menu_card_btn_light, R.color.ctx_menu_card_btn_dark);
        ((ImageView) view.findViewById(R.id.icon_add_photos)).setImageDrawable(ic.getIcon(R.drawable.ic_action_add_photos, night ? R.color.color_dialog_buttons_dark : R.color.color_dialog_buttons_light));
        ((TextView) view.findViewById(R.id.app_photos_text_view)).setTextColor(ContextCompat.getColor(ctx, night ? R.color.color_dialog_buttons_dark : R.color.color_dialog_buttons_light));
        AndroidUtils.setBackground(ctx, view.findViewById(R.id.card_background), night, R.drawable.context_menu_card_light, R.drawable.context_menu_card_dark);
        view.findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                MapillaryPlugin.openMapillary(getMapActivity(), null);
            }
        });
    }
}
Also used : TextView(android.widget.TextView) IconsCache(net.osmand.plus.IconsCache) ImageView(android.widget.ImageView) TextView(android.widget.TextView) ImageView(android.widget.ImageView) View(android.view.View) MapActivity(net.osmand.plus.activities.MapActivity)

Example 12 with IconsCache

use of net.osmand.plus.IconsCache in project Osmand by osmandapp.

the class MultiSelectionArrayAdapter method getView.

@NonNull
@Override
public View getView(final int position, @Nullable View convertView, @NonNull ViewGroup parent) {
    if (convertView == null) {
        convertView = menu.getMapActivity().getLayoutInflater().inflate(R.layout.menu_obj_list_item, parent, false);
    }
    final MapMultiSelectionMenu.MenuObject item = getItem(position);
    if (item != null) {
        if (!menu.isLandscapeLayout()) {
            AndroidUtils.setBackground(convertView.getContext(), convertView, !menu.isLight(), R.color.ctx_menu_bg_light, R.color.ctx_menu_bg_dark);
        }
        convertView.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {
                if (listener != null) {
                    listener.onClick(position);
                }
            }
        });
        IconsCache iconsCache = menu.getMapActivity().getMyApplication().getIconsCache();
        final View iconLayout = convertView.findViewById(R.id.context_menu_icon_layout);
        final ImageView iconView = (ImageView) convertView.findViewById(R.id.context_menu_icon_view);
        Drawable icon = item.getRightIcon();
        int iconId = item.getRightIconId();
        if (icon != null) {
            iconView.setImageDrawable(icon);
            iconLayout.setVisibility(View.VISIBLE);
        } else if (iconId != 0) {
            iconView.setImageDrawable(iconsCache.getIcon(iconId, menu.isLight() ? R.color.osmand_orange : R.color.osmand_orange_dark));
            iconLayout.setVisibility(View.VISIBLE);
        } else {
            iconLayout.setVisibility(View.GONE);
        }
        // Text line 1
        TextView line1 = (TextView) convertView.findViewById(R.id.context_menu_line1);
        line1.setTextColor(ContextCompat.getColor(getContext(), !menu.isLight() ? R.color.ctx_menu_title_color_dark : R.color.ctx_menu_title_color_light));
        line1.setText(item.getTitleStr());
        // Text line 2
        TextView line2 = (TextView) convertView.findViewById(R.id.context_menu_line2);
        ((TextView) line2).setTextColor(ContextCompat.getColor(getContext(), R.color.ctx_menu_subtitle_color));
        line2.setText(item.getTypeStr());
        Drawable slIcon = item.getTypeIcon();
        line2.setCompoundDrawablesWithIntrinsicBounds(slIcon, null, null, null);
        line2.setCompoundDrawablePadding(AndroidUtils.dpToPx(menu.getMapActivity(), 5f));
        // Divider
        View divider = convertView.findViewById(R.id.divider);
        divider.setBackgroundColor(ContextCompat.getColor(getContext(), menu.isLight() ? R.color.multi_selection_menu_divider_light : R.color.multi_selection_menu_divider_dark));
        divider.setVisibility(position != getCount() - 1 ? View.VISIBLE : View.GONE);
    }
    return convertView;
}
Also used : Drawable(android.graphics.drawable.Drawable) TextView(android.widget.TextView) IconsCache(net.osmand.plus.IconsCache) ImageView(android.widget.ImageView) ImageView(android.widget.ImageView) TextView(android.widget.TextView) View(android.view.View) NonNull(android.support.annotation.NonNull)

Example 13 with IconsCache

use of net.osmand.plus.IconsCache in project Osmand by osmandapp.

the class TrackDetailsMenu method updateView.

private void updateView(final View parentView) {
    GPXTrackAnalysis analysis = gpxItem.analysis;
    if (analysis == null || gpxItem.chartTypes == null) {
        parentView.setVisibility(View.GONE);
        if (analysis != null && analysis.isBoundsCalculated()) {
            mapActivity.getMapView().fitRectToMap(analysis.left, analysis.right, analysis.top, analysis.bottom, 0, 0, 0);
        }
        return;
    }
    final LineChart chart = (LineChart) parentView.findViewById(R.id.chart);
    chart.setOnChartValueSelectedListener(new OnChartValueSelectedListener() {

        @Override
        public void onValueSelected(Entry e, Highlight h) {
            refreshChart(chart, false);
        }

        @Override
        public void onNothingSelected() {
        }
    });
    chart.setOnChartGestureListener(new OnChartGestureListener() {

        boolean hasTranslated = false;

        float highlightDrawX = -1;

        @Override
        public void onChartGestureStart(MotionEvent me, ChartGesture lastPerformedGesture) {
            hasTranslated = false;
            if (chart.getHighlighted() != null && chart.getHighlighted().length > 0) {
                highlightDrawX = chart.getHighlighted()[0].getDrawX();
            } else {
                highlightDrawX = -1;
            }
        }

        @Override
        public void onChartGestureEnd(MotionEvent me, ChartGesture lastPerformedGesture) {
            if ((lastPerformedGesture == ChartGesture.DRAG && hasTranslated) || lastPerformedGesture == ChartGesture.X_ZOOM || lastPerformedGesture == ChartGesture.Y_ZOOM || lastPerformedGesture == ChartGesture.PINCH_ZOOM || lastPerformedGesture == ChartGesture.DOUBLE_TAP || lastPerformedGesture == ChartGesture.ROTATE) {
                gpxItem.chartMatrix = new Matrix(chart.getViewPortHandler().getMatrixTouch());
                refreshChart(chart, true);
            }
        }

        @Override
        public void onChartLongPressed(MotionEvent me) {
        }

        @Override
        public void onChartDoubleTapped(MotionEvent me) {
        }

        @Override
        public void onChartSingleTapped(MotionEvent me) {
        }

        @Override
        public void onChartFling(MotionEvent me1, MotionEvent me2, float velocityX, float velocityY) {
        }

        @Override
        public void onChartScale(MotionEvent me, float scaleX, float scaleY) {
        }

        @Override
        public void onChartTranslate(MotionEvent me, float dX, float dY) {
            hasTranslated = true;
            if (highlightDrawX != -1) {
                Highlight h = chart.getHighlightByTouchPoint(highlightDrawX, 0f);
                if (h != null) {
                    chart.highlightValue(h);
                    refreshChart(chart, false);
                }
            }
        }
    });
    final OsmandApplication app = mapActivity.getMyApplication();
    final IconsCache ic = app.getIconsCache();
    GpxUiHelper.setupGPXChart(app, chart, 4);
    List<ILineDataSet> dataSets = new ArrayList<>();
    if (gpxItem.chartTypes != null && gpxItem.chartTypes.length > 0) {
        for (int i = 0; i < gpxItem.chartTypes.length; i++) {
            OrderedLineDataSet dataSet = null;
            switch(gpxItem.chartTypes[i]) {
                case ALTITUDE:
                    dataSet = GpxUiHelper.createGPXElevationDataSet(app, chart, analysis, gpxItem.chartAxisType, false, true);
                    break;
                case SPEED:
                    dataSet = GpxUiHelper.createGPXSpeedDataSet(app, chart, analysis, gpxItem.chartAxisType, gpxItem.chartTypes.length > 1, true);
                    break;
                case SLOPE:
                    dataSet = GpxUiHelper.createGPXSlopeDataSet(app, chart, analysis, gpxItem.chartAxisType, null, gpxItem.chartTypes.length > 1, true);
                    break;
            }
            if (dataSet != null) {
                dataSets.add(dataSet);
            }
        }
    }
    Collections.sort(dataSets, new Comparator<ILineDataSet>() {

        @Override
        public int compare(ILineDataSet ds1, ILineDataSet ds2) {
            OrderedLineDataSet dataSet1 = (OrderedLineDataSet) ds1;
            OrderedLineDataSet dataSet2 = (OrderedLineDataSet) ds2;
            return dataSet1.getPriority() > dataSet2.getPriority() ? -1 : (dataSet1.getPriority() == dataSet2.getPriority() ? 0 : 1);
        }
    });
    chart.setData(new LineData(dataSets));
    updateChart(chart);
    View yAxis = parentView.findViewById(R.id.y_axis);
    ImageView yAxisIcon = (ImageView) parentView.findViewById(R.id.y_axis_icon);
    TextView yAxisTitle = (TextView) parentView.findViewById(R.id.y_axis_title);
    View yAxisArrow = parentView.findViewById(R.id.y_axis_arrow);
    final List<GPXDataSetType[]> availableTypes = new ArrayList<>();
    boolean hasSlopeChart = false;
    if (analysis.hasElevationData) {
        availableTypes.add(new GPXDataSetType[] { GPXDataSetType.ALTITUDE });
        if (gpxItem.chartAxisType != GPXDataSetAxisType.TIME) {
            availableTypes.add(new GPXDataSetType[] { GPXDataSetType.SLOPE });
        }
    }
    if (analysis.hasSpeedData) {
        availableTypes.add(new GPXDataSetType[] { GPXDataSetType.SPEED });
    }
    if (analysis.hasElevationData && gpxItem.chartAxisType != GPXDataSetAxisType.TIME) {
        availableTypes.add(new GPXDataSetType[] { GPXDataSetType.ALTITUDE, GPXDataSetType.SLOPE });
    }
    if (analysis.hasElevationData && analysis.hasSpeedData) {
        availableTypes.add(new GPXDataSetType[] { GPXDataSetType.ALTITUDE, GPXDataSetType.SPEED });
    }
    for (GPXDataSetType t : gpxItem.chartTypes) {
        if (t == GPXDataSetType.SLOPE) {
            hasSlopeChart = true;
            break;
        }
    }
    yAxisIcon.setImageDrawable(GPXDataSetType.getImageDrawable(app, gpxItem.chartTypes));
    yAxisTitle.setText(GPXDataSetType.getName(app, gpxItem.chartTypes));
    if (availableTypes.size() > 0) {
        yAxis.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                final PopupMenu optionsMenu = new PopupMenu(mapActivity, v);
                DirectionsDialogs.setupPopUpMenuIcon(optionsMenu);
                for (final GPXDataSetType[] types : availableTypes) {
                    MenuItem menuItem = optionsMenu.getMenu().add(GPXDataSetType.getName(app, types)).setIcon(GPXDataSetType.getImageDrawable(app, types));
                    menuItem.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {

                        @Override
                        public boolean onMenuItemClick(MenuItem mItem) {
                            gpxItem.chartTypes = types;
                            update();
                            return true;
                        }
                    });
                }
                optionsMenu.show();
            }
        });
        yAxisArrow.setVisibility(View.VISIBLE);
    } else {
        yAxis.setOnClickListener(null);
        yAxis.setBackgroundResource(0);
        yAxisArrow.setVisibility(View.GONE);
    }
    View xAxis = parentView.findViewById(R.id.x_axis);
    ImageView xAxisIcon = (ImageView) parentView.findViewById(R.id.x_axis_icon);
    TextView xAxisTitle = (TextView) parentView.findViewById(R.id.x_axis_title);
    View xAxisArrow = parentView.findViewById(R.id.x_axis_arrow);
    if (gpxItem.chartAxisType == GPXDataSetAxisType.TIME) {
        xAxisIcon.setImageDrawable(ic.getThemedIcon(R.drawable.ic_action_time));
        xAxisTitle.setText(app.getString(R.string.shared_string_time));
    } else {
        xAxisIcon.setImageDrawable(ic.getThemedIcon(R.drawable.ic_action_marker_dark));
        xAxisTitle.setText(app.getString(R.string.distance));
    }
    if (analysis.isTimeSpecified() && !hasSlopeChart) {
        xAxis.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                final PopupMenu optionsMenu = new PopupMenu(mapActivity, v);
                DirectionsDialogs.setupPopUpMenuIcon(optionsMenu);
                final GPXDataSetAxisType type;
                if (gpxItem.chartAxisType == GPXDataSetAxisType.TIME) {
                    type = GPXDataSetAxisType.DISTANCE;
                } else {
                    type = GPXDataSetAxisType.TIME;
                }
                MenuItem menuItem = optionsMenu.getMenu().add(type.getStringId()).setIcon(type.getImageDrawable(app));
                menuItem.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {

                    @Override
                    public boolean onMenuItemClick(MenuItem mItem) {
                        gpxItem.chartAxisType = type;
                        gpxItem.chartHighlightPos = -1;
                        gpxItem.chartMatrix = null;
                        update();
                        return true;
                    }
                });
                optionsMenu.show();
            }
        });
        xAxisArrow.setVisibility(View.VISIBLE);
    } else {
        xAxis.setOnClickListener(null);
        xAxis.setBackgroundResource(0);
        xAxisArrow.setVisibility(View.GONE);
    }
    refreshChart(chart, true);
}
Also used : OnChartValueSelectedListener(com.github.mikephil.charting.listener.OnChartValueSelectedListener) Highlight(com.github.mikephil.charting.highlight.Highlight) OsmandApplication(net.osmand.plus.OsmandApplication) ArrayList(java.util.ArrayList) ChartGesture(com.github.mikephil.charting.listener.ChartTouchListener.ChartGesture) Entry(com.github.mikephil.charting.data.Entry) Matrix(android.graphics.Matrix) ILineDataSet(com.github.mikephil.charting.interfaces.datasets.ILineDataSet) GPXDataSetType(net.osmand.plus.helpers.GpxUiHelper.GPXDataSetType) TextView(android.widget.TextView) ImageView(android.widget.ImageView) OnChartGestureListener(com.github.mikephil.charting.listener.OnChartGestureListener) GPXTrackAnalysis(net.osmand.plus.GPXUtilities.GPXTrackAnalysis) MenuItem(android.view.MenuItem) ImageView(android.widget.ImageView) View(android.view.View) TextView(android.widget.TextView) MotionEvent(android.view.MotionEvent) LineData(com.github.mikephil.charting.data.LineData) GPXDataSetAxisType(net.osmand.plus.helpers.GpxUiHelper.GPXDataSetAxisType) OrderedLineDataSet(net.osmand.plus.helpers.GpxUiHelper.OrderedLineDataSet) IconsCache(net.osmand.plus.IconsCache) LineChart(com.github.mikephil.charting.charts.LineChart) PopupMenu(android.support.v7.widget.PopupMenu)

Example 14 with IconsCache

use of net.osmand.plus.IconsCache in project Osmand by osmandapp.

the class MapMarkersActiveAdapter method onBindViewHolder.

@Override
public void onBindViewHolder(final MapMarkerItemViewHolder holder, final int pos) {
    IconsCache iconsCache = mapActivity.getMyApplication().getIconsCache();
    MapMarker marker = markers.get(pos);
    ImageView markerImageViewToUpdate;
    int drawableResToUpdate;
    int markerColor = MapMarker.getColorId(marker.colorIndex);
    LatLon markerLatLon = new LatLon(marker.getLatitude(), marker.getLongitude());
    final boolean displayedInWidget = pos < mapActivity.getMyApplication().getSettings().DISPLAYED_MARKERS_WIDGETS_COUNT.get();
    if (showDirectionEnabled && displayedInWidget) {
        holder.iconDirection.setVisibility(View.GONE);
        holder.icon.setImageDrawable(iconsCache.getIcon(R.drawable.ic_arrow_marker_diretion, markerColor));
        holder.mainLayout.setBackgroundColor(ContextCompat.getColor(mapActivity, night ? R.color.list_divider_dark : R.color.markers_top_bar_background));
        holder.title.setTextColor(ContextCompat.getColor(mapActivity, R.color.color_white));
        holder.divider.setBackgroundColor(ContextCompat.getColor(mapActivity, R.color.map_markers_on_map_divider_color));
        holder.optionsBtn.setBackgroundDrawable(mapActivity.getResources().getDrawable(R.drawable.marker_circle_background_on_map_with_inset));
        holder.optionsBtn.setImageDrawable(iconsCache.getIcon(R.drawable.ic_action_marker_passed, R.color.color_white));
        holder.iconReorder.setImageDrawable(iconsCache.getIcon(R.drawable.ic_action_reorder, R.color.dashboard_subheader_text_dark));
        holder.description.setTextColor(ContextCompat.getColor(mapActivity, R.color.map_markers_on_map_color));
        drawableResToUpdate = R.drawable.ic_arrow_marker_diretion;
        markerImageViewToUpdate = holder.icon;
    } else {
        holder.iconDirection.setVisibility(View.VISIBLE);
        holder.icon.setImageDrawable(iconsCache.getIcon(R.drawable.ic_action_flag_dark, markerColor));
        holder.mainLayout.setBackgroundColor(ContextCompat.getColor(mapActivity, night ? R.color.bg_color_dark : R.color.bg_color_light));
        holder.title.setTextColor(ContextCompat.getColor(mapActivity, night ? R.color.color_white : R.color.color_black));
        holder.divider.setBackgroundColor(ContextCompat.getColor(mapActivity, night ? R.color.actionbar_dark_color : R.color.dashboard_divider_light));
        holder.optionsBtn.setBackgroundDrawable(mapActivity.getResources().getDrawable(night ? R.drawable.marker_circle_background_dark_with_inset : R.drawable.marker_circle_background_light_with_inset));
        holder.optionsBtn.setImageDrawable(iconsCache.getThemedIcon(R.drawable.ic_action_marker_passed));
        holder.iconReorder.setImageDrawable(iconsCache.getThemedIcon(R.drawable.ic_action_reorder));
        holder.description.setTextColor(ContextCompat.getColor(mapActivity, night ? R.color.dash_search_icon_dark : R.color.icon_color));
        drawableResToUpdate = R.drawable.ic_direction_arrow;
        markerImageViewToUpdate = holder.iconDirection;
    }
    if (pos == getItemCount() - 1) {
        holder.bottomShadow.setVisibility(View.VISIBLE);
        holder.divider.setVisibility(View.GONE);
    } else {
        holder.bottomShadow.setVisibility(View.GONE);
        holder.divider.setVisibility(View.VISIBLE);
    }
    holder.point.setVisibility(View.VISIBLE);
    holder.iconReorder.setOnTouchListener(new View.OnTouchListener() {

        @Override
        public boolean onTouch(View view, MotionEvent event) {
            if (MotionEventCompat.getActionMasked(event) == MotionEvent.ACTION_DOWN) {
                listener.onDragStarted(holder);
            }
            return false;
        }
    });
    holder.title.setText(marker.getName(mapActivity));
    String descr;
    if ((descr = marker.groupName) != null) {
        if (descr.equals("")) {
            descr = mapActivity.getString(R.string.shared_string_favorites);
        }
    } else {
        Date date = new Date(marker.creationDate);
        String month = new SimpleDateFormat("MMM", Locale.getDefault()).format(date);
        if (month.length() > 1) {
            month = Character.toUpperCase(month.charAt(0)) + month.substring(1);
        }
        month = month.replaceAll("\\.", "");
        String day = new SimpleDateFormat("d", Locale.getDefault()).format(date);
        descr = month + " " + day;
    }
    if (marker.wptPt != null && !Algorithms.isEmpty(marker.wptPt.category)) {
        descr = marker.wptPt.category + ", " + descr;
    }
    holder.description.setText(descr);
    holder.optionsBtn.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
            final int position = holder.getAdapterPosition();
            if (position < 0) {
                return;
            }
            final MapMarker marker = markers.get(position);
            mapActivity.getMyApplication().getMapMarkersHelper().moveMapMarkerToHistory(marker);
            changeMarkers();
            notifyDataSetChanged();
            snackbar = Snackbar.make(holder.itemView, mapActivity.getString(R.string.marker_moved_to_history), Snackbar.LENGTH_LONG).setAction(R.string.shared_string_undo, new View.OnClickListener() {

                @Override
                public void onClick(View view) {
                    mapActivity.getMyApplication().getMapMarkersHelper().restoreMarkerFromHistory(marker, position);
                    changeMarkers();
                    notifyDataSetChanged();
                }
            });
            AndroidUtils.setSnackbarTextColor(snackbar, R.color.color_dialog_buttons_dark);
            snackbar.show();
        }
    });
    DashLocationFragment.updateLocationView(useCenter, location, heading, markerImageViewToUpdate, drawableResToUpdate, showDirectionEnabled && displayedInWidget ? markerColor : 0, holder.distance, markerLatLon, screenOrientation, mapActivity.getMyApplication(), mapActivity, true);
}
Also used : MapMarker(net.osmand.plus.MapMarkersHelper.MapMarker) ImageView(android.widget.ImageView) RecyclerView(android.support.v7.widget.RecyclerView) View(android.view.View) Date(java.util.Date) MotionEvent(android.view.MotionEvent) LatLon(net.osmand.data.LatLon) IconsCache(net.osmand.plus.IconsCache) ImageView(android.widget.ImageView) SimpleDateFormat(java.text.SimpleDateFormat)

Example 15 with IconsCache

use of net.osmand.plus.IconsCache in project Osmand by osmandapp.

the class FavouritesAdapter method onBindViewHolder.

@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
    if (holder instanceof FavouritesViewHolder) {
        OsmandApplication app = (OsmandApplication) ((Activity) context).getApplication();
        IconsCache iconsCache = app.getIconsCache();
        FavouritesViewHolder favouritesViewHolder = (FavouritesViewHolder) holder;
        FavouritePoint favouritePoint = getItem(position);
        favouritesViewHolder.title.setText(favouritePoint.getName());
        if (favouritePoint.getCategory().equals("")) {
            favouritesViewHolder.description.setText(R.string.shared_string_favorites);
        } else {
            favouritesViewHolder.description.setText(favouritePoint.getCategory());
        }
        Location myloc = app.getLocationProvider().getLastKnownLocation();
        favouritesViewHolder.favouriteImage.setImageDrawable(FavoriteImageDrawable.getOrCreate(context, favouritePoint.getColor(), false));
        if (myloc == null) {
            return;
        }
        float dist = (float) MapUtils.getDistance(favouritePoint.getLatitude(), favouritePoint.getLongitude(), myloc.getLatitude(), myloc.getLongitude());
        favouritesViewHolder.distance.setText(OsmAndFormatter.getFormattedDistance(dist, app));
        favouritesViewHolder.arrowImage.setImageDrawable(iconsCache.getIcon(R.drawable.ic_direction_arrow));
        DashLocationFragment.updateLocationView(useCenter, location, heading, favouritesViewHolder.arrowImage, favouritesViewHolder.distance, favouritePoint.getLatitude(), favouritePoint.getLongitude(), screenOrientation, app, context);
    }
}
Also used : OsmandApplication(net.osmand.plus.OsmandApplication) FavouritePoint(net.osmand.data.FavouritePoint) IconsCache(net.osmand.plus.IconsCache) Location(net.osmand.Location)

Aggregations

IconsCache (net.osmand.plus.IconsCache)25 View (android.view.View)16 ImageView (android.widget.ImageView)13 TextView (android.widget.TextView)12 MenuItem (android.view.MenuItem)9 OsmandApplication (net.osmand.plus.OsmandApplication)8 PopupMenu (android.support.v7.widget.PopupMenu)6 RecyclerView (android.support.v7.widget.RecyclerView)5 LatLon (net.osmand.data.LatLon)5 ContextMenuItem (net.osmand.plus.ContextMenuItem)5 MotionEvent (android.view.MotionEvent)4 AdapterView (android.widget.AdapterView)4 ImageButton (android.widget.ImageButton)4 GPXFile (net.osmand.plus.GPXUtilities.GPXFile)4 Intent (android.content.Intent)3 Toolbar (android.support.v7.widget.Toolbar)3 ListView (android.widget.ListView)3 File (java.io.File)3 SimpleDateFormat (java.text.SimpleDateFormat)3 Date (java.util.Date)3