mirror of
https://github.com/balkian/Carrousel-Android.git
synced 2024-12-22 21:18:13 +00:00
I15: Mostrar notificaciones
This commit is contained in:
parent
fb858d96a8
commit
7c1e616981
@ -74,4 +74,13 @@ public class Match {
|
|||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getLocalTeam() {
|
||||||
|
return localTeam;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getVisitorTeam() {
|
||||||
|
return visitorTeam;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,11 @@ import java.util.TimerTask;
|
|||||||
import org.json.JSONArray;
|
import org.json.JSONArray;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
import android.app.Notification;
|
||||||
|
import android.app.NotificationManager;
|
||||||
|
import android.app.PendingIntent;
|
||||||
import android.app.Service;
|
import android.app.Service;
|
||||||
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Binder;
|
import android.os.Binder;
|
||||||
import android.os.IBinder;
|
import android.os.IBinder;
|
||||||
@ -23,6 +27,9 @@ public class Results extends Service {
|
|||||||
private final IBinder mBinder = new LocalBinder();
|
private final IBinder mBinder = new LocalBinder();
|
||||||
private HashMap<String, Match> mMatches = new HashMap<String, Match>();
|
private HashMap<String, Match> mMatches = new HashMap<String, Match>();
|
||||||
private HashSet<String> mSubscriptions = null;
|
private HashSet<String> mSubscriptions = null;
|
||||||
|
private final String RESULTS_LOG = "Results";
|
||||||
|
private static final int SCORE_NOTIFICATION_ID = 1;
|
||||||
|
private NotificationManager mNM;
|
||||||
|
|
||||||
public HashMap<String, Match> getMatches() {
|
public HashMap<String, Match> getMatches() {
|
||||||
return mMatches;
|
return mMatches;
|
||||||
@ -50,6 +57,7 @@ public class Results extends Service {
|
|||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void onCreate() {
|
public void onCreate() {
|
||||||
|
mNM = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
|
||||||
pollingTask task = new pollingTask();
|
pollingTask task = new pollingTask();
|
||||||
Timer timer = new Timer(true);
|
Timer timer = new Timer(true);
|
||||||
timer.scheduleAtFixedRate(task, 0, 60000);
|
timer.scheduleAtFixedRate(task, 0, 60000);
|
||||||
@ -118,11 +126,59 @@ public class Results extends Service {
|
|||||||
return matches;
|
return matches;
|
||||||
}
|
}
|
||||||
|
|
||||||
private class pollingTask extends TimerTask {
|
private class pollingTask extends TimerTask {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
// Aqui descargaremos los resultados
|
Log.v(RESULTS_LOG, "running task");
|
||||||
}
|
if (mSubscriptions == null || mSubscriptions.isEmpty()) {
|
||||||
|
Log.v(RESULTS_LOG, "no subscriptions, exiting");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Log.v(RESULTS_LOG, "Has " + mSubscriptions.size() + " subscriptions");
|
||||||
|
HashMap<String, Match> matches = retrieveMatches();
|
||||||
|
if (matches == null || matches.isEmpty())
|
||||||
|
return;
|
||||||
|
|
||||||
|
for (String id : mSubscriptions ) {
|
||||||
|
if (matches.containsKey(id))
|
||||||
|
checkMatch(matches.get(id));
|
||||||
|
}
|
||||||
|
mMatches = matches;
|
||||||
|
}
|
||||||
|
private void checkMatch(Match match) {
|
||||||
|
if (match.getLocalGoals() > mMatches.get(match.getId()).getLocalGoals()) {
|
||||||
|
notifyGoal(match.getLocalTeam(),
|
||||||
|
match.getLocalTeam(), match.getLocalGoals(),
|
||||||
|
match.getVisitorTeam(), match.getVisitorGoals());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (match.getVisitorGoals() > mMatches.get(match.getId()).getVisitorGoals()) {
|
||||||
|
notifyGoal(match.getVisitorTeam(),
|
||||||
|
match.getLocalTeam(), match.getLocalGoals(),
|
||||||
|
match.getVisitorTeam(), match.getVisitorGoals());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
private void notifyGoal(String scoreTeam,
|
||||||
|
String localTeam, int localGoals,
|
||||||
|
String visitorTeam, int visitorGoals) {
|
||||||
|
String titleText = scoreTeam + " Scored!";
|
||||||
|
String contentText = scoreTeam + " Scored!\n" + localTeam + " " + localGoals +
|
||||||
|
" - " + visitorTeam + " " + visitorGoals;
|
||||||
|
int icon = R.drawable.icon;
|
||||||
|
long when = System.currentTimeMillis();
|
||||||
|
|
||||||
|
Notification notification = new Notification(icon, titleText, when);
|
||||||
|
Context context = getApplicationContext();
|
||||||
|
Intent notificationIntent = new Intent(this, Results.class);
|
||||||
|
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
|
||||||
|
|
||||||
|
notification.setLatestEventInfo(context, titleText, contentText, contentIntent);
|
||||||
|
|
||||||
|
|
||||||
|
mNM.notify(SCORE_NOTIFICATION_ID, notification);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user