Android Open Source - MentalMathX Highscore Controller Impl






From Project

Back to project page MentalMathX.

License

The source code is released under:

GNU General Public License

If you think the Android project MentalMathX 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 net.schlingel.bplaced.mentalmathx.controller.impl;
// w w  w  . j a  va2 s. co  m
import android.content.Context;
import android.os.AsyncTask;
import android.util.Log;

import net.schlingel.bplaced.mentalmathx.controller.HighscoreController;
import net.schlingel.bplaced.mentalmathx.model.Score;
import net.schlingel.bplaced.mentalmathx.utils.DatabaseHelper;
import net.schlingel.bplaced.mentalmathx.view.HighscoresView;

import java.sql.SQLException;
import java.util.List;

/**
 * Created by zombie on 01.08.14.
 */
public class HighscoreControllerImpl implements HighscoreController {
    public static class QueryTask extends AsyncTask<Void, Void, List<Score>> {
        private Context context;
        private HighscoresView highscoresView;

        public QueryTask(Context context, HighscoresView highscoresView) {
            this.context = context;
            this.highscoresView = highscoresView;
        }

        @Override
        protected List<Score> doInBackground(Void... voids) {
            Log.i(HighscoreControllerImpl.TAG, "Starting DB fetch");

            try {
                DatabaseHelper helper = new DatabaseHelper(context);
                List<Score> scores = helper.fetchAll();

                return scores;
            } catch(SQLException e) {
                Log.e(HighscoreControllerImpl.TAG, "SQL exception occurred! Fallback to error view");
            }

            return null;
        }

        @Override
        protected void onPostExecute(List<Score> scores) {
            Log.i(HighscoreControllerImpl.TAG, String.format("Got %d entries in scores database", scores.size()));

            highscoresView.show(scores.toArray(new Score[0]));
        }

        public static QueryTask from(Context context, HighscoresView view) {
            return new QueryTask(context, view);
        }
    }

    private static final String TAG = HighscoreControllerImpl.class.getSimpleName();
    private final HighscoresView view;
    private final Context context;

    public HighscoreControllerImpl(Context context, HighscoresView view) {
        this.context = context;
        this.view = view;
    }

    @Override
    public void fetchScores() {
        QueryTask.from(context, view).execute();
    }
}




Java Source Code List

net.schlingel.bplaced.mentalmathx.AboutActivity.java
net.schlingel.bplaced.mentalmathx.GameActivity.java
net.schlingel.bplaced.mentalmathx.HighscoresActivity.java
net.schlingel.bplaced.mentalmathx.NewGameActivity.java
net.schlingel.bplaced.mentalmathx.SelectDifficultyActivity.java
net.schlingel.bplaced.mentalmathx.controller.GameController.java
net.schlingel.bplaced.mentalmathx.controller.HighscoreController.java
net.schlingel.bplaced.mentalmathx.controller.impl.GameControllerImpl.java
net.schlingel.bplaced.mentalmathx.controller.impl.HighscoreControllerImpl.java
net.schlingel.bplaced.mentalmathx.game.Difficulty.java
net.schlingel.bplaced.mentalmathx.game.Mode.java
net.schlingel.bplaced.mentalmathx.game.logic.FiniteGameLogic.java
net.schlingel.bplaced.mentalmathx.game.logic.GameLogic.java
net.schlingel.bplaced.mentalmathx.game.logic.HoundredRoundsGameLogic.java
net.schlingel.bplaced.mentalmathx.game.logic.InfiniteGameLogic.java
net.schlingel.bplaced.mentalmathx.game.logic.TenExercisesGameLogic.java
net.schlingel.bplaced.mentalmathx.game.logic.TenRoundsGameLogic.java
net.schlingel.bplaced.mentalmathx.game.strategy.EasyExerciseStrategy.java
net.schlingel.bplaced.mentalmathx.game.strategy.ExerciseStrategyFactory.java
net.schlingel.bplaced.mentalmathx.game.strategy.ExerciseStrategy.java
net.schlingel.bplaced.mentalmathx.game.strategy.HardExerciseStrategy.java
net.schlingel.bplaced.mentalmathx.game.strategy.MediumExerciseStrategy.java
net.schlingel.bplaced.mentalmathx.game.strategy.OneOOneExerciseStrategy.java
net.schlingel.bplaced.mentalmathx.math.Calculation.java
net.schlingel.bplaced.mentalmathx.math.Calculations.java
net.schlingel.bplaced.mentalmathx.math.Number.java
net.schlingel.bplaced.mentalmathx.math.Operator.java
net.schlingel.bplaced.mentalmathx.math.Term.java
net.schlingel.bplaced.mentalmathx.model.Result.java
net.schlingel.bplaced.mentalmathx.model.Score.java
net.schlingel.bplaced.mentalmathx.model.adapters.ScoreAdapter.java
net.schlingel.bplaced.mentalmathx.utils.DatabaseHelper.java
net.schlingel.bplaced.mentalmathx.utils.DelayedTask.java
net.schlingel.bplaced.mentalmathx.utils.LabelHelper.java
net.schlingel.bplaced.mentalmathx.utils.MarathonScoreComparator.java
net.schlingel.bplaced.mentalmathx.utils.RegularScoreComparator.java
net.schlingel.bplaced.mentalmathx.view.DisplayMode.java
net.schlingel.bplaced.mentalmathx.view.GameView.java
net.schlingel.bplaced.mentalmathx.view.HighscoresView.java
net.schlingel.bplaced.mentalmathx.view.ResultsView.java
net.schlingel.bplaced.mentalmathx.view.impl.DialogResultsView.java
net.schlingel.bplaced.mentalmathx.view.impl.FragmentHighscoresSubView.java