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.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/main/src/cgeo/geocaching/LogTrackableActivity.java b/main/src/cgeo/geocaching/LogTrackableActivity.java
index 26f7c84..5c6d0f5 100644
--- a/main/src/cgeo/geocaching/LogTrackableActivity.java
+++ b/main/src/cgeo/geocaching/LogTrackableActivity.java
@@ -3,6 +3,7 @@ package cgeo.geocaching;
import butterknife.ButterKnife;
import butterknife.InjectView;
+import cgeo.geocaching.activity.Keyboard;
import cgeo.geocaching.connector.gc.GCLogin;
import cgeo.geocaching.connector.gc.GCParser;
import cgeo.geocaching.enumerations.LogType;
@@ -146,6 +147,17 @@ public class LogTrackableActivity extends AbstractLoggingActivity implements Dat
}
init();
+ requestKeyboardForLogging();
+ }
+
+ @Override
+ protected void requestKeyboardForLogging() {
+ if (StringUtils.isBlank(trackingEditText.getText())) {
+ new Keyboard(this).show(trackingEditText);
+ }
+ else {
+ super.requestKeyboardForLogging();
+ }
}
@Override
@@ -309,6 +321,9 @@ public class LogTrackableActivity extends AbstractLoggingActivity implements Dat
tweetCheck.isChecked() && tweetBox.getVisibility() == View.VISIBLE) {
Twitter.postTweetTrackable(geocode, new LogEntry(0, typeSelected, log));
}
+ if (status == StatusCode.NO_ERROR) {
+ addLocalTrackableLog(log);
+ }
return status;
} catch (final Exception e) {
@@ -318,6 +333,20 @@ public class LogTrackableActivity extends AbstractLoggingActivity implements Dat
return StatusCode.LOG_POST_ERROR;
}
+ /**
+ * Adds the new log to the list of log entries for this trackable to be able to show it in the trackable activity.
+ *
+ *
+ * @param logText
+ */
+ private void addLocalTrackableLog(final String logText) {
+ final LogEntry logEntry = new LogEntry(Calendar.getInstance().getTimeInMillis(), typeSelected, logText);
+ final ArrayList<LogEntry> modifiedLogs = new ArrayList<>(trackable.getLogs());
+ modifiedLogs.add(0, logEntry);
+ trackable.setLogs(modifiedLogs);
+ DataStore.saveTrackable(trackable);
+ }
+
public static void startActivity(final Context context, final Trackable trackable) {
final Intent logTouchIntent = new Intent(context, LogTrackableActivity.class);
logTouchIntent.putExtra(Intents.EXTRA_GEOCODE, trackable.getGeocode());