[android] Added transit button in toolbar

This commit is contained in:
Александр Зацепин 2017-11-08 14:54:31 +03:00 committed by Vladimir Byko-Ianko
parent 879fa8cb6a
commit ab09cbb175
12 changed files with 61 additions and 8 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 503 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 325 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 560 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

View file

@ -53,23 +53,32 @@
tools:buttonTint="?colorAccent" />
<com.mapswithme.maps.widget.RoutingToolbarButton
android:id="@+id/bicycle"
android:id="@+id/pedestrian"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="12dp"
android:layout_marginStart="12dp"
android:layout_marginRight="12dp"
android:layout_marginEnd="12dp"
tools:button="@drawable/ic_bike"
tools:button="@drawable/ic_pedestrian"
tools:buttonTint="?iconTintLight" />
<com.mapswithme.maps.widget.RoutingToolbarButton
android:id="@+id/pedestrian"
android:id="@+id/transit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/margin_half_plus"
android:layout_marginEnd="@dimen/margin_half_plus"
tools:button="@drawable/ic_transit"
tools:buttonTint="?iconTintLight" />
<com.mapswithme.maps.widget.RoutingToolbarButton
android:id="@+id/bicycle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="12dp"
android:layout_marginEnd="12dp"
tools:button="@drawable/ic_walk"
tools:button="@drawable/ic_bike"
tools:buttonTint="?iconTintLight" />
<com.mapswithme.maps.widget.RoutingToolbarButton
@ -102,7 +111,7 @@
tools:visibility="visible"/>
<com.mapswithme.maps.widget.WheelProgressView
android:id="@+id/progress_bicycle"
android:id="@+id/progress_pedestrian"
style="@style/MwmWidget.ProgressWheel.RoutingPlan"
android:layout_marginTop="@dimen/routing_selector_wheel_margin"
android:layout_marginBottom="@dimen/routing_selector_wheel_margin"
@ -112,7 +121,15 @@
android:layout_marginEnd="12dp"/>
<com.mapswithme.maps.widget.WheelProgressView
android:id="@+id/progress_pedestrian"
android:id="@+id/progress_transit"
style="@style/MwmWidget.ProgressWheel.RoutingPlan"
android:layout_marginTop="@dimen/routing_selector_wheel_margin"
android:layout_marginBottom="@dimen/routing_selector_wheel_margin"
android:layout_marginRight="12dp"
android:layout_marginEnd="12dp"/>
<com.mapswithme.maps.widget.WheelProgressView
android:id="@+id/progress_bicycle"
style="@style/MwmWidget.ProgressWheel.RoutingPlan"
android:layout_marginTop="@dimen/routing_selector_wheel_margin"
android:layout_marginBottom="@dimen/routing_selector_wheel_margin"

View file

@ -42,7 +42,8 @@ public class Framework
public static final int MAP_STYLE_VEHICLE_DARK = 4;
@Retention(RetentionPolicy.SOURCE)
@IntDef({ROUTER_TYPE_VEHICLE, ROUTER_TYPE_PEDESTRIAN, ROUTER_TYPE_BICYCLE, ROUTER_TYPE_TAXI})
@IntDef({ ROUTER_TYPE_VEHICLE, ROUTER_TYPE_PEDESTRIAN, ROUTER_TYPE_BICYCLE, ROUTER_TYPE_TAXI,
ROUTER_TYPE_TRANSIT })
public @interface RouterType {}
@ -50,6 +51,7 @@ public class Framework
public static final int ROUTER_TYPE_PEDESTRIAN = 1;
public static final int ROUTER_TYPE_BICYCLE = 2;
public static final int ROUTER_TYPE_TAXI = 3;
public static final int ROUTER_TYPE_TRANSIT = 4;
@Retention(RetentionPolicy.SOURCE)
@IntDef({DO_AFTER_UPDATE_NOTHING, DO_AFTER_UPDATE_AUTO_UPDATE, DO_AFTER_UPDATE_ASK_FOR_UPDATE,

View file

@ -2339,6 +2339,9 @@ public class MwmActivity extends BaseMwmFragmentActivity
case "taxi":
routerType = Framework.ROUTER_TYPE_TAXI;
break;
case "transit":
routerType = Framework.ROUTER_TYPE_TRANSIT;
break;
}
}

View file

@ -375,6 +375,11 @@ public enum LocationHelper
mInterval = INTERVAL_NAVIGATION_BICYCLE_MS;
break;
case Framework.ROUTER_TYPE_TRANSIT:
// TODO: what is the interval should be for transit type?
mInterval = INTERVAL_NAVIGATION_PEDESTRIAN_MS;
break;
default:
throw new IllegalArgumentException("Unsupported router type: " + router);
}

View file

@ -30,9 +30,15 @@ public class RoutingPlanController extends ToolbarController
protected final View mFrame;
private final RadioGroup mRouterTypes;
@NonNull
private final WheelProgressView mProgressVehicle;
@NonNull
private final WheelProgressView mProgressPedestrian;
@NonNull
private final WheelProgressView mProgressTransit;
@NonNull
private final WheelProgressView mProgressBicycle;
@NonNull
private final WheelProgressView mProgressTaxi;
@NonNull
@ -115,9 +121,21 @@ public class RoutingPlanController extends ToolbarController
}
});
setupRouterButton(R.id.transit, R.drawable.ic_transit, new View.OnClickListener()
{
@Override
public void onClick(View v)
{
AlohaHelper.logClick(AlohaHelper.ROUTING_TRANSIT_SET);
Statistics.INSTANCE.trackEvent(Statistics.EventName.ROUTING_TRANSIT_SET);
RoutingController.get().setRouterType(Framework.ROUTER_TYPE_TRANSIT);
}
});
View progressFrame = mToolbar.findViewById(R.id.progress_frame);
mProgressVehicle = (WheelProgressView) progressFrame.findViewById(R.id.progress_vehicle);
mProgressPedestrian = (WheelProgressView) progressFrame.findViewById(R.id.progress_pedestrian);
mProgressTransit = (WheelProgressView) progressFrame.findViewById(R.id.progress_transit);
mProgressBicycle = (WheelProgressView) progressFrame.findViewById(R.id.progress_bicycle);
mProgressTaxi = (WheelProgressView) progressFrame.findViewById(R.id.progress_taxi);
@ -162,7 +180,8 @@ public class RoutingPlanController extends ToolbarController
public void updateBuildProgress(int progress, @Framework.RouterType int router)
{
UiUtils.invisible(mProgressVehicle, mProgressPedestrian, mProgressBicycle, mProgressTaxi);
UiUtils.invisible(mProgressVehicle, mProgressPedestrian, mProgressTransit,
mProgressBicycle, mProgressTaxi);
WheelProgressView progressView;
if (router == Framework.ROUTER_TYPE_VEHICLE)
{
@ -179,6 +198,11 @@ public class RoutingPlanController extends ToolbarController
mRouterTypes.check(R.id.taxi);
progressView = mProgressTaxi;
}
else if (router == Framework.ROUTER_TYPE_TRANSIT)
{
mRouterTypes.check(R.id.transit);
progressView = mProgressTransit;
}
else
{
mRouterTypes.check(R.id.bicycle);

View file

@ -75,6 +75,7 @@ public class AlohaHelper
public static final String ROUTING_PEDESTRIAN_SET = "routerSetPedestrian";
public static final String ROUTING_BICYCLE_SET = "routerSetBicycle";
public static final String ROUTING_TAXI_SET = "routerSetTaxi";
public static final String ROUTING_TRANSIT_SET = "routerSetTransit";
public static final String ROUTING_SWAP_POINTS = "routeSwapPoints";
public static final String ROUTING_TOGGLE = "routeToggle";
public static final String ROUTING_SEARCH_POINT = "routSearchPoint";

View file

@ -217,6 +217,7 @@ public enum Statistics
public static final String ROUTING_PEDESTRIAN_SET = "Routing. Set pedestrian";
public static final String ROUTING_BICYCLE_SET = "Routing. Set bicycle";
public static final String ROUTING_TAXI_SET = "Routing. Set taxi";
public static final String ROUTING_TRANSIT_SET = "Routing. Set transit";
public static final String ROUTING_SWAP_POINTS = "Routing. Swap points";
public static final String ROUTING_TOGGLE = "Routing. Toggle";
public static final String ROUTING_SEARCH_POINT = "Routing. Search point";