From 6d1d6599ed0737c66e69c1edf166242683b8d37c Mon Sep 17 00:00:00 2001 From: Bananeweizen Date: Sat, 31 May 2014 10:53:24 +0200 Subject: have store/delete/refresh in action bar --- main/res/menu/cache_list_context.xml | 3 + main/res/menu/cache_options.xml | 59 +++-- main/src/cgeo/geocaching/CacheDetailActivity.java | 271 ++++++++++++---------- 3 files changed, 189 insertions(+), 144 deletions(-) (limited to 'main') diff --git a/main/res/menu/cache_list_context.xml b/main/res/menu/cache_list_context.xml index 8d52654..0c14241 100644 --- a/main/res/menu/cache_list_context.xml +++ b/main/res/menu/cache_list_context.xml @@ -33,6 +33,7 @@ diff --git a/main/res/menu/cache_options.xml b/main/res/menu/cache_options.xml index 4429baf..9610836 100644 --- a/main/res/menu/cache_options.xml +++ b/main/res/menu/cache_options.xml @@ -1,55 +1,76 @@ + xmlns:cgeo="http://schemas.android.com/apk/res-auto" > + + android:title="@string/cache_menu_navigate" + cgeo:showAsAction="ifRoom"> + android:title="@string/cache_menu_navigate" + cgeo:showAsAction="ifRoom"> + android:title="@string/cache_menu_visit_offline" + cgeo:showAsAction="ifRoom"> + android:title="@string/cache_menu_visit" + cgeo:showAsAction="ifRoom"> + android:title="@string/cache_menu_event" + cgeo:showAsAction="ifRoom"> + android:title="@string/cache_menu_around" + cgeo:showAsAction="ifRoom"> + android:title="@string/cache_menu_browser" + cgeo:showAsAction="ifRoom"> + + + + + + + cgeo:showAsAction="ifRoom"> - - + \ No newline at end of file diff --git a/main/src/cgeo/geocaching/CacheDetailActivity.java b/main/src/cgeo/geocaching/CacheDetailActivity.java index f5871e3..815d43b 100644 --- a/main/src/cgeo/geocaching/CacheDetailActivity.java +++ b/main/src/cgeo/geocaching/CacheDetailActivity.java @@ -166,7 +166,7 @@ public class CacheDetailActivity extends AbstractViewPagerActivity() { + @Override + public void call(final Integer selectedListId) { + storeCache(selectedListId, new StoreCacheHandler(CacheDetailActivity.this, progress)); + } + }, true, StoredList.TEMPORARY_LIST_ID); + } else { + storeCache(StoredList.TEMPORARY_LIST_ID, new StoreCacheHandler(CacheDetailActivity.this, progress)); + } + } + /** * Creator for details-view. */ @@ -966,59 +1023,23 @@ public class CacheDetailActivity extends AbstractViewPagerActivity() { - @Override - public void call(final Integer selectedListId) { - storeCache(selectedListId, new StoreCacheHandler(CacheDetailActivity.this, progress)); - } - }, true, StoredList.TEMPORARY_LIST_ID); - } else { - storeCache(StoredList.TEMPORARY_LIST_ID, new StoreCacheHandler(CacheDetailActivity.this, progress)); - } + public void onClick(final View arg0) { + storeCache(); } } private class RefreshCacheClickListener implements View.OnClickListener { @Override - public void onClick(View arg0) { - if (progress.isShowing()) { - showToast(res.getString(R.string.err_detail_still_working)); - return; - } - - if (!Network.isNetworkConnected(getApplicationContext())) { - showToast(getString(R.string.err_server)); - return; - } - - final RefreshCacheHandler refreshCacheHandler = new RefreshCacheHandler(CacheDetailActivity.this, progress); - - progress.show(CacheDetailActivity.this, res.getString(R.string.cache_dialog_refresh_title), res.getString(R.string.cache_dialog_refresh_message), true, refreshCacheHandler.cancelMessage()); - - cache.refresh(refreshCacheHandler, Schedulers.io()); + public void onClick(final View arg0) { + refreshCache(); } } private class DropCacheClickListener implements View.OnClickListener { @Override - public void onClick(View arg0) { - if (progress.isShowing()) { - showToast(res.getString(R.string.err_detail_still_working)); - return; - } - - progress.show(CacheDetailActivity.this, res.getString(R.string.cache_dialog_offline_drop_title), res.getString(R.string.cache_dialog_offline_drop_message), true, null); - cache.drop(new ChangeNotificationHandler(CacheDetailActivity.this, progress), Schedulers.io()); + public void onClick(final View arg0) { + dropCache(); } } @@ -1026,7 +1047,7 @@ public class CacheDetailActivity extends AbstractViewPagerActivity() { @Override @@ -1208,7 +1229,7 @@ public class CacheDetailActivity extends AbstractViewPagerActivity previewMap = Observable.create(new OnSubscribe() { + private final Observable previewMap = Observable.create(new OnSubscribe() { @Override public void call(final Subscriber subscriber) { try { @@ -1368,7 +1389,7 @@ public class CacheDetailActivity extends AbstractViewPagerActivity GCConstants.PERSONAL_NOTE_MAX_CHARS) { warnPersonalNoteExceedsLimit(); } else { @@ -1444,7 +1465,7 @@ public class CacheDetailActivity extends AbstractViewPagerActivity(CacheDetailActivity.this, R.layout.waypoint_item, sortedWaypoints) { @Override - public View getView(int position, View convertView, ViewGroup parent) { + public View getView(final int position, final View convertView, final ViewGroup parent) { View rowView = convertView; if (null == rowView) { rowView = getLayoutInflater().inflate(R.layout.waypoint_item, null); @@ -1688,7 +1709,7 @@ public class CacheDetailActivity extends AbstractViewPagerActivity(CacheDetailActivity.this, R.layout.simple_list_item_1, cache.getInventory())); view.setOnItemClickListener(new OnItemClickListener() { @Override - public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3) { + public void onItemClick(final AdapterView arg0, final View arg1, final int arg2, final long arg3) { final Object selection = arg0.getItemAtPosition(arg2); if (selection instanceof Trackable) { final Trackable trackable = (Trackable) selection; @@ -1856,11 +1877,11 @@ public class CacheDetailActivity extends AbstractViewPagerActivity activityRef) { - CacheDetailActivity activity = ((CacheDetailActivity) activityRef.get()); + private static void notifyDatasetChanged(final WeakReference activityRef) { + final CacheDetailActivity activity = ((CacheDetailActivity) activityRef.get()); if (activity != null) { activity.notifyDataSetChanged(); } @@ -2268,17 +2289,17 @@ public class CacheDetailActivity extends AbstractViewPagerActivity