Android Open Source - game_guess_lib Guess Game Updater

From Project

Back to project page game_guess_lib.


The source code is released under:

MIT License

If you think the Android project game_guess_lib 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.wkmf.guess.lib.service;
/*  ww  w  . jav  a2  s.  co m*/
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Build;

import com.wkmf.guess.lib.R;
import com.wkmf.guess.lib.common.api.GuessApi;
import com.wkmf.guess.lib.common.api.GuessRestApi;
import com.wkmf.guess.lib.structure.GuessConfig;
import com.wkmf.guess.lib.structure.GuessGame;
import com.wkmf.lib.curl.CurlListener;

import java.util.Random;

 * Created by ernestofndz on 07/03/14.
public class GuessGameUpdater extends BroadcastReceiver implements CurlListener {

    private GuessGame guessGame = null;
    private Context context;
    private NotificationManager notificationManager;
    private NotificationCompat.Builder notificationBuilder;

    public void onReceive(Context context, Intent intent) {
        this.context = context;
        // recuperamos el objeto desde bdd
        guessGame = new GuessGameBDDHandler(context, GuessConfig.BDD).getGuessGame();
        if (guessGame != null) {
            // hacemos la peticin al servidor
            new GuessRestApi(context, this, false).getLevels(guessGame.getAppId());

    public void callback(String result) {
        // recibimos la respuesta
        final GuessGame guessGameNew = new GuessGame(guessGame.getAppId(), GuessApi.toLevels(result));
        // comparamos con actual
        if (guessGameNew.getLevels().size() > guessGame.getLevels().size()) {
            // tenemos niveles nuevos, los recuperamos e insertamos en bdd
            for (int i = guessGame.getLevels().size(); i < guessGameNew.getLevels().size(); i++) {
            // insertamos en bdd
            new GuessGameBDDHandler(context, GuessConfig.BDD).update(guessGame);
            // damos aviso al usuario de que tiene ms niveles disponibles

    private void notifyUser() {
        // inicializamos el sistema de notificaciones
        this.notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
        // builder de la notificacion
        this.notificationBuilder = new NotificationCompat.Builder(context);
        // generamos notificacion aleatoria
        int notif_id = new Random(System.currentTimeMillis()).nextInt();
        // inicializamos la notificacin
        long[] vibraPattern = {0, 500, 250, 500};
        // notificamos al usuario
        if (Build.VERSION.SDK_INT < 16) {
            /*build notification for HoneyComb to ICS*/
            notificationManager.notify(notif_id, this.notificationBuilder.getNotification());
        if (Build.VERSION.SDK_INT > 15) {
            /*Notification for Jellybean and above*/

Java Source Code List