Fetch University and UNCC alerts correctly

This commit is contained in:
bspeice 2013-12-08 20:52:29 -05:00
parent 90f149b51a
commit b9de3ac529

View File

@ -24,23 +24,25 @@ public class AlertFetcher {
/**
* Fetch all alerts - Twitter, timed, etc.
*
* @param ctx the ctx
* @param ctx
* the ctx
*/
public void fetchAlerts(Context ctx) {
// Fetch all alerts. Responsible for discovering what sources need to be fetched.
// Fetch all alerts. Responsible for discovering what sources need to be
// fetched.
try {
// Note we have to use the SharedPreferences so that we have preferences no matter what activity
// Note we have to use the SharedPreferences so that we have
// preferences no matter what activity
// sent us this context
SharedPreferences settings = ctx.getSharedPreferences(ctx.getString(R.string.preferences_file), 0); // MODE_PRIVATE
SharedPreferences settings = ctx.getSharedPreferences(
ctx.getString(R.string.preferences_file), 0); // MODE_PRIVATE
if (settings.getBoolean("ALERT_ORGANIZATION", false))
// Fetch organization alerts
this.fetchOrganizationAlerts(ctx);
if (settings.getBoolean("ALERT_UNIVERSITY", false))
// Fetch university alerts
this.fetchUniversityAlerts(ctx);
// And always fetch alerts made by us. Period.
this.fetchGamedayAlerts(ctx);
} catch (TwitterException e) {
Log.w("AlertFetcher", "Unable to fetch alerts from Twitter...", e);
@ -50,8 +52,10 @@ public class AlertFetcher {
/**
* Fetch all Organization alerts from Twitter
*
* @param ctx - The Context needed to access the Internet
* @throws TwitterException - Error in using the Twitter API
* @param ctx
* - The Context needed to access the Internet
* @throws TwitterException
* - Error in using the Twitter API
*/
private void fetchOrganizationAlerts(Context ctx) throws TwitterException {
// Process fetching organization alerts (alerts retweeted by us)
@ -71,15 +75,16 @@ public class AlertFetcher {
String type = AlertType.getValue(AlertType.ORGANIZATION);
pushToDatabase(statuses, type, ctx);
// List contains all valid alerts now
}
/**
* Fetch alerts from the University Twitter
*
* @param ctx - The Context for accessing the Internet
* @throws TwitterException - Throws an exception for misuse of Twitter API
* @param ctx
* - The Context for accessing the Internet
* @throws TwitterException
* - Throws an exception for misuse of Twitter API
*/
private void fetchUniversityAlerts(Context ctx) throws TwitterException {
// Process fetching university alerts
@ -96,8 +101,10 @@ public class AlertFetcher {
/**
* Fetch gameday alerts.
*
* @param ctx the ctx
* @throws TwitterException the twitter exception
* @param ctx
* the ctx
* @throws TwitterException
* the twitter exception
*/
private void fetchGamedayAlerts(Context ctx) throws TwitterException {
// Process fetching alerts generated by staff of UNCCGameDay
@ -124,16 +131,15 @@ public class AlertFetcher {
// takes list of statuses
// converts it to Alert object type
// and persists to database
public void pushToDatabase(List<Status> statuses, String type, Context ctx)
{
public void pushToDatabase(List<Status> statuses, String type, Context ctx) {
GregorianCalendar todayDate = new GregorianCalendar();
long currentDate = todayDate.getTimeInMillis();
AlertDB db = new AlertDB(ctx);
for(int i = 0; i < statuses.size(); i++)
{
Alert temp = new Alert(currentDate, statuses.get(i).getText(), 0, type);
for (int i = 0; i < statuses.size(); i++) {
Alert temp = new Alert(currentDate, statuses.get(i).getText(), 0,
type);
db.persist(temp);
}
}