// Created by plusminus on 7:18:35 PM - Feb 18, 2009 package org.androad.ui.map.hud.impl.basic; import org.androad.R; import org.androad.osm.views.overlay.util.DirectionArrowDescriptor; import org.androad.ui.map.hud.IHUDImpl; import org.androad.ui.map.hud.IHUDImplVariation; import org.androad.ui.map.hud.IHUDNextActionView; import org.androad.ui.map.hud.IHUDRemainingSummaryView; import org.androad.ui.map.hud.IHUDTurnDescriptionView; import org.androad.ui.map.hud.impl.basic.views.HUDNextActionView; import org.androad.ui.map.hud.impl.basic.views.HUDRemainingSummaryView; import org.androad.ui.map.hud.impl.basic.views.HUDTurnDescriptionView; import org.androad.ui.map.hud.impl.basic.views.HUDUpperNextActionView; import org.androad.ui.map.hud.util.Util; import android.graphics.Point; import android.view.View; public class BasicHUDImpl implements IHUDImpl { // =========================================================== // Constants // =========================================================== public static final int ID = 0; // =========================================================== // Fields // =========================================================== private HUDNextActionView mHUDNextActionView; private HUDUpperNextActionView mHUDUpperNextActionView; private HUDRemainingSummaryView mHUDRemainingSummaryView; private HUDTurnDescriptionView mHUDTurnDescriptionView; // =========================================================== // Constructors // =========================================================== @Override public void init(final View pRootView) { this.mHUDNextActionView = (HUDNextActionView) pRootView.findViewById(R.id.hud_ddmap_basic_nextaction); this.mHUDUpperNextActionView = (HUDUpperNextActionView) pRootView.findViewById(R.id.hud_ddmap_basic_uppernextaction); this.mHUDRemainingSummaryView = (HUDRemainingSummaryView) pRootView.findViewById(R.id.hud_ddmap_basic_summary); this.mHUDTurnDescriptionView = (HUDTurnDescriptionView) pRootView.findViewById(R.id.hud_ddmap_basic_turndescription); } // =========================================================== // Getter & Setter // =========================================================== @Override public IHUDTurnDescriptionView getTurnTurnDescriptionView() { return this.mHUDTurnDescriptionView; } @Override public IHUDNextActionView getNextActionView() { return this.mHUDNextActionView; } @Override public IHUDNextActionView getUpperNextActionView() { return this.mHUDUpperNextActionView; } @Override public IHUDRemainingSummaryView getRemainingSummaryView() { return this.mHUDRemainingSummaryView; } // =========================================================== // Methods from SuperClass/Interfaces // =========================================================== @Override public int getID() { return ID; } @Override public IHUDImplVariation getVariation(final int pVariationID) { return Util.getVariation(VARIATIONS, pVariationID); } @Override public void setUpperNextActionViewNecessary(final boolean pNecessary) { this.mHUDUpperNextActionView.setVisibility((pNecessary) ? View.VISIBLE : View.GONE); } @Override public void invalidateViews() { this.mHUDNextActionView.postInvalidate(); this.mHUDUpperNextActionView.postInvalidate(); this.mHUDRemainingSummaryView.postInvalidate(); } @Override public int getCountOfVariations() { return VARIATIONS.length; } @Override public int getNameResourceID() { return R.string.hud_basic_name; } @Override public int getDescriptionResourceID() { return R.string.hud_basic_description; } @Override public IHUDImplVariation[] getVariations() { return VARIATIONS; } // =========================================================== // Methods // =========================================================== // =========================================================== // Inner and Anonymous Classes // =========================================================== private static final IHUDImplVariation[] VARIATIONS = new IHUDImplVariation[]{ new IHUDImplVariation(){ @Override public int getLayoutID() { return R.layout.ddmap_hud_basic_default; } @Override public int getVariationID() { return VARIATION_DEFAULT_ID; } @Override public DirectionArrowDescriptor getDirectionArrowDescriptor() { return new DirectionArrowDescriptor(new Point(20,20), R.drawable.hud_basic_variation_default_direction_arrow); } @Override public int getDescriptionStringID() { return R.string.hud_basic_variation_default; } @Override public int getScreenshotResourceID() { return R.drawable.hud_basic_variation_default_sample; } }, new IHUDImplVariation(){ @Override public int getLayoutID() { return R.layout.ddmap_hud_basic_variation_1; } @Override public int getVariationID() { return VARIATION_DEFAULT_ID + 1; } @Override public DirectionArrowDescriptor getDirectionArrowDescriptor() { return new DirectionArrowDescriptor(new Point(24,30), R.drawable.hud_mavoric_variation_default_direction_arrow); } @Override public int getDescriptionStringID() { return R.string.hud_basic_variation_1; } @Override public int getScreenshotResourceID() { return R.drawable.hud_basic_variation_1_sample; } } }; }