diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2014-02-24 22:18:28 +0100 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2014-02-24 22:18:28 +0100 |
| commit | 285f22f28fed47062b3db2c0294c4c4f13571458 (patch) | |
| tree | 410c9a07e2ea6f788943d594311e9a207f9c5fea /main/src/cgeo/geocaching/activity | |
| parent | 68f3ab72b0b189d7c0a847f13744696295e9ae5f (diff) | |
| download | cgeo-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.java | 28 |
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; + } + } } |
