Beispiel #1
0
 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);
 }