UNCCGameDay/src/com/uncc/gameday/activities/Search.java

87 lines
2.2 KiB
Java

package com.uncc.gameday.activities;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import retrofit.RetrofitError;
import android.content.Context;
import android.os.Bundle;
import android.os.Looper;
import android.util.Log;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
import com.uncc.gameday.R;
import com.uncc.gameday.registration.Attendee;
import com.uncc.gameday.registration.RegistrationClient;
public class Search extends MenuActivity {
List<Attendee> rsvpList;
boolean listFetched = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_search_rsvp);
new fetchAttendeesThread(this).start();
}
private class fetchAttendeesThread extends Thread {
Context c;
public fetchAttendeesThread(Context c) {
this.c = c;
}
public void run() {
if (Looper.myLooper() == null) {
Looper.prepare();
}
try {
RegistrationClient client = new RegistrationClient(this.c);
rsvpList = client.listAttendees();
listFetched = true;
} catch (RetrofitError e) {
runOnUiThread(new Thread(){
public void run(){
Toast.makeText(c, R.string.internet_down_error,
Toast.LENGTH_SHORT).show();
}
});
Log.e("Search", e.getMessage());
}
// sorts RSVPList alphabetically by last name
if (rsvpList != null) {
Collections.sort(rsvpList, new Comparator<Attendee>() {
@Override
public int compare(Attendee a1, Attendee a2) {
String compareName = a1.getLastName().toLowerCase();
String thisName = a2.getLastName().toLowerCase();
return compareName.compareTo(thisName);
}
});
} else {
rsvpList = new ArrayList<Attendee>();
}
runOnUiThread(new Runnable() {
@Override
public void run() {
ListView listView = (ListView) findViewById(R.id.RSVPListView);
ArrayAdapter<Attendee> adapter = new ArrayAdapter<Attendee>(
c, android.R.layout.simple_list_item_1, rsvpList);
listView.setAdapter(adapter);
}
});
}
}
}