android-openrat

Unnamed repository; edit this file 'description' to name the repository.
git clone http://git.code.weiherhei.de/android-openrat.git
Log | Files | Refs

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 }