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

NewActivity.java (3030B)


      1 package de.openrat.android.client;
      2 
      3 import java.io.IOException;
      4 import java.util.ArrayList;
      5 import java.util.List;
      6 import java.util.Map;
      7 
      8 import android.app.Activity;
      9 import android.os.Bundle;
     10 import android.view.View;
     11 import android.view.View.OnClickListener;
     12 import android.widget.ArrayAdapter;
     13 import android.widget.Button;
     14 import android.widget.EditText;
     15 import android.widget.Spinner;
     16 import de.openrat.android.client.util.OpenRatClientAsyncTask;
     17 import de.openrat.client.OpenRatClient;
     18 
     19 public class NewActivity extends Activity
     20 {
     21 
     22 	public static final String EXTRA_CLIENT = "request";
     23 	public static final String EXTRA_MENUID = "menuid";
     24 	public static final String EXTRA_FOLDERID = "folderid";
     25 
     26 	private OpenRatClient request;
     27 	private int menuid;
     28 	private Map<String, String> templates;
     29 	private String folderid;
     30 
     31 	/**
     32 	 * {@inheritDoc}
     33 	 * 
     34 	 * @see android.app.Activity#onCreate(android.os.Bundle)
     35 	 */
     36 	@Override
     37 	protected void onCreate(Bundle savedInstanceState)
     38 	{
     39 		super.onCreate(savedInstanceState);
     40 		request = (OpenRatClient) getIntent()
     41 				.getSerializableExtra(EXTRA_CLIENT);
     42 		menuid = getIntent().getIntExtra(EXTRA_MENUID, 0);
     43 		folderid = getIntent().getStringExtra(EXTRA_FOLDERID);
     44 
     45 		setContentView(R.layout.new1);
     46 
     47 		final EditText editText = (EditText) findViewById(R.id.newname);
     48 		final Spinner spinner = (Spinner) findViewById(R.id.spinner);
     49 		if (menuid == R.id.menu_newpage)
     50 		{
     51 			spinner.setVisibility(View.VISIBLE);
     52 
     53 			new OpenRatClientAsyncTask(this, R.string.waitingforcontent)
     54 			{
     55 
     56 				@Override
     57 				protected void callServer() throws IOException
     58 				{
     59 					templates = request.getTemplates();
     60 				}
     61 
     62 				@Override
     63 				protected void doOnSuccess()
     64 				{
     65 					final List<String> valueList = new ArrayList<String>(
     66 							templates.values());
     67 					ArrayAdapter adapter = new ArrayAdapter(NewActivity.this,
     68 							android.R.layout.simple_spinner_item, valueList);
     69 					adapter
     70 							.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
     71 					spinner.setAdapter(adapter);
     72 				}
     73 			}.execute();
     74 		}
     75 		else
     76 		{
     77 			spinner.setVisibility(View.INVISIBLE);
     78 		}
     79 
     80 		final Button button = (Button) findViewById(R.id.button_save);
     81 		button.setOnClickListener(new OnClickListener()
     82 		{
     83 			@Override
     84 			public void onClick(View v)
     85 			{
     86 
     87 				new OpenRatClientAsyncTask(NewActivity.this,
     88 						R.string.waitingforcontent)
     89 				{
     90 
     91 					@Override
     92 					protected void callServer() throws IOException
     93 					{
     94 						if (menuid == R.id.menu_newfolder)
     95 						{
     96 							request.createFolder(folderid, editText.getText()
     97 									.toString());
     98 						}
     99 						if (menuid == R.id.menu_newpage)
    100 						{
    101 
    102 							int pos = spinner.getSelectedItemPosition();
    103 							final String templateid = NewActivity.this.templates
    104 									.keySet().toArray(new String[] {})[pos];
    105 							request.createPage(folderid, editText.getText()
    106 									.toString(), templateid);
    107 						}
    108 					}
    109 
    110 					@Override
    111 					protected void doOnSuccess()
    112 					{
    113 						NewActivity.this.finish();
    114 					}
    115 				}.execute();
    116 			}
    117 		});
    118 	}
    119 }