package com.v2ex.v2droid; import java.io.IOException; import org.holoeverywhere.app.Activity; import org.holoeverywhere.widget.Toast; import org.jsoup.Connection.Response; import org.jsoup.nodes.Document; import android.content.Intent; import android.os.AsyncTask; import android.os.Bundle; import android.widget.EditText; import com.actionbarsherlock.app.ActionBar; import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuItem; public class ReplyActivity extends Activity { private EditText replyEdit; String topicID; String once; String content; boolean success = false; Response response; private MenuItem refresh; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_reply); Intent intent = getIntent(); topicID = intent.getStringExtra("EXTRA_TOPIC_ID"); once = intent.getStringExtra("EXTRA_TOPIC_ONCE"); final ActionBar ab = getSupportActionBar(); //ab.setTitle(R.string.app_name); ab.setDisplayHomeAsUpEnabled(true); replyEdit = (EditText) findViewById(R.id.reply_edit); replyEdit.requestFocus(); } @Override public boolean onCreateOptionsMenu(Menu menu) { getSupportMenuInflater().inflate(R.menu.activity_reply, menu); refresh = menu.findItem(R.id.send); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: finish(); break; case R.id.send: refresh.setActionView(R.layout.refresh); new GetDataTask().execute(); //finish(); break; default: return super.onOptionsItemSelected(item); } return true; } private class GetDataTask extends AsyncTask<Void, Void, String[]> { @Override protected String[] doInBackground(Void... params) { String[] s = { "", "" }; String url = "http://v2ex.com/t/" + topicID; content = replyEdit.getText().toString(); AppContext ac = (AppContext) getApplication(); Document doc; try { doc = ApiClient.get(ac, url, URLs.HOST).parse(); response = ApiClient.reply(ac, url, content, once); } catch (IOException e) { } return s; } @Override protected void onPostExecute(String[] result) { if (response!= null && response.statusCode() == 200) { try { Intent intent = new Intent(); intent.putExtra("html", response.parse().toString()); setResult(RESULT_OK, intent); finish(); } catch (IOException e) { } } else { Toast.makeText(getApplicationContext(), R.string.send_failed, Toast.LENGTH_SHORT).show(); } refresh.setActionView(null); super.onPostExecute(result); } } }