diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2014-09-18 22:41:24 +0200 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2014-09-18 22:41:24 +0200 |
| commit | 7c2c7be1610f53e92d06af1c066125fc65207ffa (patch) | |
| tree | 17c365ccd1e15c9245c7d5612abeb0e731e149b1 /main/src | |
| parent | 1a207785584c726a780f57318874c644ff0eaa0f (diff) | |
| parent | 872eb90546207ff18e5b5a0dbd6729353af548ef (diff) | |
| download | cgeo-7c2c7be1610f53e92d06af1c066125fc65207ffa.zip cgeo-7c2c7be1610f53e92d06af1c066125fc65207ffa.tar.gz cgeo-7c2c7be1610f53e92d06af1c066125fc65207ffa.tar.bz2 | |
Merge branch 'issue-4369' into upstream
Diffstat (limited to 'main/src')
4 files changed, 21 insertions, 17 deletions
diff --git a/main/src/cgeo/geocaching/CacheDetailActivity.java b/main/src/cgeo/geocaching/CacheDetailActivity.java index f004ca9..d826fee 100644 --- a/main/src/cgeo/geocaching/CacheDetailActivity.java +++ b/main/src/cgeo/geocaching/CacheDetailActivity.java @@ -1896,12 +1896,12 @@ public class CacheDetailActivity extends AbstractViewPagerActivity<CacheDetailAc assert view instanceof TextView; clickedItemText = ((TextView) view).getText(); final CharSequence itemTitle = ((TextView) ((View) view.getParent()).findViewById(R.id.name)).getText(); - buildDetailsContextMenu(actionMode, menu, clickedItemText, itemTitle, true); + buildDetailsContextMenu(actionMode, menu, itemTitle, true); return true; case R.id.shortdesc: assert view instanceof TextView; clickedItemText = ((TextView) view).getText(); - buildDetailsContextMenu(actionMode, menu, clickedItemText, res.getString(R.string.cache_description), false); + buildDetailsContextMenu(actionMode, menu, res.getString(R.string.cache_description), false); return true; case R.id.longdesc: assert view instanceof TextView; @@ -1912,27 +1912,27 @@ public class CacheDetailActivity extends AbstractViewPagerActivity<CacheDetailAc } else { clickedItemText = shortDesc + "\n\n" + ((TextView) view).getText(); } - buildDetailsContextMenu(actionMode, menu, clickedItemText, res.getString(R.string.cache_description), false); + buildDetailsContextMenu(actionMode, menu, res.getString(R.string.cache_description), false); return true; case R.id.personalnote: assert view instanceof TextView; clickedItemText = ((TextView) view).getText(); - buildDetailsContextMenu(actionMode, menu, clickedItemText, res.getString(R.string.cache_personal_note), true); + buildDetailsContextMenu(actionMode, menu, res.getString(R.string.cache_personal_note), true); return true; case R.id.hint: assert view instanceof TextView; clickedItemText = ((TextView) view).getText(); - buildDetailsContextMenu(actionMode, menu, clickedItemText, res.getString(R.string.cache_hint), false); + buildDetailsContextMenu(actionMode, menu, res.getString(R.string.cache_hint), false); return true; case R.id.log: assert view instanceof TextView; clickedItemText = ((TextView) view).getText(); - buildDetailsContextMenu(actionMode, menu, clickedItemText, res.getString(R.string.cache_logs), false); + buildDetailsContextMenu(actionMode, menu, res.getString(R.string.cache_logs), false); return true; case R.id.date: // event date assert view instanceof TextView; clickedItemText = ((TextView) view).getText(); - buildDetailsContextMenu(actionMode, menu, clickedItemText, res.getString(R.string.cache_event), true); + buildDetailsContextMenu(actionMode, menu, res.getString(R.string.cache_event), true); menu.findItem(R.id.menu_calendar).setVisible(cache.canBeAddedToCalendar()); return true; } diff --git a/main/src/cgeo/geocaching/TrackableActivity.java b/main/src/cgeo/geocaching/TrackableActivity.java index a427ced..1f48165 100644 --- a/main/src/cgeo/geocaching/TrackableActivity.java +++ b/main/src/cgeo/geocaching/TrackableActivity.java @@ -565,16 +565,16 @@ public class TrackableActivity extends AbstractViewPagerActivity<TrackableActivi switch (viewId) { case R.id.value: // name, TB-code, origin, released, distance final CharSequence itemTitle = ((TextView) ((View) view.getParent()).findViewById(R.id.name)).getText(); - buildDetailsContextMenu(actionMode, menu, clickedItemText, itemTitle, true); + buildDetailsContextMenu(actionMode, menu, itemTitle, true); return true; case R.id.goal: - buildDetailsContextMenu(actionMode, menu, clickedItemText, res.getString(R.string.trackable_goal), false); + buildDetailsContextMenu(actionMode, menu, res.getString(R.string.trackable_goal), false); return true; case R.id.details: - buildDetailsContextMenu(actionMode, menu, clickedItemText, res.getString(R.string.trackable_details), false); + buildDetailsContextMenu(actionMode, menu, res.getString(R.string.trackable_details), false); return true; case R.id.log: - buildDetailsContextMenu(actionMode, menu, clickedItemText, res.getString(R.string.cache_logs), false); + buildDetailsContextMenu(actionMode, menu, res.getString(R.string.cache_logs), false); return true; } return false; diff --git a/main/src/cgeo/geocaching/activity/AbstractActivity.java b/main/src/cgeo/geocaching/activity/AbstractActivity.java index 1540dbd..ba11958 100644 --- a/main/src/cgeo/geocaching/activity/AbstractActivity.java +++ b/main/src/cgeo/geocaching/activity/AbstractActivity.java @@ -168,13 +168,10 @@ public abstract class AbstractActivity extends ActionBarActivity implements IAbs new Keyboard(this).show(view); } - protected void buildDetailsContextMenu(final ActionMode actionMode, final Menu menu, final CharSequence clickedItemText, final CharSequence fieldTitle, final boolean copyOnly) { + protected void buildDetailsContextMenu(final ActionMode actionMode, final Menu menu, final CharSequence fieldTitle, final boolean copyOnly) { actionMode.setTitle(fieldTitle); menu.findItem(R.id.menu_translate_to_sys_lang).setVisible(!copyOnly); if (!copyOnly) { - if (clickedItemText.length() > TranslationUtils.TRANSLATION_TEXT_LENGTH_WARN) { - showToast(res.getString(R.string.translate_length_warning)); - } menu.findItem(R.id.menu_translate_to_sys_lang).setTitle(res.getString(R.string.translate_to_sys_lang, Locale.getDefault().getDisplayLanguage())); } final boolean localeIsEnglish = StringUtils.equals(Locale.getDefault().getLanguage(), Locale.ENGLISH.getLanguage()); diff --git a/main/src/cgeo/geocaching/utils/TranslationUtils.java b/main/src/cgeo/geocaching/utils/TranslationUtils.java index ea3c395..c70dd90 100644 --- a/main/src/cgeo/geocaching/utils/TranslationUtils.java +++ b/main/src/cgeo/geocaching/utils/TranslationUtils.java @@ -1,5 +1,7 @@ package cgeo.geocaching.utils; +import cgeo.geocaching.R; +import cgeo.geocaching.activity.ActivityMixin; import cgeo.geocaching.network.Network; import org.apache.commons.lang3.StringUtils; @@ -46,12 +48,17 @@ public final class TranslationUtils { /** * Send Intent for Google Translate. Can be caught by Google Translate App or browser. * + * @param activity + * The activity starting the process * @param toLang * The two-letter lowercase ISO language codes as defined by ISO 639-1 * @param text * The text to be translated */ - public static void startActivityTranslate(final Activity context, final String toLang, final String text) { - context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(buildTranslationURI(toLang, text)))); + public static void startActivityTranslate(final Activity activity, final String toLang, final String text) { + if (text.length() > TranslationUtils.TRANSLATION_TEXT_LENGTH_WARN) { + ActivityMixin.showToast(activity, R.string.translate_length_warning); + } + activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(buildTranslationURI(toLang, text)))); } } |
