aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/CacheDetailActivity.java
diff options
context:
space:
mode:
authorMarco Jacob <mjacob@union06.de>2013-11-05 00:25:45 -0800
committerMarco Jacob <mjacob@union06.de>2013-11-05 00:25:45 -0800
commitaa5f703a8017799eada6938183b1e668b757297d (patch)
treec47dd1fd2d03fd43b3d71c07b30220b26751c5b3 /main/src/cgeo/geocaching/CacheDetailActivity.java
parenta55dd0d44805a82c7f80b8dca6ae9c31ebb239a7 (diff)
parenta23957d148929a2ac0c463c88ddd09104fd5f9bb (diff)
downloadcgeo-aa5f703a8017799eada6938183b1e668b757297d.zip
cgeo-aa5f703a8017799eada6938183b1e668b757297d.tar.gz
cgeo-aa5f703a8017799eada6938183b1e668b757297d.tar.bz2
Merge pull request #3407 from marco-dev/personalNote4000
fixes #3325 - warning on upload if personal note exceeds 4000
Diffstat (limited to 'main/src/cgeo/geocaching/CacheDetailActivity.java')
-rw-r--r--main/src/cgeo/geocaching/CacheDetailActivity.java34
1 files changed, 33 insertions, 1 deletions
diff --git a/main/src/cgeo/geocaching/CacheDetailActivity.java b/main/src/cgeo/geocaching/CacheDetailActivity.java
index 4eddba4..ba8f470 100644
--- a/main/src/cgeo/geocaching/CacheDetailActivity.java
+++ b/main/src/cgeo/geocaching/CacheDetailActivity.java
@@ -11,6 +11,7 @@ import cgeo.geocaching.compatibility.Compatibility;
import cgeo.geocaching.connector.ConnectorFactory;
import cgeo.geocaching.connector.IConnector;
import cgeo.geocaching.connector.gc.GCConnector;
+import cgeo.geocaching.connector.gc.GCConstants;
import cgeo.geocaching.enumerations.CacheAttribute;
import cgeo.geocaching.enumerations.LoadFlags;
import cgeo.geocaching.enumerations.LoadFlags.SaveFlag;
@@ -1521,7 +1522,11 @@ public class CacheDetailActivity extends AbstractViewPagerActivity<CacheDetailAc
personalNoteUpload.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- uploadPersonalNote();
+ if (StringUtils.length(cache.getPersonalNote()) > GCConstants.PERSONAL_NOTE_MAX_CHARS) {
+ warnPersonalNoteExceedsLimit();
+ } else {
+ uploadPersonalNote();
+ }
}
});
} else {
@@ -1633,6 +1638,33 @@ public class CacheDetailActivity extends AbstractViewPagerActivity<CacheDetailAc
dialog.show();
}
+ private void warnPersonalNoteExceedsLimit() {
+ final AlertDialog.Builder builder = new AlertDialog.Builder(CacheDetailActivity.this);
+ builder.setTitle(R.string.cache_personal_note_limit);
+ String lang = getString(R.string.cache_personal_note_truncation, GCConstants.PERSONAL_NOTE_MAX_CHARS);
+ builder.setMessage(lang);
+ builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
+
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ // do nothing
+ }
+ });
+
+ builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
+
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ uploadPersonalNote();
+ }
+
+ });
+ final AlertDialog dialog = builder.create();
+ dialog.setOwnerActivity(CacheDetailActivity.this);
+ dialog.show();
+ }
+
}
/**