diff options
| author | Marco Jacob <mjacob@union06.de> | 2013-11-05 00:25:45 -0800 |
|---|---|---|
| committer | Marco Jacob <mjacob@union06.de> | 2013-11-05 00:25:45 -0800 |
| commit | aa5f703a8017799eada6938183b1e668b757297d (patch) | |
| tree | c47dd1fd2d03fd43b3d71c07b30220b26751c5b3 /main/src/cgeo/geocaching/CacheDetailActivity.java | |
| parent | a55dd0d44805a82c7f80b8dca6ae9c31ebb239a7 (diff) | |
| parent | a23957d148929a2ac0c463c88ddd09104fd5f9bb (diff) | |
| download | cgeo-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.java | 34 |
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(); + } + } /** |
