aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/LogTrackableActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/cgeo/geocaching/LogTrackableActivity.java')
-rw-r--r--main/src/cgeo/geocaching/LogTrackableActivity.java97
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));
+ }
+ }
+
}