package org.droidplanner.android.graphic.map; import org.droidplanner.android.R; import org.droidplanner.android.maps.MarkerInfo; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import com.o3dr.android.client.Drone; import com.o3dr.services.android.lib.coordinate.LatLong; import com.o3dr.services.android.lib.drone.attribute.AttributeType; import com.o3dr.services.android.lib.drone.property.Home; public class GraphicHome extends MarkerInfo.SimpleMarkerInfo { private Drone drone; public GraphicHome(Drone drone) { this.drone = drone; } @Override public float getAnchorU() { return 0.5f; } public boolean isValid() { Home droneHome = drone.getAttribute(AttributeType.HOME); return droneHome != null && droneHome.isValid(); } @Override public float getAnchorV() { return 0.5f; } @Override public Bitmap getIcon(Resources res) { return BitmapFactory.decodeResource(res, R.drawable.ic_wp_home); } @Override public LatLong getPosition() { Home droneHome = drone.getAttribute(AttributeType.HOME); if(droneHome == null) return null; return droneHome.getCoordinate(); } @Override public String getSnippet() { Home droneHome = drone.getAttribute(AttributeType.HOME); return "Home " + (droneHome == null ? "N/A" : droneHome.getCoordinate().getAltitude()); } @Override public String getTitle() { return "Home"; } @Override public boolean isVisible() { return isValid(); } }