ProjectActivity.java (2491B)
1 /** 2 * 3 */ 4 package de.openrat.android.client; 5 6 import java.io.IOException; 7 import java.util.ArrayList; 8 import java.util.List; 9 10 import android.app.ListActivity; 11 import android.content.Intent; 12 import android.os.Bundle; 13 import android.util.Log; 14 import android.view.View; 15 import android.widget.AdapterView; 16 import android.widget.ListAdapter; 17 import android.widget.ListView; 18 import android.widget.AdapterView.OnItemClickListener; 19 import de.openrat.android.client.adapter.FolderContentAdapter; 20 import de.openrat.android.client.util.OpenRatClientAsyncTask; 21 import de.openrat.client.OpenRatClient; 22 23 /** 24 * @author dankert 25 * 26 */ 27 public class ProjectActivity extends ListActivity 28 { 29 public static final String CLIENT = "client"; 30 private OpenRatClient client; 31 private List<FolderEntry> data = new ArrayList<FolderEntry>(); 32 33 /** 34 * {@inheritDoc} 35 * 36 * @see android.app.Activity#onCreate(android.os.Bundle) 37 */ 38 @Override 39 protected void onCreate(Bundle savedInstanceState) 40 { 41 setContentView(R.layout.listing); 42 43 super.onCreate(savedInstanceState); 44 45 client = (OpenRatClient) getIntent().getSerializableExtra(CLIENT); 46 47 new OpenRatClientAsyncTask(this, R.string.waitingforprojects) 48 { 49 50 protected void doOnSuccess() 51 { 52 final ListAdapter adapter = new FolderContentAdapter( 53 ProjectActivity.this, data); 54 setListAdapter(adapter); 55 } 56 57 protected void callServer() throws IOException 58 { 59 60 data = client.loadProjects(); 61 Log.d(ProjectActivity.this.getClass().getSimpleName(), "Lade Projekte: "+data.toString() ); 62 } 63 }.execute(); 64 65 ListView list = getListView(); 66 67 list.setOnItemClickListener(new OnItemClickListener() 68 { 69 70 @Override 71 public void onItemClick(AdapterView<?> parent, View view, 72 int position, long id) 73 { 74 // Projekt auswählen 75 final String projectid = data.get(position).id; 76 77 new OpenRatClientAsyncTask(ProjectActivity.this, 78 R.string.waitingforselectproject) 79 { 80 81 @Override 82 protected void callServer() throws IOException 83 { 84 client.selectProject(projectid); 85 Log.d(ProjectActivity.this.getClass().getSimpleName(), "Waehle Projekt: "+projectid ); 86 } 87 88 @Override 89 protected void doOnSuccess() 90 { 91 final Intent i = new Intent(ProjectActivity.this, 92 FolderActivity.class); 93 i.putExtra(CLIENT, client); 94 95 startActivity(i); 96 97 } 98 protected void doOnError(IOException error) { 99 super.doOnError(error); 100 }; 101 }.execute(); 102 103 } 104 }); 105 106 } 107 }