Tap to delete alerts built.

This commit is contained in:
agk512 2013-11-21 15:52:23 -05:00
parent 1e19e763bd
commit 7471118550
3 changed files with 52 additions and 30 deletions

View File

@ -9,6 +9,8 @@ import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor; import android.content.SharedPreferences.Editor;
import android.os.Bundle; import android.os.Bundle;
import android.view.View; import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter; import android.widget.ArrayAdapter;
import android.widget.Button; import android.widget.Button;
import android.widget.ListView; import android.widget.ListView;
@ -25,9 +27,6 @@ import com.uncc.gameday.alerts.AlertService;
* The Class Home. * The Class Home.
*/ */
public class Home extends MenuActivity { public class Home extends MenuActivity {
/** The alarm rate. */ /** The alarm rate. */
private final long alarmRate = 300000; // 5 Minutes private final long alarmRate = 300000; // 5 Minutes
@ -47,7 +46,6 @@ public class Home extends MenuActivity {
} }
}); });
// Start up the AlarmManager to fetch alerts in the background // Start up the AlarmManager to fetch alerts in the background
AlarmManager am = (AlarmManager) this.getSystemService(ALARM_SERVICE); AlarmManager am = (AlarmManager) this.getSystemService(ALARM_SERVICE);
Intent alertFetcher = new Intent(this, AlertService.class); Intent alertFetcher = new Intent(this, AlertService.class);
@ -63,43 +61,53 @@ public class Home extends MenuActivity {
this.displayList(); this.displayList();
} }
//displays all alerts in database, regardless of being shown or not
public void displayList() public void displayList()
{ {
List<Alert> alerts = new AlertDB(this).fetchAll(); final List<Alert> alerts = new AlertDB(this).fetchAll();
String[] printArray = new String[alerts.size()]; final ListView listView = (ListView)findViewById(R.id.alertsListView);
final ArrayAdapter<Alert> adapter =
//get message from each alert and put in printArray new ArrayAdapter<Alert>(this,android.R.layout.simple_list_item_1, alerts);
for(int i = 0; i < alerts.size(); i++)
{
printArray[i] = alerts.get(i).getMessage();
}
ListView listView = (ListView)findViewById(R.id.alertsListView);
ArrayAdapter<String> adapter =
new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, printArray);
listView.setAdapter(adapter); listView.setAdapter(adapter);
//tap to delete alert from list and database
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
deleteAlert(alerts.get(position));
displayList();
}
});
} }
//function to delete alert from database
public void deleteAlert(Alert alert)
{
new AlertDB(this).deleteAlert(alert);
}
//displays only unread alerts
public void displayUnread() public void displayUnread()
{ {
final List<Alert> alerts = new AlertDB(this).fetchUnread();
List<Alert> alerts = new AlertDB(this).fetchUnread(); final ListView listView = (ListView)findViewById(R.id.alertsListView);
final ArrayAdapter<Alert> adapter =
String[] printArray = new String[alerts.size()]; new ArrayAdapter<Alert>(this,android.R.layout.simple_list_item_1, alerts);
//get message from each alert and put in printArray
for(int i = 0; i < alerts.size(); i++)
{
printArray[i] = alerts.get(i).getMessage();
}
ListView listView = (ListView)findViewById(R.id.alertsListView);
ArrayAdapter<String> adapter =
new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, printArray);
listView.setAdapter(adapter); listView.setAdapter(adapter);
//tap to delete alert from list and database
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
deleteAlert(alerts.get(position));
displayList();
}
});
} }
/** /**

View File

@ -55,6 +55,10 @@ public class Alert {
this.shown = i; this.shown = i;
} }
public String toString() {
return this.message;
}
public void displayNotification(Context ctx) { public void displayNotification(Context ctx) {
NotificationCompat.Builder builder = new NotificationCompat.Builder(ctx) NotificationCompat.Builder builder = new NotificationCompat.Builder(ctx)
.setSmallIcon(R.drawable.ic_launcher) .setSmallIcon(R.drawable.ic_launcher)

View File

@ -83,6 +83,16 @@ public class AlertDB extends SQLiteOpenHelper {
return null; return null;
} }
//delete specified alert from DB
public void deleteAlert(Alert alert) {
SQLiteDatabase db = this.getWritableDatabase();
db.delete(TABLE_ALERTS, KEY_MESSAGE + " = ?",
new String[] { String.valueOf(alert.getMessage()) });
db.close();
}
//get all alerts from Database //get all alerts from Database
//regardless of type, or if it has been shown //regardless of type, or if it has been shown