public static CharSequence formatRoutingTime( Context context, int seconds, @DimenRes int unitsSize) { long minutes = TimeUnit.SECONDS.toMinutes(seconds) % 60; long hours = TimeUnit.SECONDS.toHours(seconds); String min = context.getString(R.string.minute); String hour = context.getString(R.string.hour); @DimenRes int textSize = R.dimen.text_size_routing_number; SpannableStringBuilder displayedH = Utils.formatUnitsText(context, textSize, unitsSize, String.valueOf(hours), hour); SpannableStringBuilder displayedM = Utils.formatUnitsText(context, textSize, unitsSize, String.valueOf(minutes), min); return hours == 0 ? displayedM : TextUtils.concat(displayedH + " ", displayedM); }
private void updateVehicle(RoutingInfo info) { mDistanceTurn.setText( Utils.formatUnitsText( R.dimen.text_size_display_1, R.dimen.text_size_toolbar, info.distToTurn, info.turnUnits)); info.vehicleTurnDirection.setTurnDrawable(mTurnDirection); if (RoutingInfo.VehicleTurnDirection.isRoundAbout(info.vehicleTurnDirection)) UiUtils.setTextAndShow(mExitNumber, String.valueOf(info.exitNum)); else UiUtils.hide(mExitNumber); if (info.vehicleNextTurnDirection.containsNextTurn()) { UiUtils.appearSlidingDown(mNextTurnFrame, null); info.vehicleNextTurnDirection.setNextTurnDrawable(mNextTurnImage); } else UiUtils.disappearSlidingUp(mNextTurnFrame, null); }
public void update(RoutingInfo info) { if (info == null) return; if (Framework.nativeGetRouter() == Framework.ROUTER_TYPE_VEHICLE) updateVehicle(info); else updatePedestrian(info); mTimeTotal.setText( RoutingController.formatRoutingTime( info.totalTimeInSeconds, R.dimen.text_size_routing_dimension)); mDistanceTotal.setText( Utils.formatUnitsText( R.dimen.text_size_routing_number, R.dimen.text_size_routing_dimension, info.distToTarget, info.targetUnits)); mTimeArrival.setText(RoutingController.formatArrivalTime(info.totalTimeInSeconds)); UiUtils.setTextAndHideIfEmpty(mNextStreet, info.nextStreet); mRouteProgress.setProgress((int) info.completionPercent); }
private void updatePedestrian(RoutingInfo info) { Location next = info.pedestrianNextDirection; Location location = LocationHelper.INSTANCE.getLastLocation(); DistanceAndAzimut da = Framework.nativeGetDistanceAndAzimutFromLatLon( next.getLatitude(), next.getLongitude(), location.getLatitude(), location.getLongitude(), mNorth); String[] splitDistance = da.getDistance().split(" "); mDistanceTurn.setText( Utils.formatUnitsText( R.dimen.text_size_display_1, R.dimen.text_size_toolbar, splitDistance[0], splitDistance[1])); if (info.pedestrianTurnDirection != null) info.pedestrianTurnDirection.setTurnDrawable(mTurnDirection, da); }