Skip to content

Commit

Permalink
fixed final 3 activities
Browse files Browse the repository at this point in the history
  • Loading branch information
wmbest2 committed Feb 27, 2011
1 parent c553d8a commit f325c02
Show file tree
Hide file tree
Showing 3 changed files with 221 additions and 65 deletions.
72 changes: 60 additions & 12 deletions src/com/ferg/awful/ForumsIndexActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@
public class ForumsIndexActivity extends Activity {
private static final String TAG = "LoginActivity";

private LoadForumsTask mLoadTask;

private ImageButton mUserCp;
private ListView mForumList;
private ProgressDialog mDialog;
Expand All @@ -82,20 +84,61 @@ public void onCreate(Bundle savedInstanceState)
boolean loggedIn = NetworkUtils.restoreLoginCookies(this);

if (loggedIn) {
new LoadForumsTask().execute();
mLoadTask = new LoadForumsTask();
mLoadTask.execute();
} else {
startActivityForResult(new Intent().setClass(this, AwfulLoginActivity.class), 0);
}
}

@Override
public void onPause() {
super.onPause();

if (mDialog != null) {
mDialog.dismiss();
}

if (mLoadTask != null) {
mLoadTask.cancel(true);
}
}

@Override
public void onStop() {
super.onStop();

if (mDialog != null) {
mDialog.dismiss();
}

if (mLoadTask != null) {
mLoadTask.cancel(true);
}
}

@Override
public void onDestroy() {
super.onDestroy();

if (mDialog != null) {
mDialog.dismiss();
}

if (mLoadTask != null) {
mLoadTask.cancel(true);
}
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// The only activity we call for result is login
// Odds are we want to refresh whether or not it was successful

// But we do need to make sure we aren't already in the middle of a refresh
if(mDialog == null || !mDialog.isShowing()) {
new LoadForumsTask().execute();
mLoadTask = new LoadForumsTask();
mLoadTask.execute();
}
}

Expand All @@ -117,22 +160,26 @@ public void onPreExecute() {

public ArrayList<AwfulForum> doInBackground(Void... aParams) {
ArrayList<AwfulForum> result = new ArrayList<AwfulForum>();
try {
result = AwfulForum.getForums();
} catch (Exception e) {
e.printStackTrace();
Log.i(TAG, e.toString());
if (!isCancelled()) {
try {
result = AwfulForum.getForums();
} catch (Exception e) {
e.printStackTrace();
Log.i(TAG, e.toString());
}
}
return result;
}

public void onPostExecute(ArrayList<AwfulForum> aResult) {
mForumList.setAdapter(new AwfulForumAdapter(ForumsIndexActivity.this,
R.layout.forum_item, aResult));
if (!isCancelled()) {
mForumList.setAdapter(new AwfulForumAdapter(ForumsIndexActivity.this,
R.layout.forum_item, aResult));

mForumList.setOnItemClickListener(onForumSelected);
mForumList.setOnItemClickListener(onForumSelected);

mDialog.dismiss();
mDialog.dismiss();
}
}
}

Expand Down Expand Up @@ -195,7 +242,8 @@ public boolean onOptionsItemSelected(MenuItem item) {
NetworkUtils.clearLoginCookies(this);
startActivityForResult(new Intent().setClass(this, AwfulLoginActivity.class), 0);
case R.id.refresh:
new LoadForumsTask().execute();
mLoadTask = new LoadForumsTask();
mLoadTask.execute();
default:
return super.onOptionsItemSelected(item);
}
Expand Down
135 changes: 99 additions & 36 deletions src/com/ferg/awful/PostReplyActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,9 @@
public class PostReplyActivity extends Activity {
private static final String TAG = "PostReplyActivity";

private FetchFormKeyTask mFetchTask;
private SubmitReplyTask mSubmitTask;

private Button mSubmit;
private EditText mMessage;
private ProgressDialog mDialog;
Expand Down Expand Up @@ -81,12 +84,65 @@ public void onCreate(Bundle savedInstanceState)

mSubmit.setOnClickListener(onSubmitClick);

new FetchFormKeyTask().execute(mThread.getThreadId());
mFetchTask = new FetchFormKeyTask();
mFetchTask.execute(mThread.getThreadId());
}

@Override
public void onPause() {
super.onPause();

if (mDialog != null) {
mDialog.dismiss();
}

if (mFetchTask != null) {
mFetchTask.cancel(true);
}

if (mSubmitTask != null) {
mSubmitTask.cancel(true);
}
}

@Override
public void onStop() {
super.onStop();

if (mDialog != null) {
mDialog.dismiss();
}

if (mFetchTask != null) {
mFetchTask.cancel(true);
}

if (mSubmitTask != null) {
mSubmitTask.cancel(true);
}
}

@Override
public void onDestroy() {
super.onDestroy();

if (mDialog != null) {
mDialog.dismiss();
}

if (mFetchTask != null) {
mFetchTask.cancel(true);
}

if (mSubmitTask != null) {
mSubmitTask.cancel(true);
}
}

private View.OnClickListener onSubmitClick = new View.OnClickListener() {
public void onClick(View aView) {
new SubmitReplyTask().execute(mMessage.getText().toString(),
mSubmitTask = new SubmitReplyTask();
mSubmitTask.execute(mMessage.getText().toString(),
mFormKey, mThread.getThreadId());
}
};
Expand All @@ -95,47 +151,54 @@ private class SubmitReplyTask extends AsyncTask<String, Void, Void> {
public void onPreExecute() {
mDialog = ProgressDialog.show(PostReplyActivity.this, "Posting",
"Hopefully it didn't suck...", true);
}

public Void doInBackground(String... aParams) {
try {
Reply.postReply(aParams[0], aParams[1], aParams[2]);
} catch (Exception e) {
e.printStackTrace();
Log.i(TAG, e.toString());
}
}

return null;
}
public Void doInBackground(String... aParams) {
if (!isCancelled()) {
try {
Reply.postReply(aParams[0], aParams[1], aParams[2]);
} catch (Exception e) {
e.printStackTrace();
Log.i(TAG, e.toString());
}
}
return null;
}

public void onPostExecute(Void aResult) {
mDialog.dismiss();
public void onPostExecute(Void aResult) {
if (!isCancelled()) {
mDialog.dismiss();

PostReplyActivity.this.finish();
}
}
PostReplyActivity.this.finish();
}
}
}

private class FetchFormKeyTask extends AsyncTask<String, Void, String> {
public String doInBackground(String... aParams) {
String result = null;
private class FetchFormKeyTask extends AsyncTask<String, Void, String> {
public String doInBackground(String... aParams) {
String result = null;

try {
result = Reply.getFormKey(aParams[0]);
} catch (Exception e) {
e.printStackTrace();
Log.i(TAG, e.toString());
}
if (!isCancelled()) {
try {
result = Reply.getFormKey(aParams[0]);
} catch (Exception e) {
e.printStackTrace();
Log.i(TAG, e.toString());
}
}

return result;
}
return result;
}

public void onPostExecute(String aResult) {
if (aResult.length() > 0) {
Log.i(TAG, aResult);
public void onPostExecute(String aResult) {
if (!isCancelled()) {
if (aResult.length() > 0) {
Log.i(TAG, aResult);

mFormKey = aResult;
mSubmit.setEnabled(true);
}
}
mFormKey = aResult;
mSubmit.setEnabled(true);
}
}
}
}
}
Loading

0 comments on commit f325c02

Please sign in to comment.