diff options
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)))); } } |
