Android Open Source - Save-the-Planet Sync Progress






From Project

Back to project page Save-the-Planet.

License

The source code is released under:

Copyright (c) 2002 JSON.org Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software ...

If you think the Android project Save-the-Planet listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.karolmajta.stp.models;
/*from w w  w. j a v a 2 s .c  om*/
import java.util.ArrayList;

import com.karolmajta.stp.exception.NoTasksInProgressQueueException;

public class SyncProgress implements IProgress {
  private class TaskWeightPair {
    public ITask task;
    public int weight;
    public TaskWeightPair(ITask task, int weight) {
      this.task = task;
      this.weight = weight;
    }
  }
  
  private ArrayList<TaskWeightPair> tasks;
  private int addPointer;
  private int processPointer;
  private int weightsTotal;
  private int weightsProcessed;
  
  public SyncProgress() {
    tasks = new ArrayList<TaskWeightPair>();
    addPointer = 0;
    processPointer = 0;
    weightsTotal = 0;
    weightsProcessed = 0;
  }
  
  @Override
  public int addTask(ITask task, int weight) {
    tasks.add(addPointer, new TaskWeightPair(task, weight));
    addPointer++;
    weightsTotal+=weight;
    return addPointer-1;
  }

  @Override
  public int getTotal() {
    return weightsTotal;
  }

  @Override
  public int getProcessed() {
    return weightsProcessed;
  }

  @Override
  public void markAsProcessed(int id) {
    weightsProcessed += tasks.get(id).weight;
  }

  @Override
  public boolean hasNextTask() {
    return processPointer <= tasks.size()-1 ? true : false;
  }

  @Override
  public boolean doNext() throws NoTasksInProgressQueueException {
    if(!hasNextTask()){
      throw new NoTasksInProgressQueueException();
    }
    ITask t = tasks.get(processPointer).task;
    t.launch();
    markAsProcessed(processPointer);
    processPointer++;
    return hasNextTask();
  }

}




Java Source Code List

com.karolmajta.procprox.DragDetector.java
com.karolmajta.procprox.Drag.java
com.karolmajta.procprox.FontManager.java
com.karolmajta.procprox.IEventFilter.java
com.karolmajta.procprox.TapDetector.java
com.karolmajta.procprox.Tap.java
com.karolmajta.procprox.excepiton.FontNotCreatedException.java
com.karolmajta.stp.LoadingScreenActivity.java
com.karolmajta.stp.MainMenuActivity.java
com.karolmajta.stp.exception.NoDeferredException.java
com.karolmajta.stp.exception.NoTasksInProgressQueueException.java
com.karolmajta.stp.exception.STPException.java
com.karolmajta.stp.exception.UnboundViewException.java
com.karolmajta.stp.models.ICanCollide.java
com.karolmajta.stp.models.IPConstants.java
com.karolmajta.stp.models.IProgress.java
com.karolmajta.stp.models.ITask.java
com.karolmajta.stp.models.ITickable.java
com.karolmajta.stp.models.MainMenuItemBall.java
com.karolmajta.stp.models.MainMenuObstacleBall.java
com.karolmajta.stp.models.ObstacleManager.java
com.karolmajta.stp.models.SyncProgress.java
com.karolmajta.stp.models.SyncTask.java
com.karolmajta.stp.models.Tickable.java
com.karolmajta.stp.models.Viewport.java
com.karolmajta.stp.views.FancyTextView.java
com.karolmajta.stp.views.IDrawable.java
com.karolmajta.stp.views.MainMenuItemBallDebugView.java
com.karolmajta.stp.views.MainMenuItemBallView.java
com.karolmajta.stp.views.MainMenuObstacleBallDebugView.java
com.karolmajta.stp.views.MainMenuObstacleBallView.java
com.karolmajta.stp.views.ObstacleManagerView.java
com.karolmajta.stp.views.ProgressDebugView.java
com.karolmajta.stp.views.ProgressView.java
com.karolmajta.stp.views.View.java