Ejemplo n.º 1
0
  @Override
  public View onCreateView(
      LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View myView = inflater.inflate(R.layout.finance_summary, container, false);

    // Access the purchaseListFragment in order to calculate total expenses
    PurchaseListFragment purchaseListFragment =
        (PurchaseListFragment)
            getFragmentManager().findFragmentById(R.id.financePurchaseListContainer);

    if (myView != null) {
      TextView travelTimeProgressTextView =
          (TextView) myView.findViewById(R.id.travelTimeProgressTextView);
      TextView budgetSpentProgressTextView =
          (TextView) myView.findViewById(R.id.budgetSpentProgressTextView);

      ProgressBar travelTimeProgressBar =
          (ProgressBar) myView.findViewById(R.id.travelTimeProgressBar);
      ProgressBar budgetSpentProgressBar =
          (ProgressBar) myView.findViewById(R.id.budgetSpentProgressBar);

      // Fill the travelProgress views with data
      if (currentTrip != null) {
        int totalDays =
            Days.daysBetween(currentTrip.getStartDate(), currentTrip.getEndDate()).getDays();
        int daysTraveled = Days.daysBetween(currentTrip.getStartDate(), new DateTime()).getDays();
        int progress = (int) Math.ceil(((double) daysTraveled / (double) totalDays) * 100);

        travelTimeProgressTextView.setText(daysTraveled + " / " + totalDays + " Days");
        travelTimeProgressBar.setProgress(progress);
      }

      // Fill the budgetSpentProgress views with data
      if (purchaseListFragment != null && currentTrip != null) {
        double totalBudget = currentTrip.getTotalBudget();
        double expenses = purchaseListFragment.calculateTotalExpenses();
        Log.d("Expenses calculated", String.valueOf(expenses));

        budgetSpentProgressTextView.setText(
            String.format("%.2f", expenses) + " / " + String.format("%.2f", totalBudget));
        budgetSpentProgressBar.setProgress(getBudgetProgress(expenses));
      } else {
        Log.d("No purchaseListFragment", "blah");
      }

      // Listens for when the user taps on the summary fragment
      myView.setOnClickListener(
          new View.OnClickListener() {
            @Override
            public void onClick(View v) {
              try {
                viewTripSettings(currentTrip);
              } catch (Exception e) {
                Log.e("Exception", "Can't get trip");
              }
            }
          });
    }
    // Inflate the view and place it on the screen
    return myView;
  }
Ejemplo n.º 2
0
 /**
  * Returns the budget spent out of total budget as an int between 0 and 100
  *
  * @param sumTotal sum price of all purchases
  * @return progress as an int between 0 and 100
  */
 public int getBudgetProgress(double sumTotal) {
   return (int) Math.ceil((sumTotal / currentTrip.getTotalBudget()) * 100);
 }