From e1cae3e58947f0361498ddf1b01d2a4a7cb88c7e Mon Sep 17 00:00:00 2001 From: rsudev Date: Sun, 10 Aug 2014 15:19:49 +0200 Subject: Fixes #3843, Action Bar: Secondary navigation tool? - added an action provider that handles the long click and redirects to secondary default navigation --- main/src/cgeo/geocaching/CacheDetailActivity.java | 23 ++++++-- .../geocaching/activity/INavigationSource.java | 20 +++++++ .../geocaching/ui/NavigationActionProvider.java | 61 ++++++++++++++++++++++ 3 files changed, 101 insertions(+), 3 deletions(-) create mode 100644 main/src/cgeo/geocaching/activity/INavigationSource.java create mode 100644 main/src/cgeo/geocaching/ui/NavigationActionProvider.java (limited to 'main/src') diff --git a/main/src/cgeo/geocaching/CacheDetailActivity.java b/main/src/cgeo/geocaching/CacheDetailActivity.java index dff8e09..61403b9 100644 --- a/main/src/cgeo/geocaching/CacheDetailActivity.java +++ b/main/src/cgeo/geocaching/CacheDetailActivity.java @@ -6,6 +6,7 @@ import butterknife.InjectView; import cgeo.calendar.CalendarAddon; import cgeo.geocaching.activity.AbstractActivity; import cgeo.geocaching.activity.AbstractViewPagerActivity; +import cgeo.geocaching.activity.INavigationSource; import cgeo.geocaching.activity.Progress; import cgeo.geocaching.apps.cache.navi.NavigationAppFactory; import cgeo.geocaching.apps.cachelist.MapsWithMeCacheListApp; @@ -35,6 +36,7 @@ import cgeo.geocaching.ui.EditNoteDialog.EditNoteDialogListener; import cgeo.geocaching.ui.ImagesList; import cgeo.geocaching.ui.IndexOutOfBoundsAvoidingTextView; import cgeo.geocaching.ui.LoggingUI; +import cgeo.geocaching.ui.NavigationActionProvider; import cgeo.geocaching.ui.OwnerActionsClickListener; import cgeo.geocaching.ui.WeakReferenceHandler; import cgeo.geocaching.ui.dialog.Dialogs; @@ -83,6 +85,7 @@ import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.v4.app.FragmentManager; +import android.support.v4.view.MenuItemCompat; import android.support.v7.view.ActionMode; import android.text.Editable; import android.text.Html; @@ -126,7 +129,7 @@ import java.util.regex.Pattern; * * e.g. details, description, logs, waypoints, inventory... */ -public class CacheDetailActivity extends AbstractViewPagerActivity implements CacheMenuHandler.ActivityInterface { +public class CacheDetailActivity extends AbstractViewPagerActivity implements CacheMenuHandler.ActivityInterface, INavigationSource { private static final int MESSAGE_FAILED = -1; private static final int MESSAGE_SUCCEEDED = 1; @@ -427,6 +430,11 @@ public class CacheDetailActivity extends AbstractViewPagerActivity