diff options
| author | Bananeweizen <bananeweizen@gmx.de> | 2014-01-16 08:22:59 +0100 |
|---|---|---|
| committer | Bananeweizen <bananeweizen@gmx.de> | 2014-01-16 08:22:59 +0100 |
| commit | 454f5b1edef4681acfa1b632a6f6489c15be4063 (patch) | |
| tree | 3bcde023189083a9dded359343c7e77364a0aca5 | |
| parent | 185721336ce3375fc6902a77135cb896222fabaf (diff) | |
| download | cgeo-454f5b1edef4681acfa1b632a6f6489c15be4063.zip cgeo-454f5b1edef4681acfa1b632a6f6489c15be4063.tar.gz cgeo-454f5b1edef4681acfa1b632a6f6489c15be4063.tar.bz2 | |
fix #3256: Put history in list selection
| -rw-r--r-- | main/src/cgeo/geocaching/CacheListActivity.java | 7 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/CreateShortcutActivity.java | 3 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/MainActivity.java | 5 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/list/PseudoList.java | 6 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/list/StoredList.java | 10 |
5 files changed, 27 insertions, 4 deletions
diff --git a/main/src/cgeo/geocaching/CacheListActivity.java b/main/src/cgeo/geocaching/CacheListActivity.java index beda430..50c6ab7 100644 --- a/main/src/cgeo/geocaching/CacheListActivity.java +++ b/main/src/cgeo/geocaching/CacheListActivity.java @@ -18,6 +18,7 @@ import cgeo.geocaching.files.GPXImporter; import cgeo.geocaching.filter.FilterUserInterface; import cgeo.geocaching.filter.IFilter; import cgeo.geocaching.geopoint.Geopoint; +import cgeo.geocaching.list.PseudoList; import cgeo.geocaching.list.StoredList; import cgeo.geocaching.loaders.AbstractSearchLoader; import cgeo.geocaching.loaders.AbstractSearchLoader.CacheListLoaderType; @@ -1318,6 +1319,12 @@ public class CacheListActivity extends AbstractListActivity implements FilteredA return; } + if (id == PseudoList.HISTORY_LIST.id) { + CacheListActivity.startActivityHistory(this); + finish(); + return; + } + final StoredList list = DataStore.getList(id); if (list == null) { return; diff --git a/main/src/cgeo/geocaching/CreateShortcutActivity.java b/main/src/cgeo/geocaching/CreateShortcutActivity.java index 889eb61..0b91da0 100644 --- a/main/src/cgeo/geocaching/CreateShortcutActivity.java +++ b/main/src/cgeo/geocaching/CreateShortcutActivity.java @@ -1,6 +1,7 @@ package cgeo.geocaching; import cgeo.geocaching.activity.AbstractActivity; +import cgeo.geocaching.list.PseudoList; import cgeo.geocaching.list.StoredList; import rx.util.functions.Action1; @@ -32,7 +33,7 @@ public class CreateShortcutActivity extends AbstractActivity { // finish activity to return the shortcut finish(); } - }); + }, false, PseudoList.HISTORY_LIST.id); } protected Intent createShortcut(int listId) { diff --git a/main/src/cgeo/geocaching/MainActivity.java b/main/src/cgeo/geocaching/MainActivity.java index a4a76d9..3ffc631 100644 --- a/main/src/cgeo/geocaching/MainActivity.java +++ b/main/src/cgeo/geocaching/MainActivity.java @@ -10,6 +10,7 @@ import cgeo.geocaching.enumerations.CacheType; import cgeo.geocaching.enumerations.StatusCode; import cgeo.geocaching.geopoint.Geopoint; import cgeo.geocaching.geopoint.Units; +import cgeo.geocaching.list.PseudoList; import cgeo.geocaching.list.StoredList; import cgeo.geocaching.maps.CGeoMap; import cgeo.geocaching.settings.Settings; @@ -23,7 +24,9 @@ import cgeo.geocaching.utils.Version; import com.google.zxing.integration.android.IntentIntegrator; import com.google.zxing.integration.android.IntentResult; + import org.apache.commons.lang3.StringUtils; + import rx.Observable; import rx.Observable.OnSubscribeFunc; import rx.Observer; @@ -381,7 +384,7 @@ public class MainActivity extends AbstractActivity { Settings.saveLastList(selectedListId); CacheListActivity.startActivityOffline(MainActivity.this); } - }); + }, false, PseudoList.HISTORY_LIST.id); return true; } }); diff --git a/main/src/cgeo/geocaching/list/PseudoList.java b/main/src/cgeo/geocaching/list/PseudoList.java index 365d6fd..f2cc7ed 100644 --- a/main/src/cgeo/geocaching/list/PseudoList.java +++ b/main/src/cgeo/geocaching/list/PseudoList.java @@ -17,6 +17,12 @@ public class PseudoList extends AbstractList { */ public static final AbstractList NEW_LIST = new PseudoList(NEW_LIST_ID, R.string.list_menu_create); + private static final int HISTORY_LIST_ID = 4; + /** + * list entry to create a new list + */ + public static final AbstractList HISTORY_LIST = new PseudoList(HISTORY_LIST_ID, R.string.menu_history); + /** * private constructor to have all instances as constants in the class */ diff --git a/main/src/cgeo/geocaching/list/StoredList.java b/main/src/cgeo/geocaching/list/StoredList.java index 633b66c..ba8ce35 100644 --- a/main/src/cgeo/geocaching/list/StoredList.java +++ b/main/src/cgeo/geocaching/list/StoredList.java @@ -8,6 +8,7 @@ import cgeo.geocaching.ui.dialog.Dialogs; import org.apache.commons.lang3.StringUtils; import org.eclipse.jdt.annotation.NonNull; + import rx.util.functions.Action1; import android.app.Activity; @@ -87,7 +88,12 @@ public final class StoredList extends AbstractList { } if (!onlyConcreteLists) { - lists.add(PseudoList.ALL_LIST); + if (exceptListId != PseudoList.ALL_LIST.id) { + lists.add(PseudoList.ALL_LIST); + } + if (exceptListId != PseudoList.HISTORY_LIST.id) { + lists.add(PseudoList.HISTORY_LIST); + } } lists.add(PseudoList.NEW_LIST); @@ -197,7 +203,7 @@ public final class StoredList extends AbstractList { * Return the given list, if it is a concrete list. Return the default list otherwise. */ public static int getConcreteList(int listId) { - if (listId == PseudoList.ALL_LIST.id || listId == TEMPORARY_LIST_ID) { + if (listId == PseudoList.ALL_LIST.id || listId == TEMPORARY_LIST_ID || listId == PseudoList.HISTORY_LIST.id) { return STANDARD_LIST_ID; } return listId; |
