aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/activity
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2014-02-24 22:18:28 +0100
committerSamuel Tardieu <sam@rfc1149.net>2014-02-24 22:18:28 +0100
commit285f22f28fed47062b3db2c0294c4c4f13571458 (patch)
tree410c9a07e2ea6f788943d594311e9a207f9c5fea /main/src/cgeo/geocaching/activity
parent68f3ab72b0b189d7c0a847f13744696295e9ae5f (diff)
downloadcgeo-285f22f28fed47062b3db2c0294c4c4f13571458.zip
cgeo-285f22f28fed47062b3db2c0294c4c4f13571458.tar.gz
cgeo-285f22f28fed47062b3db2c0294c4c4f13571458.tar.bz2
refactoring: do not duplicate code
Diffstat (limited to 'main/src/cgeo/geocaching/activity')
-rw-r--r--main/src/cgeo/geocaching/activity/AbstractActivity.java28
1 files changed, 28 insertions, 0 deletions
diff --git a/main/src/cgeo/geocaching/activity/AbstractActivity.java b/main/src/cgeo/geocaching/activity/AbstractActivity.java
index 8aaf229..7127de4 100644
--- a/main/src/cgeo/geocaching/activity/AbstractActivity.java
+++ b/main/src/cgeo/geocaching/activity/AbstractActivity.java
@@ -7,14 +7,18 @@ import cgeo.geocaching.R;
import cgeo.geocaching.compatibility.Compatibility;
import cgeo.geocaching.network.Cookies;
import cgeo.geocaching.settings.Settings;
+import cgeo.geocaching.utils.ClipboardUtils;
+import cgeo.geocaching.utils.HtmlUtils;
import cgeo.geocaching.utils.TranslationUtils;
import org.apache.commons.lang3.StringUtils;
+import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.ContextMenu;
+import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
@@ -141,4 +145,28 @@ public abstract class AbstractActivity extends FragmentActivity implements IAbst
final boolean localeIsEnglish = StringUtils.equals(Locale.getDefault().getLanguage(), Locale.ENGLISH.getLanguage());
menu.findItem(R.id.menu_translate_to_english).setVisible(!copyOnly && !localeIsEnglish);
}
+
+ protected boolean onClipboardItemSelected(final MenuItem item, final CharSequence clickedItemText) {
+ switch (item.getItemId()) {
+ // detail fields
+ case R.id.menu_copy:
+ ClipboardUtils.copyToClipboard(clickedItemText);
+ showToast(res.getString(R.string.clipboard_copy_ok));
+ return true;
+ case R.id.menu_translate_to_sys_lang:
+ TranslationUtils.startActivityTranslate(this, Locale.getDefault().getLanguage(), HtmlUtils.extractText(clickedItemText));
+ return true;
+ case R.id.menu_translate_to_english:
+ TranslationUtils.startActivityTranslate(this, Locale.ENGLISH.getLanguage(), HtmlUtils.extractText(clickedItemText));
+ return true;
+ case R.id.menu_cache_share_field:
+ final Intent intent = new Intent(Intent.ACTION_SEND);
+ intent.setType("text/plain");
+ intent.putExtra(Intent.EXTRA_TEXT, clickedItemText.toString());
+ startActivity(Intent.createChooser(intent, res.getText(R.string.cache_share_field)));
+ return true;
+ default:
+ return false;
+ }
+ }
}