// Created by plusminus on 20:45:48 - 25.04.2008 package org.androad.adt.voice; import org.androad.R; import org.androad.preferences.PreferenceConstants; import org.androad.sys.ors.adt.rs.DirectionsLanguage; import android.content.Context; public enum DistanceVoiceElement implements PreferenceConstants { M_50(R.raw.m_50, PREF_TURNVOICE_ELEMENT_50), M_100(R.raw.m_100, PREF_TURNVOICE_ELEMENT_100), M_200(R.raw.m_200, PREF_TURNVOICE_ELEMENT_200), M_500(R.raw.m_500, PREF_TURNVOICE_ELEMENT_500), KM_ONE(R.raw.km_1, 1, PREF_TURNVOICE_ELEMENT_1000), KM_TWO(R.raw.km_2, 2, PREF_TURNVOICE_ELEMENT_2000), KM_FIVE(R.raw.km_5, 5, PREF_TURNVOICE_ELEMENT_5000), KM_TEN(R.raw.km_10, 10, PREF_TURNVOICE_ELEMENT_10000), KM_TWENTY_FIVE(R.raw.km_25, 25, PREF_TURNVOICE_ELEMENT_25000), Y_50(R.raw.y_50, PREF_TURNVOICE_ELEMENT_50), Y_100(R.raw.y_100, PREF_TURNVOICE_ELEMENT_100), Y_200(R.raw.y_200, PREF_TURNVOICE_ELEMENT_200), Y_500(R.raw.y_500, PREF_TURNVOICE_ELEMENT_500), MI_ONE(R.raw.mi_1, 1, PREF_TURNVOICE_ELEMENT_1000), MI_TWO(R.raw.mi_2, 2, PREF_TURNVOICE_ELEMENT_2000), MI_FIVE(R.raw.mi_5, 5, PREF_TURNVOICE_ELEMENT_5000), MI_TEN(R.raw.mi_10, 10, PREF_TURNVOICE_ELEMENT_10000), MI_TWENTY_FIVE(R.raw.mi_25, 25, PREF_TURNVOICE_ELEMENT_25000); public final int RESID; public final int LENGTH_UNITWISE; public final int LENGTH_METERS; private DistanceVoiceElement(final int aResID, final int aLengthUnitwise) { this(aResID, aLengthUnitwise, aLengthUnitwise); } private DistanceVoiceElement(final int aResID, final int aLengthUnitwise, final int aLengthMeters) { this.RESID = aResID; this.LENGTH_UNITWISE = aLengthUnitwise; this.LENGTH_METERS = aLengthMeters; } public String getUnitTextual(final Context ctx, final DirectionsLanguage pLanguage){ switch(this){ case M_50: case M_100: case M_200: case M_500: return pLanguage.getTurnInstructionsSet(ctx).getMeters(); case KM_ONE: case KM_TWO: case KM_FIVE: case KM_TEN: case KM_TWENTY_FIVE: return pLanguage.getTurnInstructionsSet(ctx).getKilometers(); case Y_50: case Y_100: case Y_200: case Y_500: return pLanguage.getTurnInstructionsSet(ctx).getYards(); case MI_ONE: case MI_TWO: case MI_FIVE: case MI_TEN: case MI_TWENTY_FIVE: return pLanguage.getTurnInstructionsSet(ctx).getMiles(); default: throw new IllegalStateException("Default-Branch in org.androad.nav.voice.DistanceVoiceElement.getUnitTextual()"); } } }