package cgeo.geocaching.test.mock; import cgeo.geocaching.models.Image; import cgeo.geocaching.models.Trackable; import cgeo.geocaching.connector.gc.GCLogin; import cgeo.geocaching.enumerations.CacheSize; import cgeo.geocaching.enumerations.CacheType; import cgeo.geocaching.location.Geopoint; import cgeo.geocaching.log.LogType; import android.support.annotation.NonNull; import java.text.ParseException; import java.util.ArrayList; import java.util.Date; import java.util.EnumMap; import java.util.List; import java.util.Map; public class GC2JVEH extends MockedCache { @Override public String getName() { return "Auf den Spuren des Indianer Jones Teil 1"; } public GC2JVEH() { super(new Geopoint(52.37225, 9.735367)); } @Override public float getDifficulty() { return 5.0f; } @Override public float getTerrain() { return 3.0f; } @NonNull @Override public String getGeocode() { return "GC2JVEH"; } @Override public String getCacheId() { return "1997597"; } @Override public String getGuid() { return "07270e8c-72ec-4821-8cb7-b01483f94cb5"; } @Override public String getOwnerDisplayName() { return "indianerjones, der merlyn,reflektordetektor"; } @NonNull @Override public String getOwnerUserId() { return "indianerjones"; } @NonNull @Override public CacheSize getSize() { return CacheSize.SMALL; } @Override public CacheType getType() { return CacheType.MYSTERY; } @Override public String getShortDescription() { return "Aufgabe zum Start: Finde die Schattenlinie. !!!Die Skizze mit den Zahlen solltest du mitnehmen!!! Du solltest den cache so beginnen, das du station 2 in der Zeit von mo- fr von 11-19 Uhr und sa von 11-16 Uhr erledigt hast. Achtung: Damit ihr die Zahlenpause in druckbarer Größe sehen könnt müsst ihr über die Bildergalerie gehen nicht über den unten zu sehenden link....."; } @Override public String getDescription() { return "<img src=\"http://img.geocaching.com/cache/large/1711f8a1-796a-405b-82ba-8685f2e9f024.jpg\" />"; } @Override public String getLocation() { return "Niedersachsen, Germany"; } @Override public Date getHiddenDate() { try { return GCLogin.parseGcCustomDate("2010-11-28", getDateFormat()); } catch (ParseException e) { // intentionally left blank } return null; } @NonNull @Override public List<String> getAttributes() { final String[] attributes = { "winter_yes", "flashlight_yes", "stealth_yes", "parking_yes", "abandonedbuilding_yes", "hike_med_yes", "rappelling_yes" }; return new MockedLazyInitializedList<>(attributes); } @Override public Map<LogType, Integer> getLogCounts() { final Map<LogType, Integer> logCounts = new EnumMap<>(LogType.class); logCounts.put(LogType.FOUND_IT, 101); logCounts.put(LogType.NOTE, 7); logCounts.put(LogType.TEMP_DISABLE_LISTING, 1); logCounts.put(LogType.ENABLE_LISTING, 1); logCounts.put(LogType.PUBLISH_LISTING, 1); return logCounts; } @Override public int getFavoritePoints() { return 23; } @Override public boolean isPremiumMembersOnly() { return true; } @Override public List<Trackable> getInventory() { final ArrayList<Trackable> inventory = new ArrayList<>(); inventory.add(new Trackable()); return inventory; } @Override @NonNull public List<Image> getSpoilers() { final ArrayList<Image> spoilers = new ArrayList<>(); final Image mockedImage = Image.NONE; spoilers.add(mockedImage); spoilers.add(mockedImage); spoilers.add(mockedImage); return spoilers; } @Override public String getPersonalNote() { if ("blafoo".equals(this.getMockedDataUser())) { return "Selig"; } return super.getPersonalNote(); } @Override public boolean isFound() { if ("blafoo".equals(this.getMockedDataUser()) || "JoSaMaJa".equals(this.getMockedDataUser())) { return true; } return super.isFound(); } @Override public boolean isFavorite() { if ("blafoo".equals(this.getMockedDataUser())) { return true; } return super.isFavorite(); } @Override public boolean isArchived() { return true; } }