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 }