// Path: src/main/java/com/emal/android/transport/spb/VehicleType.java
// public enum VehicleType {
//     BUS("vehicle_bus", "0", "A", false, Color.BLUE),
//     TROLLEY("vehicle_trolley", "1", "Ш", true, Color.GREEN),
//     TRAM("vehicle_tram", "2", "T", false, Color.RED),
//     SHIP("vehicle_ship", "46", "S", false, Color.YELLOW);
// 
//     private String code;
//     private String id;
//     private String letter;
//     private boolean upsideDown;
//     private int color;
// 
//     private VehicleType(String code, String id, String letter, boolean upsideDown, int color) {
//         this.code = code;
//         this.id = id;
//         this.letter = letter;
//         this.color = color;
//         this.upsideDown = upsideDown;
//     }
// 
//     public String getCode() {
//         return code;
//     }
// 
//     public String getId() {
//         return id;
//     }
// 
//     public String getLetter() {
//         return letter;
//     }
// 
//     public int getColor() {
//         return color;
//     }
// 
//     public boolean isUpsideDown() {
//         return upsideDown;
//     }
// 
//     public static VehicleType getType(String value) {
//         if ("bus".equals(value)) {
//             return BUS;
//         }
//         if ("tram".equals(value)) {
//             return TRAM;
//         }
//         if ("trolley".equals(value)) {
//             return TROLLEY;
//         }
//         if ("ship".equals(value)) {
//             return SHIP;
//         }
//         throw new IllegalStateException("Wrong vehicle type");
//     }
// }


import android.graphics.*;
import android.support.v4.util.LruCache;
import com.emal.android.transport.spb.VehicleType;
import com.google.android.gms.maps.model.BitmapDescriptor;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
package com.emal.android.transport.spb.utils;



/**
 * User: alexey.emelyanenko@gmail.com
 * Date: 10/15/14 11:16 PM
 */
public class DrawHelper {
    private static Map<String, BitmapDescriptor> cacheTypes = new ConcurrentHashMap<String, BitmapDescriptor>(4);
    private static LruCache<String, BitmapDescriptor> cacheNumbers = new LruCache<String, BitmapDescriptor>((int)(Runtime.getRuntime().maxMemory() / 1024 / 16));

    public static void evictCaches() {
        cacheTypes.clear();
        cacheNumbers.evictAll();
    }

// Path: src/main/java/com/emal/android/transport/spb/VehicleType.java
// public enum VehicleType {
//     BUS("vehicle_bus", "0", "A", false, Color.BLUE),
//     TROLLEY("vehicle_trolley", "1", "Ш", true, Color.GREEN),
//     TRAM("vehicle_tram", "2", "T", false, Color.RED),
//     SHIP("vehicle_ship", "46", "S", false, Color.YELLOW);
// 
//     private String code;
//     private String id;
//     private String letter;
//     private boolean upsideDown;
//     private int color;
// 
//     private VehicleType(String code, String id, String letter, boolean upsideDown, int color) {
//         this.code = code;
//         this.id = id;
//         this.letter = letter;
//         this.color = color;
//         this.upsideDown = upsideDown;
//     }
// 
//     public String getCode() {
//         return code;
//     }
// 
//     public String getId() {
//         return id;
//     }
// 
//     public String getLetter() {
//         return letter;
//     }
// 
//     public int getColor() {
//         return color;
//     }
// 
//     public boolean isUpsideDown() {
//         return upsideDown;
//     }
// 
//     public static VehicleType getType(String value) {
//         if ("bus".equals(value)) {
//             return BUS;
//         }
//         if ("tram".equals(value)) {
//             return TRAM;
//         }
//         if ("trolley".equals(value)) {
//             return TROLLEY;
//         }
//         if ("ship".equals(value)) {
//             return SHIP;
//         }
//         throw new IllegalStateException("Wrong vehicle type");
//     }
// }


// Path: src/main/java/com/emal/android/transport/spb/utils/DrawHelper.java
import android.graphics.*;
import android.support.v4.util.LruCache;
import com.emal.android.transport.spb.VehicleType;
import com.google.android.gms.maps.model.BitmapDescriptor;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

package com.emal.android.transport.spb.utils;



/**
 * User: alexey.emelyanenko@gmail.com
 * Date: 10/15/14 11:16 PM
 */
public class DrawHelper {
    private static Map<String, BitmapDescriptor> cacheTypes = new ConcurrentHashMap<String, BitmapDescriptor>(4);
    private static LruCache<String, BitmapDescriptor> cacheNumbers = new LruCache<String, BitmapDescriptor>((int)(Runtime.getRuntime().maxMemory() / 1024 / 16));

    public static void evictCaches() {
        cacheTypes.clear();
        cacheNumbers.evictAll();
    }

    public static BitmapDescriptor getVechicleTypeBitmapDescriptor(VehicleType transportType, float scaleFactor) {