Fix parking card

This commit is contained in:
Victor Shcherb 2015-03-11 00:39:20 +01:00
parent 6626fbfd51
commit f0ef761e31
2 changed files with 16 additions and 7 deletions

View file

@ -36,6 +36,7 @@ public abstract class DashLocationFragment extends DashBaseFragment {
public ImageView arrow;
public TextView txt;
public LatLon loc;
public int arrowResId;
public DashLocationView(ImageView arrow, TextView txt, LatLon loc) {
super();
@ -102,27 +103,33 @@ public abstract class DashLocationFragment extends DashBaseFragment {
LatLon loc = (useCenter ? mw : myLoc);
float h = useCenter ? -mapRotation : head;
for (DashLocationView lv : distances) {
updateLocationView(useCenter, loc, h, lv.arrow, lv.txt, lv.loc.getLatitude(), lv.loc.getLongitude(),
updateLocationView(useCenter, loc, h, lv.arrow, lv.arrowResId, lv.txt, lv.loc.getLatitude(), lv.loc.getLongitude(),
screenOrientation, getMyApplication(), getActivity());
}
}
public static void updateLocationView(boolean useCenter, LatLon fromLoc, Float h,
ImageView arrow, TextView txt, double toLat, double toLon,
int screenOrientation, OsmandApplication app, Context ctx) {
updateLocationView(useCenter, fromLoc, h, arrow, 0, txt, toLat, toLon, screenOrientation, app, ctx);
}
public static void updateLocationView(boolean useCenter, LatLon fromLoc, Float h,
ImageView arrow, int arrowResId, TextView txt, double toLat, double toLon,
int screenOrientation, OsmandApplication app, Context ctx) {
float[] mes = new float[2];
if (fromLoc != null) {
Location.distanceBetween(toLat, toLon, fromLoc.getLatitude(),
fromLoc.getLongitude(), mes);
Location.distanceBetween(toLat, toLon, fromLoc.getLatitude(), fromLoc.getLongitude(), mes);
}
if (arrow != null) {
if (!(arrow.getDrawable() instanceof DirectionDrawable)) {
DirectionDrawable dd = new DirectionDrawable(ctx, 10, 10);
arrow.setImageDrawable(dd);
}
if (arrowResId == 0) {
arrowResId = R.drawable.ic_destination_arrow_white;
}
DirectionDrawable dd = (DirectionDrawable) arrow.getDrawable();
dd.setImage(R.drawable.ic_destination_arrow_white, useCenter ? R.color.color_distance
: R.color.color_myloc_distance);
dd.setImage(arrowResId, useCenter ? R.color.color_distance : R.color.color_myloc_distance);
if (fromLoc == null || h == null) {
dd.setAngle(0);
} else {

View file

@ -91,7 +91,9 @@ public class DashParkingFragment extends DashLocationFragment {
((TextView) mainView.findViewById(R.id.name)).setText(parking_name);
ImageView direction = (ImageView) mainView.findViewById(R.id.direction_icon);
if (loc != null){
distances.add(new DashLocationView(direction, (TextView) mainView.findViewById(R.id.distance), position));
DashLocationView dv = new DashLocationView(direction, (TextView) mainView.findViewById(R.id.distance), position);
dv.arrowResId = R.drawable.ic_parking_postion_arrow;
distances.add(dv);
}