public Drawable getDrawable(Context uiCtx, OsmandApplication app) { if (type == POI) { Amenity amenity = ((AmenityLocationPoint) point).a; PoiType st = amenity.getType().getPoiTypeByKeyName(amenity.getSubType()); if (st != null) { if (RenderingIcons.containsBigIcon(st.getIconKeyName())) { return uiCtx .getResources() .getDrawable(RenderingIcons.getBigIconResourceId(st.getIconKeyName())); } else if (RenderingIcons.containsBigIcon(st.getOsmTag() + "_" + st.getOsmValue())) { return uiCtx .getResources() .getDrawable( RenderingIcons.getBigIconResourceId(st.getOsmTag() + "_" + st.getOsmValue())); } } return null; } else if (type == TARGETS) { int i = !((TargetPoint) point).intermediate ? R.drawable.list_destination : R.drawable.list_intermediate; return uiCtx.getResources().getDrawable(i); } else if (type == FAVORITES || type == WAYPOINTS) { return FavoriteImageDrawable.getOrCreate(uiCtx, point.getColor(), false); } else if (type == ALARMS) { // assign alarm list icons manually for now if (((AlarmInfo) point).getType().toString() == "SPEED_CAMERA") { return uiCtx.getResources().getDrawable(R.drawable.mx_highway_speed_camera); } else if (((AlarmInfo) point).getType().toString() == "BORDER_CONTROL") { return uiCtx.getResources().getDrawable(R.drawable.mx_barrier_border_control); } else if (((AlarmInfo) point).getType().toString() == "RAILWAY") { if (app.getSettings().DRIVING_REGION.get().americanSigns) { return uiCtx.getResources().getDrawable(R.drawable.list_warnings_railways_us); } else { return uiCtx.getResources().getDrawable(R.drawable.list_warnings_railways); } } else if (((AlarmInfo) point).getType().toString() == "TRAFFIC_CALMING") { if (app.getSettings().DRIVING_REGION.get().americanSigns) { return uiCtx.getResources().getDrawable(R.drawable.list_warnings_traffic_calming_us); } else { return uiCtx.getResources().getDrawable(R.drawable.list_warnings_traffic_calming); } } else if (((AlarmInfo) point).getType().toString() == "TOLL_BOOTH") { return uiCtx.getResources().getDrawable(R.drawable.mx_toll_booth); } else if (((AlarmInfo) point).getType().toString() == "STOP") { return uiCtx.getResources().getDrawable(R.drawable.list_stop); } else if (((AlarmInfo) point).getType().toString() == "PEDESTRIAN") { if (app.getSettings().DRIVING_REGION.get().americanSigns) { return uiCtx.getResources().getDrawable(R.drawable.list_warnings_pedestrian_us); } else { return uiCtx.getResources().getDrawable(R.drawable.list_warnings_pedestrian); } } else { return null; } } else { return null; } }