aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching
diff options
context:
space:
mode:
authorBananeweizen <bananeweizen@gmx.de>2013-05-02 18:37:09 +0200
committerBananeweizen <bananeweizen@gmx.de>2013-05-10 18:20:51 +0200
commit96085791963ff0bfb1e50dc5769800648d887cdb (patch)
treedf931b77b406fbbf0a950c925a642fe01383e278 /main/src/cgeo/geocaching
parenta5b35087421a8dbaccca7f54cce71a590e0326ca (diff)
downloadcgeo-96085791963ff0bfb1e50dc5769800648d887cdb.zip
cgeo-96085791963ff0bfb1e50dc5769800648d887cdb.tar.gz
cgeo-96085791963ff0bfb1e50dc5769800648d887cdb.tar.bz2
refactoring: use menu resources instead of code
Diffstat (limited to 'main/src/cgeo/geocaching')
-rw-r--r--main/src/cgeo/geocaching/AbstractLoggingActivity.java18
-rw-r--r--main/src/cgeo/geocaching/AbstractPopupActivity.java34
-rw-r--r--main/src/cgeo/geocaching/CacheDetailActivity.java3
-rw-r--r--main/src/cgeo/geocaching/CompassActivity.java (renamed from main/src/cgeo/geocaching/cgeonavigate.java)92
-rw-r--r--main/src/cgeo/geocaching/MainActivity.java4
-rw-r--r--main/src/cgeo/geocaching/NavigateAnyPointActivity.java30
-rw-r--r--main/src/cgeo/geocaching/SearchActivity.java5
-rw-r--r--main/src/cgeo/geocaching/SettingsActivity.java5
-rw-r--r--main/src/cgeo/geocaching/StaticMapsActivity.java5
-rw-r--r--main/src/cgeo/geocaching/TrackableActivity.java13
-rw-r--r--main/src/cgeo/geocaching/apps/cache/navi/CompassApp.java8
-rw-r--r--main/src/cgeo/geocaching/cgeocaches.java2
-rw-r--r--main/src/cgeo/geocaching/maps/CGeoMap.java84
-rw-r--r--main/src/cgeo/geocaching/maps/MapProviderFactory.java8
-rw-r--r--main/src/cgeo/geocaching/maps/google/GoogleMapActivity.java5
-rw-r--r--main/src/cgeo/geocaching/maps/mapsforge/MapsforgeMapActivity.java5
-rw-r--r--main/src/cgeo/geocaching/ui/LoggingUI.java40
17 files changed, 145 insertions, 216 deletions
diff --git a/main/src/cgeo/geocaching/AbstractLoggingActivity.java b/main/src/cgeo/geocaching/AbstractLoggingActivity.java
index 3e66d5e..78da757 100644
--- a/main/src/cgeo/geocaching/AbstractLoggingActivity.java
+++ b/main/src/cgeo/geocaching/AbstractLoggingActivity.java
@@ -17,23 +17,17 @@ import android.view.SubMenu;
import android.widget.EditText;
public abstract class AbstractLoggingActivity extends AbstractActivity {
- private static final int MENU_SIGNATURE = 1;
- private static final int MENU_SMILEY = 2;
@Override
public boolean onCreateOptionsMenu(final Menu menu) {
- // signature menu
- menu.add(0, MENU_SIGNATURE, 0, res.getString(R.string.init_signature)).setIcon(R.drawable.ic_menu_edit);
+ getMenuInflater().inflate(R.menu.abstract_logging_activity, menu);
- // templates menu
- final SubMenu menuLog = menu.addSubMenu(0, 0, 0, res.getString(R.string.log_add)).setIcon(R.drawable.ic_menu_add);
+ final SubMenu menuLog = menu.findItem(R.id.menu_templates).getSubMenu();
for (LogTemplate template : LogTemplateProvider.getTemplates()) {
menuLog.add(0, template.getItemId(), 0, template.getResourceId());
}
- menuLog.add(0, MENU_SIGNATURE, 0, res.getString(R.string.init_signature));
- // smilies
- final SubMenu menuSmilies = menu.addSubMenu(0, MENU_SMILEY, 0, res.getString(R.string.log_smilies)).setIcon(R.drawable.ic_menu_emoticons);
+ final SubMenu menuSmilies = menu.findItem(R.id.menu_smilies).getSubMenu();
for (Smiley smiley : GCSmiliesProvider.getSmilies()) {
menuSmilies.add(0, smiley.getItemId(), 0, smiley.text);
}
@@ -44,7 +38,7 @@ public abstract class AbstractLoggingActivity extends AbstractActivity {
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
final boolean signatureAvailable = StringUtils.isNotBlank(Settings.getSignature());
- menu.findItem(MENU_SIGNATURE).setVisible(signatureAvailable);
+ menu.findItem(R.id.menu_signature).setVisible(signatureAvailable);
boolean smileyVisible = false;
final Geocache cache = getLogContext().getCache();
@@ -56,7 +50,7 @@ public abstract class AbstractLoggingActivity extends AbstractActivity {
smileyVisible = true;
}
- menu.findItem(MENU_SMILEY).setVisible(smileyVisible);
+ menu.findItem(R.id.menu_smilies).setVisible(smileyVisible);
return true;
}
@@ -65,7 +59,7 @@ public abstract class AbstractLoggingActivity extends AbstractActivity {
public boolean onOptionsItemSelected(MenuItem item) {
final int id = item.getItemId();
- if (id == MENU_SIGNATURE) {
+ if (id == R.id.menu_signature) {
insertIntoLog(LogTemplateProvider.applyTemplates(Settings.getSignature(), getLogContext()), true);
return true;
}
diff --git a/main/src/cgeo/geocaching/AbstractPopupActivity.java b/main/src/cgeo/geocaching/AbstractPopupActivity.java
index 4dd9fd1..73dc86d 100644
--- a/main/src/cgeo/geocaching/AbstractPopupActivity.java
+++ b/main/src/cgeo/geocaching/AbstractPopupActivity.java
@@ -2,7 +2,6 @@ package cgeo.geocaching;
import cgeo.geocaching.activity.AbstractActivity;
import cgeo.geocaching.activity.ActivityMixin;
-import cgeo.geocaching.apps.cache.navi.NavigationAppFactory;
import cgeo.geocaching.enumerations.CacheSize;
import cgeo.geocaching.enumerations.LoadFlags;
import cgeo.geocaching.gcvote.GCVote;
@@ -34,11 +33,6 @@ import android.widget.TextView;
public abstract class AbstractPopupActivity extends AbstractActivity {
- private static final int MENU_CACHES_AROUND = 5;
- private static final int MENU_NAVIGATION = 3;
- private static final int MENU_DEFAULT_NAVIGATION = 2;
- private static final int MENU_SHOW_IN_BROWSER = 7;
-
protected Geocache cache = null;
protected String geocode = null;
protected CacheDetailsCreator details;
@@ -76,9 +70,10 @@ public abstract class AbstractPopupActivity extends AbstractActivity {
/**
* Callback to run when new location information is available.
- * This may be overriden by deriving classes. The default implementation does nothing.
+ * This may be overridden by deriving classes. The default implementation does nothing.
*
- * @param geo the new data
+ * @param geo
+ * the new data
*/
public void onUpdateGeoData(final IGeoData geo) {
}
@@ -164,12 +159,7 @@ public abstract class AbstractPopupActivity extends AbstractActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
- menu.add(0, MENU_DEFAULT_NAVIGATION, 0, NavigationAppFactory.getDefaultNavigationApplication().getName()).setIcon(R.drawable.ic_menu_compass); // default navigation tool
- menu.add(0, MENU_NAVIGATION, 0, res.getString(R.string.cache_menu_navigate)).setIcon(R.drawable.ic_menu_mapmode);
- LoggingUI.addMenuItems(menu, cache);
- menu.add(0, MENU_CACHES_AROUND, 0, res.getString(R.string.cache_menu_around)).setIcon(R.drawable.ic_menu_rotate); // caches around
- menu.add(0, MENU_SHOW_IN_BROWSER, 0, res.getString(R.string.cache_menu_browser)).setIcon(R.drawable.ic_menu_info_details); // browser
-
+ getMenuInflater().inflate(R.menu.abstract_popup_activity, menu);
return true;
}
@@ -178,16 +168,16 @@ public abstract class AbstractPopupActivity extends AbstractActivity {
final int menuItem = item.getItemId();
switch (menuItem) {
- case MENU_DEFAULT_NAVIGATION:
+ case R.id.menu_default_navigation:
navigateTo();
return true;
- case MENU_NAVIGATION:
+ case R.id.menu_navigate:
showNavigationMenu();
return true;
- case MENU_CACHES_AROUND:
+ case R.id.menu_caches_around:
cachesAround();
return true;
- case MENU_SHOW_IN_BROWSER:
+ case R.id.menu_show_in_browser:
showInBrowser();
return true;
default:
@@ -211,11 +201,11 @@ public abstract class AbstractPopupActivity extends AbstractActivity {
try {
final boolean visible = getCoordinates() != null;
- menu.findItem(MENU_DEFAULT_NAVIGATION).setVisible(visible);
- menu.findItem(MENU_NAVIGATION).setVisible(visible);
- menu.findItem(MENU_CACHES_AROUND).setVisible(visible);
+ menu.findItem(R.id.menu_default_navigation).setVisible(visible);
+ menu.findItem(R.id.menu_navigate).setVisible(visible);
+ menu.findItem(R.id.menu_caches_around).setVisible(visible);
- LoggingUI.onPrepareOptionsMenu(menu);
+ LoggingUI.onPrepareOptionsMenu(menu, cache);
} catch (Exception e) {
// nothing
}
diff --git a/main/src/cgeo/geocaching/CacheDetailActivity.java b/main/src/cgeo/geocaching/CacheDetailActivity.java
index b0bee55..9a25998 100644
--- a/main/src/cgeo/geocaching/CacheDetailActivity.java
+++ b/main/src/cgeo/geocaching/CacheDetailActivity.java
@@ -536,7 +536,7 @@ public class CacheDetailActivity extends AbstractViewPagerActivity<CacheDetailAc
NavigationAppFactory.addMenuItems(subMenu, cache);
menu.add(0, MENU_CALENDAR, 0, res.getString(R.string.cache_menu_event)).setIcon(R.drawable.ic_menu_agenda); // add event to calendar
- LoggingUI.addMenuItems(menu, cache);
+ LoggingUI.addMenuItems(this, menu, cache);
menu.add(0, MENU_CACHES_AROUND, 0, res.getString(R.string.cache_menu_around)).setIcon(R.drawable.ic_menu_rotate); // caches around
menu.add(0, MENU_BROWSER, 0, res.getString(R.string.cache_menu_browser)).setIcon(R.drawable.ic_menu_globe); // browser
menu.add(0, MENU_SHARE, 0, res.getString(R.string.cache_menu_share)).setIcon(R.drawable.ic_menu_share); // share cache
@@ -552,6 +552,7 @@ public class CacheDetailActivity extends AbstractViewPagerActivity<CacheDetailAc
menu.findItem(MENU_CACHES_AROUND).setVisible(null != cache.getCoords() && cache.supportsCachesAround());
menu.findItem(MENU_BROWSER).setVisible(cache.canOpenInBrowser());
}
+ LoggingUI.onPrepareOptionsMenu(menu, cache);
return super.onPrepareOptionsMenu(menu);
}
diff --git a/main/src/cgeo/geocaching/cgeonavigate.java b/main/src/cgeo/geocaching/CompassActivity.java
index 679e2f2..cf13af2 100644
--- a/main/src/cgeo/geocaching/cgeonavigate.java
+++ b/main/src/cgeo/geocaching/CompassActivity.java
@@ -24,15 +24,13 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-public class cgeonavigate extends AbstractActivity {
+public class CompassActivity extends AbstractActivity {
private static final String EXTRAS_COORDS = "coords";
private static final String EXTRAS_NAME = "name";
private static final String EXTRAS_GEOCODE = "geocode";
private static final String EXTRAS_CACHE_INFO = "cacheinfo";
private static final List<IWaypoint> coordinates = new ArrayList<IWaypoint>();
- private static final int MENU_MAP = 0;
- private static final int MENU_SWITCH_COMPASS_GPS = 1;
private PowerManager pm = null;
private Geopoint dstCoords = null;
private float cacheHeading = 0;
@@ -46,10 +44,6 @@ public class cgeonavigate extends AbstractActivity {
private TextView headingView = null;
private CompassView compassView = null;
- public cgeonavigate() {
- super(true);
- }
-
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState, R.layout.navigate);
@@ -113,18 +107,17 @@ public class cgeonavigate extends AbstractActivity {
@Override
public boolean onCreateOptionsMenu(final Menu menu) {
- menu.add(0, MENU_SWITCH_COMPASS_GPS, 0, res.getString(Settings.isUseCompass() ? R.string.use_gps : R.string.use_compass)).setIcon(R.drawable.ic_menu_compass);
- menu.add(0, MENU_MAP, 0, res.getString(R.string.caches_on_map)).setIcon(R.drawable.ic_menu_mapmode);
- menu.add(0, 2, 0, res.getString(R.string.destination_set)).setIcon(R.drawable.ic_menu_edit);
+ getMenuInflater().inflate(R.menu.compass_activity_options, menu);
+ final SubMenu subMenu = menu.findItem(R.id.menu_select_destination).getSubMenu();
if (coordinates.size() > 1) {
- final SubMenu subMenu = menu.addSubMenu(0, 3, 0, res.getString(R.string.destination_select)).setIcon(R.drawable.ic_menu_myplaces);
int cnt = 4;
for (final IWaypoint coordinate : coordinates) {
subMenu.add(0, cnt, 0, coordinate.getName() + " (" + coordinate.getCoordType() + ")");
cnt++;
}
- } else {
- menu.add(0, 3, 0, res.getString(R.string.destination_select)).setIcon(R.drawable.ic_menu_myplaces).setEnabled(false);
+ }
+ else {
+ menu.findItem(R.id.menu_select_destination).setVisible(false);
}
return true;
}
@@ -132,45 +125,48 @@ public class cgeonavigate extends AbstractActivity {
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu);
- menu.findItem(MENU_SWITCH_COMPASS_GPS).setTitle(res.getString(Settings.isUseCompass() ? R.string.use_gps : R.string.use_compass));
+ menu.findItem(R.id.menu_switch_compass_gps).setTitle(res.getString(Settings.isUseCompass() ? R.string.use_gps : R.string.use_compass));
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
-
- if (id == MENU_MAP) {
- CGeoMap.startActivityCoords(this, dstCoords, null, null);
- } else if (id == MENU_SWITCH_COMPASS_GPS) {
- boolean oldSetting = Settings.isUseCompass();
- Settings.setUseCompass(!oldSetting);
- invalidateOptionsMenuCompatible();
- if (oldSetting) {
- geoDirHandler.stopDir();
- } else {
- geoDirHandler.startDir();
- }
- } else if (id == 2) {
- Intent pointIntent = new Intent(this, NavigateAnyPointActivity.class);
- startActivity(pointIntent);
-
- finish();
- return true;
- } else if (id > 3 && coordinates.get(id - 4) != null) {
- final IWaypoint coordinate = coordinates.get(id - 4);
-
- title = coordinate.getName();
- dstCoords = coordinate.getCoords();
- setTitle();
- setDestCoords();
- setCacheInfo();
- updateDistanceInfo(app.currentGeo());
-
- Log.d("destination set: " + title + " (" + dstCoords + ")");
- return true;
+ switch (id) {
+ case R.id.menu_map:
+ CGeoMap.startActivityCoords(this, dstCoords, null, null);
+ return true;
+ case R.id.menu_switch_compass_gps:
+ boolean oldSetting = Settings.isUseCompass();
+ Settings.setUseCompass(!oldSetting);
+ invalidateOptionsMenuCompatible();
+ if (oldSetting) {
+ geoDirHandler.stopDir();
+ } else {
+ geoDirHandler.startDir();
+ }
+ return true;
+ case R.id.menu_edit_destination:
+ Intent pointIntent = new Intent(this, NavigateAnyPointActivity.class);
+ startActivity(pointIntent);
+
+ finish();
+ return true;
+ default:
+ if (id > 3 && coordinates.get(id - 4) != null) {
+ final IWaypoint coordinate = coordinates.get(id - 4);
+
+ title = coordinate.getName();
+ dstCoords = coordinate.getCoords();
+ setTitle();
+ setDestCoords();
+ setCacheInfo();
+ updateDistanceInfo(app.currentGeo());
+
+ Log.d("destination set: " + title + " (" + dstCoords + ")");
+ return true;
+ }
}
-
return false;
}
@@ -268,7 +264,7 @@ public class cgeonavigate extends AbstractActivity {
@Override
public void updateDirection(final float direction) {
if (app.currentGeo().getSpeed() <= 5) { // use compass when speed is lower than 18 km/h
- updateNorthHeading(DirectionProvider.getDirectionNow(cgeonavigate.this, direction));
+ updateNorthHeading(DirectionProvider.getDirectionNow(CompassActivity.this, direction));
}
}
};
@@ -286,7 +282,7 @@ public class cgeonavigate extends AbstractActivity {
coordinates.addAll(coordinatesWithType);
}
- final Intent navigateIntent = new Intent(context, cgeonavigate.class);
+ final Intent navigateIntent = new Intent(context, CompassActivity.class);
navigateIntent.putExtra(EXTRAS_COORDS, coords);
navigateIntent.putExtra(EXTRAS_GEOCODE, geocode);
if (null != displayedName) {
@@ -297,7 +293,7 @@ public class cgeonavigate extends AbstractActivity {
}
public static void startActivity(final Context context, final String geocode, final String displayedName, final Geopoint coords, final Collection<IWaypoint> coordinatesWithType) {
- cgeonavigate.startActivity(context, geocode, displayedName, coords, coordinatesWithType, null);
+ CompassActivity.startActivity(context, geocode, displayedName, coords, coordinatesWithType, null);
}
}
diff --git a/main/src/cgeo/geocaching/MainActivity.java b/main/src/cgeo/geocaching/MainActivity.java
index cd573ba..9a8083f 100644
--- a/main/src/cgeo/geocaching/MainActivity.java
+++ b/main/src/cgeo/geocaching/MainActivity.java
@@ -33,7 +33,6 @@ import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.Menu;
-import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
@@ -239,8 +238,7 @@ public class MainActivity extends AbstractActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
- MenuInflater inflater = getMenuInflater();
- inflater.inflate(R.menu.main_options, menu);
+ getMenuInflater().inflate(R.menu.main_activity_options, menu);
return true;
}
diff --git a/main/src/cgeo/geocaching/NavigateAnyPointActivity.java b/main/src/cgeo/geocaching/NavigateAnyPointActivity.java
index 0770269..4e17caa 100644
--- a/main/src/cgeo/geocaching/NavigateAnyPointActivity.java
+++ b/main/src/cgeo/geocaching/NavigateAnyPointActivity.java
@@ -40,10 +40,6 @@ import android.widget.TextView;
import java.util.List;
public class NavigateAnyPointActivity extends AbstractActivity {
- private static final int MENU_DEFAULT_NAVIGATION = 2;
- private static final int MENU_NAVIGATE = 0;
- private static final int MENU_CACHES_AROUND = 5;
- private static final int MENU_CLEAR_HISTORY = 6;
protected static class ViewHolder {
@InjectView(R.id.simple_way_point_longitude) protected TextView longitude;
@@ -320,14 +316,8 @@ public class NavigateAnyPointActivity extends AbstractActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
- menu.add(0, MENU_DEFAULT_NAVIGATION, 0, NavigationAppFactory.getDefaultNavigationApplication().getName()).setIcon(R.drawable.ic_menu_compass); // default navigation tool
-
- menu.add(0, MENU_NAVIGATE, 0, res.getString(R.string.cache_menu_navigate)).setIcon(R.drawable.ic_menu_mapmode);
-
- menu.add(0, MENU_CACHES_AROUND, 0, res.getString(R.string.cache_menu_around)).setIcon(R.drawable.ic_menu_rotate); // caches around
-
- menu.add(0, MENU_CLEAR_HISTORY, 0, res.getString(R.string.search_clear_history)).setIcon(R.drawable.ic_menu_delete); // clear history
-
+ getMenuInflater().inflate(R.menu.navigate_any_point_activity_options, menu);
+ menu.findItem(R.id.menu_default_navigation).setTitle(NavigationAppFactory.getDefaultNavigationApplication().getName());
return true;
}
@@ -337,11 +327,11 @@ public class NavigateAnyPointActivity extends AbstractActivity {
try {
boolean visible = getDestination() != null;
- menu.findItem(MENU_NAVIGATE).setVisible(visible);
- menu.findItem(MENU_DEFAULT_NAVIGATION).setVisible(visible);
- menu.findItem(MENU_CACHES_AROUND).setVisible(visible);
+ menu.findItem(R.id.menu_navigate).setVisible(visible);
+ menu.findItem(R.id.menu_default_navigation).setVisible(visible);
+ menu.findItem(R.id.menu_caches_around).setVisible(visible);
- menu.findItem(MENU_CLEAR_HISTORY).setEnabled(!getHistoryOfSearchedLocations().isEmpty());
+ menu.findItem(R.id.menu_clear_history).setEnabled(!getHistoryOfSearchedLocations().isEmpty());
} catch (Exception e) {
// nothing
}
@@ -360,19 +350,19 @@ public class NavigateAnyPointActivity extends AbstractActivity {
}
switch (menuItem) {
- case MENU_DEFAULT_NAVIGATION:
+ case R.id.menu_default_navigation:
navigateTo();
return true;
- case MENU_CACHES_AROUND:
+ case R.id.menu_caches_around:
cachesAround();
return true;
- case MENU_CLEAR_HISTORY:
+ case R.id.menu_clear_history:
clearHistory();
return true;
- case MENU_NAVIGATE:
+ case R.id.menu_navigate:
NavigationAppFactory.showNavigationMenu(this, null, null, coords);
return true;
default:
diff --git a/main/src/cgeo/geocaching/SearchActivity.java b/main/src/cgeo/geocaching/SearchActivity.java
index 9c7e54e..73459e5 100644
--- a/main/src/cgeo/geocaching/SearchActivity.java
+++ b/main/src/cgeo/geocaching/SearchActivity.java
@@ -33,7 +33,6 @@ import java.util.Locale;
public class SearchActivity extends AbstractActivity {
- private static final int MENU_SEARCH_OWN_CACHES = 1;
private EditText latEdit = null;
private EditText lonEdit = null;
@@ -409,13 +408,13 @@ public class SearchActivity extends AbstractActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
- menu.add(0, MENU_SEARCH_OWN_CACHES, 0, res.getString(R.string.search_own_caches)).setIcon(R.drawable.ic_menu_myplaces);
+ getMenuInflater().inflate(R.menu.search_activity_options, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
- if (item.getItemId() == MENU_SEARCH_OWN_CACHES) {
+ if (item.getItemId() == R.id.menu_search_own_caches) {
findByOwnerFn(Settings.getUsername());
return true;
}
diff --git a/main/src/cgeo/geocaching/SettingsActivity.java b/main/src/cgeo/geocaching/SettingsActivity.java
index bd99552..002293b 100644
--- a/main/src/cgeo/geocaching/SettingsActivity.java
+++ b/main/src/cgeo/geocaching/SettingsActivity.java
@@ -159,14 +159,13 @@ public class SettingsActivity extends AbstractActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
- menu.add(0, 0, 0, res.getString(R.string.init_clear)).setIcon(R.drawable.ic_menu_delete);
-
+ getMenuInflater().inflate(R.menu.settings_activity_options, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
- if (item.getItemId() == 0) {
+ if (item.getItemId() == R.id.menu_clear) {
((EditText) findViewById(R.id.username)).setText("");
((EditText) findViewById(R.id.password)).setText("");
((EditText) findViewById(R.id.passvote)).setText("");
diff --git a/main/src/cgeo/geocaching/StaticMapsActivity.java b/main/src/cgeo/geocaching/StaticMapsActivity.java
index 3b32067..a6a81d5 100644
--- a/main/src/cgeo/geocaching/StaticMapsActivity.java
+++ b/main/src/cgeo/geocaching/StaticMapsActivity.java
@@ -27,7 +27,6 @@ public class StaticMapsActivity extends AbstractActivity {
private static final String EXTRAS_WAYPOINT = "waypoint";
private static final String EXTRAS_DOWNLOAD = "download";
private static final String EXTRAS_GEOCODE = "geocode";
- private static final int MENU_REFRESH = 1;
private final List<Bitmap> maps = new ArrayList<Bitmap>();
private boolean download = false;
private Integer waypoint_id = null;
@@ -159,13 +158,13 @@ public class StaticMapsActivity extends AbstractActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
- menu.add(0, MENU_REFRESH, 0, res.getString(R.string.cache_offline_refresh));
+ getMenuInflater().inflate(R.menu.static_maps_activity_options, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
- if (item.getItemId() == MENU_REFRESH) {
+ if (item.getItemId() == R.id.menu_refresh) {
downloadStaticMaps();
restartActivity();
return true;
diff --git a/main/src/cgeo/geocaching/TrackableActivity.java b/main/src/cgeo/geocaching/TrackableActivity.java
index 9b3dbfc..41b8b24 100644
--- a/main/src/cgeo/geocaching/TrackableActivity.java
+++ b/main/src/cgeo/geocaching/TrackableActivity.java
@@ -56,8 +56,6 @@ public class TrackableActivity extends AbstractViewPagerActivity<TrackableActivi
this.resId = resId;
}
}
- private static final int MENU_LOG_TOUCH = 1;
- private static final int MENU_BROWSER_TRACKABLE = 2;
private Trackable trackable = null;
private String geocode = null;
private String name = null;
@@ -233,18 +231,17 @@ public class TrackableActivity extends AbstractViewPagerActivity<TrackableActivi
@Override
public boolean onCreateOptionsMenu(Menu menu) {
- menu.add(0, MENU_LOG_TOUCH, 0, res.getString(R.string.trackable_log_touch)).setIcon(R.drawable.ic_menu_agenda); // log touch
- menu.add(0, MENU_BROWSER_TRACKABLE, 0, res.getString(R.string.trackable_browser_open)).setIcon(R.drawable.ic_menu_info_details); // browser
+ getMenuInflater().inflate(R.menu.trackable_activity, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
- case MENU_LOG_TOUCH:
+ case R.id.menu_log_touch:
LogTrackableActivity.startActivity(this, trackable);
return true;
- case MENU_BROWSER_TRACKABLE:
+ case R.id.menu_browser_trackable:
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(trackable.getUrl())));
return true;
default:
@@ -255,8 +252,8 @@ public class TrackableActivity extends AbstractViewPagerActivity<TrackableActivi
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
if (trackable != null) {
- menu.findItem(MENU_LOG_TOUCH).setEnabled(StringUtils.isNotBlank(geocode) && trackable.isLoggable());
- menu.findItem(MENU_BROWSER_TRACKABLE).setEnabled(StringUtils.isNotBlank(trackable.getUrl()));
+ menu.findItem(R.id.menu_log_touch).setEnabled(StringUtils.isNotBlank(geocode) && trackable.isLoggable());
+ menu.findItem(R.id.menu_browser_trackable).setEnabled(StringUtils.isNotBlank(trackable.getUrl()));
}
return super.onPrepareOptionsMenu(menu);
}
diff --git a/main/src/cgeo/geocaching/apps/cache/navi/CompassApp.java b/main/src/cgeo/geocaching/apps/cache/navi/CompassApp.java
index 4811916..47010df 100644
--- a/main/src/cgeo/geocaching/apps/cache/navi/CompassApp.java
+++ b/main/src/cgeo/geocaching/apps/cache/navi/CompassApp.java
@@ -3,7 +3,7 @@ package cgeo.geocaching.apps.cache.navi;
import cgeo.geocaching.Geocache;
import cgeo.geocaching.R;
import cgeo.geocaching.Waypoint;
-import cgeo.geocaching.cgeonavigate;
+import cgeo.geocaching.CompassActivity;
import cgeo.geocaching.geopoint.Geopoint;
import cgeo.geocaching.ui.Formatter;
@@ -22,18 +22,18 @@ class CompassApp extends AbstractPointNavigationApp {
@Override
public void navigate(Activity activity, Geopoint coords) {
- cgeonavigate.startActivity(activity, getString(R.string.navigation_direct_navigation), getString(R.string.navigation_target), coords, null);
+ CompassActivity.startActivity(activity, getString(R.string.navigation_direct_navigation), getString(R.string.navigation_target), coords, null);
}
@Override
public void navigate(Activity activity, Waypoint waypoint) {
- cgeonavigate.startActivity(activity, waypoint.getPrefix() + "/" + waypoint.getLookup(), waypoint.getName(), waypoint.getCoords(), null,
+ CompassActivity.startActivity(activity, waypoint.getPrefix() + "/" + waypoint.getLookup(), waypoint.getName(), waypoint.getCoords(), null,
waypoint.getWaypointType().getL10n());
}
@Override
public void navigate(Activity activity, Geocache cache) {
- cgeonavigate.startActivity(activity, cache.getGeocode(), cache.getName(), cache.getCoords(), null,
+ CompassActivity.startActivity(activity, cache.getGeocode(), cache.getName(), cache.getCoords(), null,
Formatter.formatCacheInfoShort(cache));
}
diff --git a/main/src/cgeo/geocaching/cgeocaches.java b/main/src/cgeo/geocaching/cgeocaches.java
index 33dea8f..7c758e9 100644
--- a/main/src/cgeo/geocaching/cgeocaches.java
+++ b/main/src/cgeo/geocaching/cgeocaches.java
@@ -852,7 +852,7 @@ public class cgeocaches extends AbstractListActivity implements FilteredActivity
if (cache.getCoords() != null) {
menu.add(0, MENU_DEFAULT_NAVIGATION, 0, NavigationAppFactory.getDefaultNavigationApplication().getName());
menu.add(1, MENU_NAVIGATION, 0, res.getString(R.string.cache_menu_navigate)).setIcon(R.drawable.ic_menu_mapmode);
- LoggingUI.addMenuItems(menu, cache);
+ LoggingUI.addMenuItems(this, menu, cache);
menu.add(0, MENU_CACHE_DETAILS, 0, res.getString(R.string.cache_menu_details));
}
if (cache.isOffline()) {
diff --git a/main/src/cgeo/geocaching/maps/CGeoMap.java b/main/src/cgeo/geocaching/maps/CGeoMap.java
index 436fcce..33dcfd4 100644
--- a/main/src/cgeo/geocaching/maps/CGeoMap.java
+++ b/main/src/cgeo/geocaching/maps/CGeoMap.java
@@ -116,21 +116,6 @@ public class CGeoMap extends AbstractMap implements OnMapDragListener, ViewFacto
private static final String EXTRAS_MAP_MODE = "mapMode";
private static final String EXTRAS_LIVE_ENABLED = "liveEnabled";
- private static final int MENU_SELECT_MAPVIEW = 1;
- private static final int MENU_MAP_LIVE = 2;
- private static final int MENU_STORE_CACHES = 3;
- private static final int SUBMENU_MODES = 4;
- private static final int MENU_TRAIL_MODE = 81;
- private static final int MENU_THEME_MODE = 82;
- private static final int MENU_CIRCLE_MODE = 83;
- private static final int SUBMENU_STRATEGY = 5;
- private static final int MENU_STRATEGY_FASTEST = 51;
- private static final int MENU_STRATEGY_FAST = 52;
- private static final int MENU_STRATEGY_AUTO = 53;
- private static final int MENU_STRATEGY_DETAILED = 74;
-
- private static final int MENU_AS_LIST = 7;
-
private static final String BUNDLE_MAP_SOURCE = "mapSource";
private static final String BUNDLE_MAP_STATE = "mapState";
private static final String BUNDLE_LIVE_ENABLED = "liveEnabled";
@@ -173,8 +158,6 @@ public class CGeoMap extends AbstractMap implements OnMapDragListener, ViewFacto
private static final int[][] INSET_FOUND = { { 0, 0, 21, 28 }, { 0, 0, 25, 35 } }; // top left, 12x12 / 16x16
private static final int[][] INSET_USERMODIFIEDCOORDS = { { 21, 28, 0, 0 }, { 19, 25, 0, 0 } }; // bottom right, 12x12 / 26x26
private static final int[][] INSET_PERSONALNOTE = { { 0, 28, 21, 0 }, { 0, 25, 19, 0 } }; // bottom left, 12x12 / 26x26
- private static final int MENU_GROUP_MAP_SOURCES = 1;
- private static final int MENU_GROUP_MAP_STRATEGY = 2;
private SparseArray<LayerDrawable> overlaysCache = new SparseArray<LayerDrawable>();
/** Count of caches currently visible */
@@ -541,36 +524,15 @@ public class CGeoMap extends AbstractMap implements OnMapDragListener, ViewFacto
@Override
public boolean onCreateOptionsMenu(Menu menu) {
+ // menu inflation happens in Google/Mapsforge specific classes
- SubMenu submenu = menu.addSubMenu(0, MENU_SELECT_MAPVIEW, 0, res.getString(R.string.map_view_map)).setIcon(R.drawable.ic_menu_mapmode);
- addMapViewMenuItems(submenu);
-
- menu.add(0, MENU_MAP_LIVE, 0, res.getString(R.string.map_live_disable)).setIcon(R.drawable.ic_menu_refresh);
- menu.add(0, MENU_STORE_CACHES, 0, res.getString(R.string.caches_store_offline)).setIcon(R.drawable.ic_menu_set_as).setEnabled(false);
- SubMenu subMenuModes = menu.addSubMenu(0, SUBMENU_MODES, 0, res.getString(R.string.map_modes)).setIcon(R.drawable.ic_menu_mark);
- subMenuModes.add(0, MENU_TRAIL_MODE, 0, res.getString(R.string.map_trail_hide)).setIcon(R.drawable.ic_menu_trail);
- subMenuModes.add(0, MENU_CIRCLE_MODE, 0, res.getString(R.string.map_circles_hide)).setIcon(R.drawable.ic_menu_circle);
- subMenuModes.add(0, MENU_THEME_MODE, 0, res.getString(R.string.map_theme_select)).setIcon(R.drawable.ic_menu_preferences);
+ MapProviderFactory.addMapviewMenuItems(menu);
- Strategy strategy = Settings.getLiveMapStrategy();
- SubMenu subMenuStrategy = menu.addSubMenu(0, SUBMENU_STRATEGY, 0, res.getString(R.string.map_strategy)).setIcon(R.drawable.ic_menu_preferences);
+ final SubMenu subMenuStrategy = menu.findItem(R.id.submenu_strategy).getSubMenu();
subMenuStrategy.setHeaderTitle(res.getString(R.string.map_strategy_title));
- subMenuStrategy.add(MENU_GROUP_MAP_STRATEGY, MENU_STRATEGY_FASTEST, 0, Strategy.FASTEST.getL10n()).setCheckable(true).setChecked(strategy == Strategy.FASTEST);
- subMenuStrategy.add(MENU_GROUP_MAP_STRATEGY, MENU_STRATEGY_FAST, 0, Strategy.FAST.getL10n()).setCheckable(true).setChecked(strategy == Strategy.FAST);
- subMenuStrategy.add(MENU_GROUP_MAP_STRATEGY, MENU_STRATEGY_AUTO, 0, Strategy.AUTO.getL10n()).setCheckable(true).setChecked(strategy == Strategy.AUTO);
- subMenuStrategy.add(MENU_GROUP_MAP_STRATEGY, MENU_STRATEGY_DETAILED, 0, Strategy.DETAILED.getL10n()).setCheckable(true).setChecked(strategy == Strategy.DETAILED);
- subMenuStrategy.setGroupCheckable(MENU_GROUP_MAP_STRATEGY, true, true);
-
- menu.add(0, MENU_AS_LIST, 0, res.getString(R.string.map_as_list)).setIcon(R.drawable.ic_menu_agenda);
-
return true;
}
- private static void addMapViewMenuItems(final Menu menu) {
- MapProviderFactory.addMapviewMenuItems(menu, MENU_GROUP_MAP_SOURCES);
- menu.setGroupCheckable(MENU_GROUP_MAP_SOURCES, true, true);
- }
-
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu);
@@ -582,14 +544,14 @@ public class CGeoMap extends AbstractMap implements OnMapDragListener, ViewFacto
}
try {
- MenuItem item = menu.findItem(MENU_TRAIL_MODE);
+ MenuItem item = menu.findItem(R.id.menu_trail_mode);
if (Settings.isMapTrail()) {
item.setTitle(res.getString(R.string.map_trail_hide));
} else {
item.setTitle(res.getString(R.string.map_trail_show));
}
- item = menu.findItem(MENU_MAP_LIVE); // live map
+ item = menu.findItem(R.id.menu_map_live); // live map
if (isLiveEnabled) {
item.setTitle(res.getString(R.string.map_live_disable));
} else {
@@ -597,21 +559,27 @@ public class CGeoMap extends AbstractMap implements OnMapDragListener, ViewFacto
}
final Set<String> geocodesInViewport = getGeocodesForCachesInViewport();
- menu.findItem(MENU_STORE_CACHES).setEnabled(!isLoading() && CollectionUtils.isNotEmpty(geocodesInViewport) && new SearchResult(geocodesInViewport).hasUnsavedCaches());
+ menu.findItem(R.id.menu_store_caches).setEnabled(!isLoading() && CollectionUtils.isNotEmpty(geocodesInViewport) && new SearchResult(geocodesInViewport).hasUnsavedCaches());
- item = menu.findItem(MENU_CIRCLE_MODE); // show circles
+ item = menu.findItem(R.id.menu_circle_mode); // show circles
if (overlayCaches != null && overlayCaches.getCircles()) {
item.setTitle(res.getString(R.string.map_circles_hide));
} else {
item.setTitle(res.getString(R.string.map_circles_show));
}
- item = menu.findItem(MENU_THEME_MODE); // show theme selection
+ item = menu.findItem(R.id.menu_theme_mode); // show theme selection
item.setVisible(mapView.hasMapThemes());
- menu.findItem(MENU_AS_LIST).setEnabled(isLiveEnabled && !isLoading());
+ menu.findItem(R.id.menu_as_list).setEnabled(isLiveEnabled && !isLoading());
+
+ menu.findItem(R.id.submenu_strategy).setEnabled(isLiveEnabled);
- menu.findItem(SUBMENU_STRATEGY).setEnabled(isLiveEnabled);
+ Strategy strategy = Settings.getLiveMapStrategy();
+ menu.findItem(R.id.menu_strategy_fastest).setChecked(strategy == Strategy.FASTEST);
+ menu.findItem(R.id.menu_strategy_fast).setChecked(strategy == Strategy.FAST);
+ menu.findItem(R.id.menu_strategy_auto).setChecked(strategy == Strategy.AUTO);
+ menu.findItem(R.id.menu_strategy_detailed).setChecked(strategy == Strategy.DETAILED);
} catch (Exception e) {
Log.e("cgeomap.onPrepareOptionsMenu", e);
}
@@ -623,12 +591,12 @@ public class CGeoMap extends AbstractMap implements OnMapDragListener, ViewFacto
public boolean onOptionsItemSelected(MenuItem item) {
final int id = item.getItemId();
switch (id) {
- case MENU_TRAIL_MODE:
+ case R.id.menu_trail_mode:
Settings.setMapTrail(!Settings.isMapTrail());
mapView.repaintRequired(overlayPosition);
ActivityMixin.invalidateOptionsMenu(activity);
return true;
- case MENU_MAP_LIVE:
+ case R.id.menu_map_live:
isLiveEnabled = !isLiveEnabled;
if (mapMode == MapMode.LIVE) {
Settings.setLiveMap(isLiveEnabled);
@@ -638,7 +606,7 @@ public class CGeoMap extends AbstractMap implements OnMapDragListener, ViewFacto
searchIntent = null;
ActivityMixin.invalidateOptionsMenu(activity);
return true;
- case MENU_STORE_CACHES:
+ case R.id.menu_store_caches:
if (!isLoading()) {
final Set<String> geocodesInViewport = getGeocodesForCachesInViewport();
final List<String> geocodes = new ArrayList<String>();
@@ -672,7 +640,7 @@ public class CGeoMap extends AbstractMap implements OnMapDragListener, ViewFacto
}
}
return true;
- case MENU_CIRCLE_MODE:
+ case R.id.menu_circle_mode:
if (overlayCaches == null) {
return false;
}
@@ -681,29 +649,29 @@ public class CGeoMap extends AbstractMap implements OnMapDragListener, ViewFacto
mapView.repaintRequired(overlayCaches);
ActivityMixin.invalidateOptionsMenu(activity);
return true;
- case MENU_THEME_MODE:
+ case R.id.menu_theme_mode:
selectMapTheme();
return true;
- case MENU_AS_LIST: {
+ case R.id.menu_as_list: {
cgeocaches.startActivityMap(activity, new SearchResult(getGeocodesForCachesInViewport()));
return true;
}
- case MENU_STRATEGY_FASTEST: {
+ case R.id.menu_strategy_fastest: {
item.setChecked(true);
Settings.setLiveMapStrategy(Strategy.FASTEST);
return true;
}
- case MENU_STRATEGY_FAST: {
+ case R.id.menu_strategy_fast: {
item.setChecked(true);
Settings.setLiveMapStrategy(Strategy.FAST);
return true;
}
- case MENU_STRATEGY_AUTO: {
+ case R.id.menu_strategy_auto: {
item.setChecked(true);
Settings.setLiveMapStrategy(Strategy.AUTO);
return true;
}
- case MENU_STRATEGY_DETAILED: {
+ case R.id.menu_strategy_detailed: {
item.setChecked(true);
Settings.setLiveMapStrategy(Strategy.DETAILED);
return true;
diff --git a/main/src/cgeo/geocaching/maps/MapProviderFactory.java b/main/src/cgeo/geocaching/maps/MapProviderFactory.java
index 483189f..d1b5c3b 100644
--- a/main/src/cgeo/geocaching/maps/MapProviderFactory.java
+++ b/main/src/cgeo/geocaching/maps/MapProviderFactory.java
@@ -1,5 +1,6 @@
package cgeo.geocaching.maps;
+import cgeo.geocaching.R;
import cgeo.geocaching.Settings;
import cgeo.geocaching.maps.google.GoogleMapProvider;
import cgeo.geocaching.maps.interfaces.MapProvider;
@@ -7,6 +8,7 @@ import cgeo.geocaching.maps.interfaces.MapSource;
import cgeo.geocaching.maps.mapsforge.MapsforgeMapProvider;
import android.view.Menu;
+import android.view.SubMenu;
import java.util.ArrayList;
import java.util.List;
@@ -43,12 +45,14 @@ public class MapProviderFactory {
return provider1 == provider2 && provider1.isSameActivity(source1, source2);
}
- public static void addMapviewMenuItems(final Menu parentMenu, final int groupId) {
+ public static void addMapviewMenuItems(Menu menu) {
+ final SubMenu parentMenu = menu.findItem(R.id.menu_select_mapview).getSubMenu();
+
final int currentSource = Settings.getMapSource().getNumericalId();
for (int i = 0; i < mapSources.size(); i++) {
final MapSource mapSource = mapSources.get(i);
final int id = mapSource.getNumericalId();
- parentMenu.add(groupId, id, i, mapSource.getName()).setCheckable(true).setChecked(id == currentSource);
+ parentMenu.add(R.id.menu_group_map_sources, id, i, mapSource.getName()).setCheckable(true).setChecked(id == currentSource);
}
}
diff --git a/main/src/cgeo/geocaching/maps/google/GoogleMapActivity.java b/main/src/cgeo/geocaching/maps/google/GoogleMapActivity.java
index a98241f..dcff363 100644
--- a/main/src/cgeo/geocaching/maps/google/GoogleMapActivity.java
+++ b/main/src/cgeo/geocaching/maps/google/GoogleMapActivity.java
@@ -1,5 +1,6 @@
package cgeo.geocaching.maps.google;
+import cgeo.geocaching.R;
import cgeo.geocaching.activity.FilteredActivity;
import cgeo.geocaching.maps.AbstractMap;
import cgeo.geocaching.maps.CGeoMap;
@@ -83,7 +84,9 @@ public class GoogleMapActivity extends MapActivity implements MapActivityImpl, F
@Override
public boolean superOnCreateOptionsMenu(Menu menu) {
- return super.onCreateOptionsMenu(menu);
+ final boolean result = super.onCreateOptionsMenu(menu);
+ getMenuInflater().inflate(R.menu.map_activity, menu);
+ return result;
}
@Override
diff --git a/main/src/cgeo/geocaching/maps/mapsforge/MapsforgeMapActivity.java b/main/src/cgeo/geocaching/maps/mapsforge/MapsforgeMapActivity.java
index a0384b8..232fe3c 100644
--- a/main/src/cgeo/geocaching/maps/mapsforge/MapsforgeMapActivity.java
+++ b/main/src/cgeo/geocaching/maps/mapsforge/MapsforgeMapActivity.java
@@ -1,5 +1,6 @@
package cgeo.geocaching.maps.mapsforge;
+import cgeo.geocaching.R;
import cgeo.geocaching.activity.FilteredActivity;
import cgeo.geocaching.maps.AbstractMap;
import cgeo.geocaching.maps.CGeoMap;
@@ -78,7 +79,9 @@ public class MapsforgeMapActivity extends MapActivity implements MapActivityImpl
@Override
public boolean superOnCreateOptionsMenu(Menu menu) {
- return super.onCreateOptionsMenu(menu);
+ final boolean result = super.onCreateOptionsMenu(menu);
+ getMenuInflater().inflate(R.menu.map_activity, menu);
+ return result;
}
@Override
diff --git a/main/src/cgeo/geocaching/ui/LoggingUI.java b/main/src/cgeo/geocaching/ui/LoggingUI.java
index 2615947..1ba15a2 100644
--- a/main/src/cgeo/geocaching/ui/LoggingUI.java
+++ b/main/src/cgeo/geocaching/ui/LoggingUI.java
@@ -61,31 +61,12 @@ public class LoggingUI extends AbstractUIFactory {
}
}
- private static final int MENU_ICON_LOG_VISIT = R.drawable.ic_menu_edit;
- private static final int MENU_LOG_VISIT = 100;
- private static final int MENU_LOG_VISIT_OFFLINE = 101;
-
- public static void addMenuItems(final Menu menu, final Geocache cache) {
- if (cache == null) {
- return;
- }
- if (!cache.supportsLogging()) {
- return;
- }
- if (Settings.getLogOffline()) {
- menu.add(0, MENU_LOG_VISIT_OFFLINE, 0, res.getString(R.string.cache_menu_visit_offline)).setIcon(MENU_ICON_LOG_VISIT);
- }
- else {
- menu.add(0, MENU_LOG_VISIT, 0, res.getString(R.string.cache_menu_visit)).setIcon(MENU_ICON_LOG_VISIT);
- }
- }
-
public static boolean onMenuItemSelected(final MenuItem item, IAbstractActivity activity, Geocache cache) {
switch (item.getItemId()) {
- case MENU_LOG_VISIT:
+ case R.id.menu_log_visit:
cache.logVisit(activity);
return true;
- case MENU_LOG_VISIT_OFFLINE:
+ case R.id.menu_log_visit_offline:
showOfflineMenu(cache, (Activity) activity);
return true;
default:
@@ -136,10 +117,17 @@ public class LoggingUI extends AbstractUIFactory {
}
- public static void onPrepareOptionsMenu(Menu menu) {
- final MenuItem item = menu.findItem(MENU_LOG_VISIT);
- if (item != null) {
- item.setEnabled(Settings.isLogin());
- }
+ public static void onPrepareOptionsMenu(Menu menu, Geocache cache) {
+ final MenuItem itemLog = menu.findItem(R.id.menu_log_visit);
+ itemLog.setVisible(cache.supportsLogging() && !Settings.getLogOffline());
+ itemLog.setEnabled(Settings.isLogin());
+
+ final MenuItem itemOffline = menu.findItem(R.id.menu_log_visit_offline);
+ itemOffline.setVisible(cache.supportsLogging() && Settings.getLogOffline());
+ }
+
+ public static void addMenuItems(Activity activity, Menu menu, Geocache cache) {
+ activity.getMenuInflater().inflate(R.menu.logging_ui, menu);
+ onPrepareOptionsMenu(menu, cache);
}
}