aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorc:geo <cgeo@cgeo.org>2011-07-19 01:33:44 -0700
committerc:geo <cgeo@cgeo.org>2011-07-19 01:33:44 -0700
commit648a57ff280a7f6513a5eacd73fbc1c8bfe7ed3c (patch)
tree5d8afce42242c441ad0d09c3633f000187af2949 /src
parent1431b2d92138add3627afce92420ab0b831e70c3 (diff)
parent770979d378abcf8eb71fc8572bfea8a75db0f332 (diff)
downloadcgeo-648a57ff280a7f6513a5eacd73fbc1c8bfe7ed3c.zip
cgeo-648a57ff280a7f6513a5eacd73fbc1c8bfe7ed3c.tar.gz
cgeo-648a57ff280a7f6513a5eacd73fbc1c8bfe7ed3c.tar.bz2
Merge pull request #8 from ncorreia/master
Merge from ncorreia: Bug when moving caches between lists
Diffstat (limited to 'src')
-rw-r--r--src/cgeo/geocaching/cgeocaches.java63
1 files changed, 33 insertions, 30 deletions
diff --git a/src/cgeo/geocaching/cgeocaches.java b/src/cgeo/geocaching/cgeocaches.java
index 9c730de..0372e3f 100644
--- a/src/cgeo/geocaching/cgeocaches.java
+++ b/src/cgeo/geocaching/cgeocaches.java
@@ -35,6 +35,7 @@ import android.widget.EditText;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;
+import cgeo.geocaching.filter.cgFilter;
import cgeo.geocaching.filter.cgFilterBySize;
import cgeo.geocaching.filter.cgFilterByTrackables;
import cgeo.geocaching.filter.cgFilterByType;
@@ -921,63 +922,65 @@ public class cgeocaches extends ListActivity {
public boolean onContextItemSelected(MenuItem item) {
final int id = item.getItemId();
ContextMenu.ContextMenuInfo info = item.getMenuInfo();
-
if (info == null) {
+ cgFilter filter = null;
if(adapter != null){
if (id == 8) {
- adapter.setFilter(new cgFilterBySize(res.getString(R.string.caches_filter_size_micro)));
+ adapter.setFilter(filter = new cgFilterBySize(res.getString(R.string.caches_filter_size_micro)));
} else if (id == 9) {
- adapter.setFilter(new cgFilterBySize(res.getString(R.string.caches_filter_size_small)));
+ adapter.setFilter(filter = new cgFilterBySize(res.getString(R.string.caches_filter_size_small)));
} else if (id == 10) {
- adapter.setFilter(new cgFilterBySize(res.getString(R.string.caches_filter_size_regular)));
+ adapter.setFilter(filter = new cgFilterBySize(res.getString(R.string.caches_filter_size_regular)));
} else if (id == 11) {
- adapter.setFilter(new cgFilterBySize(res.getString(R.string.caches_filter_size_large)));
+ adapter.setFilter(filter = new cgFilterBySize(res.getString(R.string.caches_filter_size_large)));
} else if (id == 12) {
- adapter.setFilter(new cgFilterBySize(res.getString(R.string.caches_filter_size_other)));
+ adapter.setFilter(filter = new cgFilterBySize(res.getString(R.string.caches_filter_size_other)));
} else if (id == 13) {
- adapter.setFilter(new cgFilterBySize(res.getString(R.string.caches_filter_size_virtual)));
+ adapter.setFilter(filter = new cgFilterBySize(res.getString(R.string.caches_filter_size_virtual)));
} else if (id == 14) {
- adapter.setFilter(new cgFilterBySize(res.getString(R.string.caches_filter_size_notchosen)));
+ adapter.setFilter(filter = new cgFilterBySize(res.getString(R.string.caches_filter_size_notchosen)));
} else if (id == 15) {
- adapter.setFilter(new cgFilterByType("traditional"));
+ adapter.setFilter(filter = new cgFilterByType("traditional"));
} else if (id == 16) {
- adapter.setFilter(new cgFilterByType("multi"));
+ adapter.setFilter(filter = new cgFilterByType("multi"));
} else if (id == 17) {
- adapter.setFilter(new cgFilterByType("mystery"));
+ adapter.setFilter(filter = new cgFilterByType("mystery"));
} else if (id == 18) {
- adapter.setFilter(new cgFilterByType("letterbox"));
+ adapter.setFilter(filter = new cgFilterByType("letterbox"));
} else if (id == 19) {
- adapter.setFilter(new cgFilterByType("event"));
+ adapter.setFilter(filter = new cgFilterByType("event"));
} else if (id == 20) {
- adapter.setFilter(new cgFilterByType("mega"));
+ adapter.setFilter(filter = new cgFilterByType("mega"));
} else if (id == 21) {
- adapter.setFilter(new cgFilterByType("earth"));
+ adapter.setFilter(filter = new cgFilterByType("earth"));
} else if (id == 22) {
- adapter.setFilter(new cgFilterByType("cito"));
+ adapter.setFilter(filter = new cgFilterByType("cito"));
} else if (id == 23) {
- adapter.setFilter(new cgFilterByType("webcam"));
+ adapter.setFilter(filter = new cgFilterByType("webcam"));
} else if (id == 24) {
- adapter.setFilter(new cgFilterByType("virtual"));
+ adapter.setFilter(filter = new cgFilterByType("virtual"));
} else if (id == 25) {
- adapter.setFilter(new cgFilterByType("wherigo"));
+ adapter.setFilter(filter = new cgFilterByType("wherigo"));
} else if (id == 26) {
- adapter.setFilter(new cgFilterByType("lostfound"));
+ adapter.setFilter(filter = new cgFilterByType("lostfound"));
} else if (id == 27) {
- adapter.setFilter(new cgFilterByType("ape"));
+ adapter.setFilter(filter = new cgFilterByType("ape"));
} else if (id == 28) {
- adapter.setFilter(new cgFilterByType("gchq"));
+ adapter.setFilter(filter = new cgFilterByType("gchq"));
} else if (id == 29) {
- adapter.setFilter(new cgFilterByType("gps"));
- } else {
- return false;
+ adapter.setFilter(filter = new cgFilterByType("gps"));
}
+ }
+ if(filter != null){
return true;
- } else {
- // restore menu info for sub menu items, see https://code.google.com/p/android/issues/detail?id=7139
- info = lastMenuInfo;
- lastMenuInfo = null;
- return false;
}
+ if(lastMenuInfo == null){
+ return false;
+ }
+
+ // restore menu info for sub menu items, see https://code.google.com/p/android/issues/detail?id=7139
+ info = lastMenuInfo;
+ lastMenuInfo = null;
}
AdapterContextMenuInfo adapterInfo = null;