예제 #1
0
 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;
   }
 }