diff options
Diffstat (limited to 'main/src/cgeo/geocaching/LogTrackableActivity.java')
| -rw-r--r-- | main/src/cgeo/geocaching/LogTrackableActivity.java | 97 |
1 files changed, 49 insertions, 48 deletions
diff --git a/main/src/cgeo/geocaching/LogTrackableActivity.java b/main/src/cgeo/geocaching/LogTrackableActivity.java index fabe391..ad4ed0e 100644 --- a/main/src/cgeo/geocaching/LogTrackableActivity.java +++ b/main/src/cgeo/geocaching/LogTrackableActivity.java @@ -20,7 +20,6 @@ import cgeo.geocaching.utils.LogTemplateProvider.LogContext; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; -import android.app.Dialog; import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; @@ -42,7 +41,6 @@ import java.util.List; public class LogTrackableActivity extends AbstractLoggingActivity implements DateDialog.DateDialogParent { - @InjectView(R.id.post) protected Button buttonPost; @InjectView(R.id.type) protected Button typeButton; @InjectView(R.id.date) protected Button dateButton; @InjectView(R.id.tracking) protected EditText trackingEditText; @@ -60,14 +58,14 @@ public class LogTrackableActivity extends AbstractLoggingActivity implements Dat private int attempts = 0; private Trackable trackable; - private Handler showProgressHandler = new Handler() { + private final Handler showProgressHandler = new Handler() { @Override - public void handleMessage(Message msg) { + public void handleMessage(final Message msg) { showProgress(true); } }; - private Handler loadDataHandler = new Handler() { + private final Handler loadDataHandler = new Handler() { @Override public void handleMessage(final Message msg) { @@ -89,9 +87,7 @@ public class LogTrackableActivity extends AbstractLoggingActivity implements Dat } gettingViewstate = false; // we're done, user can post log - - buttonPost.setEnabled(true); - buttonPost.setOnClickListener(new PostListener()); + setLoggingEnabled(true); showProgress(false); } @@ -116,7 +112,7 @@ public class LogTrackableActivity extends AbstractLoggingActivity implements Dat }; @Override - public void onCreate(Bundle savedInstanceState) { + public void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState, R.layout.logtrackable_activity); ButterKnife.inject(this); @@ -151,14 +147,14 @@ public class LogTrackableActivity extends AbstractLoggingActivity implements Dat } @Override - public void onConfigurationChanged(Configuration newConfig) { + public void onConfigurationChanged(final Configuration newConfig) { super.onConfigurationChanged(newConfig); init(); } @Override - public void onCreateContextMenu(ContextMenu menu, View view, ContextMenu.ContextMenuInfo info) { + public void onCreateContextMenu(final ContextMenu menu, final View view, final ContextMenu.ContextMenuInfo info) { super.onCreateContextMenu(menu, view, info); final int viewId = view.getId(); @@ -170,7 +166,7 @@ public class LogTrackableActivity extends AbstractLoggingActivity implements Dat } @Override - public boolean onContextItemSelected(MenuItem item) { + public boolean onContextItemSelected(final MenuItem item) { final int group = item.getGroupId(); final int id = item.getItemId(); @@ -187,7 +183,7 @@ public class LogTrackableActivity extends AbstractLoggingActivity implements Dat registerForContextMenu(typeButton); typeButton.setOnClickListener(new View.OnClickListener() { @Override - public void onClick(View view) { + public void onClick(final View view) { openContextMenu(view); } }); @@ -203,26 +199,22 @@ public class LogTrackableActivity extends AbstractLoggingActivity implements Dat } if (GCLogin.isEmpty(viewstates)) { - buttonPost.setEnabled(false); - buttonPost.setOnTouchListener(null); - buttonPost.setOnClickListener(null); - + setLoggingEnabled(false); new LoadDataThread().start(); } else { - buttonPost.setEnabled(true); - buttonPost.setOnClickListener(new PostListener()); + setLoggingEnabled(true); } disableSuggestions(trackingEditText); } @Override - public void setDate(Calendar dateIn) { + public void setDate(final Calendar dateIn) { date = dateIn; dateButton.setText(Formatter.formatShortDateVerbally(date.getTime().getTime())); } - public void setType(LogType type) { + public void setType(final LogType type) { typeSelected = type; typeButton.setText(typeSelected.getL10n()); } @@ -239,31 +231,10 @@ public class LogTrackableActivity extends AbstractLoggingActivity implements Dat private class DateListener implements View.OnClickListener { @Override - public void onClick(View arg0) { - final Dialog dateDialog = new DateDialog(LogTrackableActivity.this, LogTrackableActivity.this, date); + public void onClick(final View arg0) { + final DateDialog dateDialog = DateDialog.getInstance(date); dateDialog.setCancelable(true); - dateDialog.show(); - } - } - - private class PostListener implements View.OnClickListener { - - protected EditText logEditText = (EditText) findViewById(R.id.log); - - @Override - public void onClick(View arg0) { - if (!gettingViewstate) { - waitDialog = ProgressDialog.show(LogTrackableActivity.this, null, res.getString(R.string.log_saving), true); - waitDialog.setCancelable(true); - - Settings.setTrackableAction(typeSelected.id); - - final String tracking = trackingEditText.getText().toString(); - final String log = logEditText.getText().toString(); - new PostLogThread(postLogHandler, tracking, log).start(); - } else { - showToast(res.getString(R.string.err_log_load_data_still)); - } + dateDialog.show(getSupportFragmentManager(),"date_dialog"); } } @@ -303,7 +274,7 @@ public class LogTrackableActivity extends AbstractLoggingActivity implements Dat possibleLogTypes.clear(); possibleLogTypes.addAll(typesPre); } - } catch (Exception e) { + } catch (final Exception e) { Log.e("LogTrackableActivity.LoadDataThread.run", e); } @@ -330,7 +301,7 @@ public class LogTrackableActivity extends AbstractLoggingActivity implements Dat } } - public StatusCode postLogFn(String tracking, String log) { + public StatusCode postLogFn(final String tracking, final String log) { try { final StatusCode status = GCParser.postLogTrackable(guid, tracking, viewstates, typeSelected, date.get(Calendar.YEAR), (date.get(Calendar.MONTH) + 1), date.get(Calendar.DATE), log); @@ -341,7 +312,7 @@ public class LogTrackableActivity extends AbstractLoggingActivity implements Dat } return status; - } catch (Exception e) { + } catch (final Exception e) { Log.e("LogTrackableActivity.postLogFn", e); } @@ -360,4 +331,34 @@ public class LogTrackableActivity extends AbstractLoggingActivity implements Dat protected LogContext getLogContext() { return new LogContext(trackable, null); } + + @Override + public boolean onOptionsItemSelected(final MenuItem item) { + switch (item.getItemId()) { + case R.id.menu_send: + sendLog(); + return true; + default: + break; + } + + return super.onOptionsItemSelected(item); + } + + private void sendLog() { + if (!gettingViewstate) { + waitDialog = ProgressDialog.show(LogTrackableActivity.this, null, res.getString(R.string.log_saving), true); + waitDialog.setCancelable(true); + + Settings.setTrackableAction(typeSelected.id); + + final EditText logEditText = (EditText) findViewById(R.id.log); + final String tracking = trackingEditText.getText().toString(); + final String log = logEditText.getText().toString(); + new PostLogThread(postLogHandler, tracking, log).start(); + } else { + showToast(res.getString(R.string.err_log_load_data_still)); + } + } + } |
