aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching
diff options
context:
space:
mode:
authorBananeweizen <bananeweizen@gmx.de>2012-05-06 09:29:22 +0200
committerBananeweizen <bananeweizen@gmx.de>2012-05-06 09:29:22 +0200
commitc5e42735b99baaebbc41e697ff716189821cd02c (patch)
treede2ccf5f2fd941846060a43194d7b2425ea334eb /main/src/cgeo/geocaching
parentf08a9d96915d1f8477b32f9c0b25372a518c5294 (diff)
downloadcgeo-c5e42735b99baaebbc41e697ff716189821cd02c.zip
cgeo-c5e42735b99baaebbc41e697ff716189821cd02c.tar.gz
cgeo-c5e42735b99baaebbc41e697ff716189821cd02c.tar.bz2
refactoring: remove waypoints activity
* replaced by popup meanwhile * rename remaining waypoint activity * rename some of the mostly untouched activities
Diffstat (limited to 'main/src/cgeo/geocaching')
-rw-r--r--main/src/cgeo/geocaching/AboutActivity.java (renamed from main/src/cgeo/geocaching/cgeoabout.java)4
-rw-r--r--main/src/cgeo/geocaching/CacheDetailActivity.java4
-rw-r--r--main/src/cgeo/geocaching/EditWaypointActivity.java (renamed from main/src/cgeo/geocaching/cgeowaypointadd.java)22
-rw-r--r--main/src/cgeo/geocaching/SearchActivity.java (renamed from main/src/cgeo/geocaching/cgeoadvsearch.java)6
-rw-r--r--main/src/cgeo/geocaching/SettingsActivity.java (renamed from main/src/cgeo/geocaching/cgeoinit.java)20
-rw-r--r--main/src/cgeo/geocaching/WaypointPopup.java2
-rw-r--r--main/src/cgeo/geocaching/cgeo.java14
-rw-r--r--main/src/cgeo/geocaching/cgeowaypoint.java355
8 files changed, 36 insertions, 391 deletions
diff --git a/main/src/cgeo/geocaching/cgeoabout.java b/main/src/cgeo/geocaching/AboutActivity.java
index f112539..1d7e169 100644
--- a/main/src/cgeo/geocaching/cgeoabout.java
+++ b/main/src/cgeo/geocaching/AboutActivity.java
@@ -11,7 +11,7 @@ import android.text.method.LinkMovementMethod;
import android.view.View;
import android.widget.TextView;
-public class cgeoabout extends AbstractActivity {
+public class AboutActivity extends AbstractActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
@@ -32,7 +32,7 @@ public class cgeoabout extends AbstractActivity {
((TextView) findViewById(R.id.contributors)).setMovementMethod(LinkMovementMethod.getInstance());
((TextView) findViewById(R.id.changelog)).setMovementMethod(LinkMovementMethod.getInstance());
} catch (Exception e) {
- Log.e("cgeoabout.init: Failed to obtain package version.");
+ Log.e("AboutActivity.init: Failed to obtain package version.");
}
}
diff --git a/main/src/cgeo/geocaching/CacheDetailActivity.java b/main/src/cgeo/geocaching/CacheDetailActivity.java
index f2b2757..afa1dad 100644
--- a/main/src/cgeo/geocaching/CacheDetailActivity.java
+++ b/main/src/cgeo/geocaching/CacheDetailActivity.java
@@ -475,7 +475,7 @@ public class CacheDetailActivity extends AbstractActivity {
case CONTEXT_MENU_WAYPOINT_EDIT: {
final cgWaypoint waypoint = cache.getWaypoint(index);
if (waypoint != null) {
- cgeowaypointadd.startActivityEditWaypoint(this, waypoint.getId());
+ EditWaypointActivity.startActivityEditWaypoint(this, waypoint.getId());
refreshOnResume = true;
}
break;
@@ -2340,7 +2340,7 @@ public class CacheDetailActivity extends AbstractActivity {
@Override
public void onClick(View v) {
- cgeowaypointadd.startActivityAddWaypoint(CacheDetailActivity.this, cache);
+ EditWaypointActivity.startActivityAddWaypoint(CacheDetailActivity.this, cache);
refreshOnResume = true;
}
});
diff --git a/main/src/cgeo/geocaching/cgeowaypointadd.java b/main/src/cgeo/geocaching/EditWaypointActivity.java
index 7255745..feb1fe6 100644
--- a/main/src/cgeo/geocaching/cgeowaypointadd.java
+++ b/main/src/cgeo/geocaching/EditWaypointActivity.java
@@ -34,7 +34,7 @@ import java.util.ArrayList;
import java.util.EnumSet;
import java.util.List;
-public class cgeowaypointadd extends AbstractActivity implements IObserver<IGeoData> {
+public class EditWaypointActivity extends AbstractActivity implements IObserver<IGeoData> {
private String geocode = null;
private int id = -1;
@@ -87,7 +87,7 @@ public class cgeowaypointadd extends AbstractActivity implements IObserver<IGeoD
initializeDistanceUnitSelector();
} catch (Exception e) {
- Log.e("cgeowaypointadd.loadWaypointHandler: " + e.toString());
+ Log.e("EditWaypointActivity.loadWaypointHandler: " + e.toString());
} finally {
if (waitDialog != null) {
waitDialog.dismiss();
@@ -234,7 +234,7 @@ public class cgeowaypointadd extends AbstractActivity implements IObserver<IGeoD
@Override
public void update(final IGeoData geo) {
- Log.d("cgeowaypointadd.updateLocation called");
+ Log.d("EditWaypointActivity.updateLocation called");
if (geo.getCoords() == null) {
return;
}
@@ -273,7 +273,7 @@ public class cgeowaypointadd extends AbstractActivity implements IObserver<IGeoD
gp = gpTemp;
}
cgCache cache = app.loadCache(geocode, LoadFlags.LOAD_WAYPOINTS);
- cgeocoords coordsDialog = new cgeocoords(cgeowaypointadd.this, cache, gp, app.currentGeo());
+ cgeocoords coordsDialog = new cgeocoords(EditWaypointActivity.this, cache, gp, app.currentGeo());
coordsDialog.setCancelable(true);
coordsDialog.setOnCoordinateUpdate(new cgeocoords.CoordinateUpdate() {
@Override
@@ -293,11 +293,11 @@ public class cgeowaypointadd extends AbstractActivity implements IObserver<IGeoD
private class changeWaypointType implements OnItemSelectedListener {
- private changeWaypointType(cgeowaypointadd wpView) {
+ private changeWaypointType(EditWaypointActivity wpView) {
this.wpView = wpView;
}
- private cgeowaypointadd wpView;
+ private EditWaypointActivity wpView;
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
@@ -317,11 +317,11 @@ public class cgeowaypointadd extends AbstractActivity implements IObserver<IGeoD
private class changeDistanceUnit implements OnItemSelectedListener {
- private changeDistanceUnit(cgeowaypointadd unitView) {
+ private changeDistanceUnit(EditWaypointActivity unitView) {
this.unitView = unitView;
}
- private cgeowaypointadd unitView;
+ private EditWaypointActivity unitView;
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
@@ -408,7 +408,7 @@ public class cgeowaypointadd extends AbstractActivity implements IObserver<IGeoD
app.saveCache(cache, EnumSet.of(SaveFlag.SAVE_DB));
StaticMapsProvider.removeWpStaticMaps(id, geocode);
if (Settings.isStoreOfflineWpMaps()) {
- StaticMapsProvider.storeWaypointStaticMap(cache, cgeowaypointadd.this, waypoint, false);
+ StaticMapsProvider.storeWaypointStaticMap(cache, EditWaypointActivity.this, waypoint, false);
}
finish();
} else {
@@ -427,13 +427,13 @@ public class cgeowaypointadd extends AbstractActivity implements IObserver<IGeoD
}
public static void startActivityEditWaypoint(final Context context, final int waypointId) {
- final Intent editIntent = new Intent(context, cgeowaypointadd.class);
+ final Intent editIntent = new Intent(context, EditWaypointActivity.class);
editIntent.putExtra("waypoint", waypointId);
context.startActivity(editIntent);
}
public static void startActivityAddWaypoint(final Context context, final cgCache cache) {
- final Intent addWptIntent = new Intent(context, cgeowaypointadd.class);
+ final Intent addWptIntent = new Intent(context, EditWaypointActivity.class);
addWptIntent.putExtra("geocode", cache.getGeocode()).putExtra("count", cache.getWaypoints().size());
context.startActivity(addWptIntent);
}
diff --git a/main/src/cgeo/geocaching/cgeoadvsearch.java b/main/src/cgeo/geocaching/SearchActivity.java
index 6eda1f9..51bccac 100644
--- a/main/src/cgeo/geocaching/cgeoadvsearch.java
+++ b/main/src/cgeo/geocaching/SearchActivity.java
@@ -24,7 +24,7 @@ import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.widget.EditText;
-public class cgeoadvsearch extends AbstractActivity implements IObserver<IGeoData> {
+public class SearchActivity extends AbstractActivity implements IObserver<IGeoData> {
public static final String EXTRAS_KEYWORDSEARCH = "keywordsearch";
@@ -32,7 +32,7 @@ public class cgeoadvsearch extends AbstractActivity implements IObserver<IGeoDat
private EditText latEdit = null;
private EditText lonEdit = null;
- public cgeoadvsearch() {
+ public SearchActivity() {
super("c:geo-search");
}
@@ -238,7 +238,7 @@ public class cgeoadvsearch extends AbstractActivity implements IObserver<IGeoDat
@Override
public void onClick(View arg0) {
- cgeocoords coordsDialog = new cgeocoords(cgeoadvsearch.this, null, null, app.currentGeo());
+ cgeocoords coordsDialog = new cgeocoords(SearchActivity.this, null, null, app.currentGeo());
coordsDialog.setCancelable(true);
coordsDialog.setOnCoordinateUpdate(new cgeocoords.CoordinateUpdate() {
@Override
diff --git a/main/src/cgeo/geocaching/cgeoinit.java b/main/src/cgeo/geocaching/SettingsActivity.java
index 13bdfcb..5253e81 100644
--- a/main/src/cgeo/geocaching/cgeoinit.java
+++ b/main/src/cgeo/geocaching/SettingsActivity.java
@@ -51,7 +51,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-public class cgeoinit extends AbstractActivity {
+public class SettingsActivity extends AbstractActivity {
private final static int SELECT_MAPFILE_REQUEST = 1;
@@ -77,7 +77,7 @@ public class cgeoinit extends AbstractActivity {
} catch (Exception e) {
showToast(res.getString(R.string.err_login_failed));
- Log.e("cgeoinit.logInHandler: " + e.toString());
+ Log.e("SettingsActivity.logInHandler: " + e.toString());
}
if (loginDialog != null && loginDialog.isShowing()) {
@@ -105,7 +105,7 @@ public class cgeoinit extends AbstractActivity {
} catch (Exception e) {
showToast(res.getString(R.string.init_sendToCgeo_register_fail));
- Log.e("cgeoinit.webHandler: " + e.toString());
+ Log.e("SettingsActivity.webHandler: " + e.toString());
}
if (webDialog != null && webDialog.isShowing()) {
@@ -117,7 +117,7 @@ public class cgeoinit extends AbstractActivity {
};
protected boolean enableTemplatesMenu = false;
- public cgeoinit() {
+ public SettingsActivity() {
super("c:geo-configuration");
}
@@ -275,7 +275,7 @@ public class cgeoinit extends AbstractActivity {
authorizeTwitter.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
- Intent authIntent = new Intent(cgeoinit.this, TwitterAuthorizationActivity.class);
+ Intent authIntent = new Intent(SettingsActivity.this, TwitterAuthorizationActivity.class);
startActivity(authIntent);
}
});
@@ -288,7 +288,7 @@ public class cgeoinit extends AbstractActivity {
public void onClick(View v) {
Settings.setUseTwitter(twitterButton.isChecked());
if (Settings.isUseTwitter() && !Settings.isTwitterLoginValid()) {
- Intent authIntent = new Intent(cgeoinit.this, TwitterAuthorizationActivity.class);
+ Intent authIntent = new Intent(SettingsActivity.this, TwitterAuthorizationActivity.class);
startActivity(authIntent);
}
@@ -572,7 +572,7 @@ public class cgeoinit extends AbstractActivity {
@Override
public void onClick(View v) {
- Intent selectIntent = new Intent(cgeoinit.this, cgSelectMapfile.class);
+ Intent selectIntent = new Intent(SettingsActivity.this, cgSelectMapfile.class);
startActivityForResult(selectIntent, SELECT_MAPFILE_REQUEST);
}
});
@@ -816,7 +816,7 @@ public class cgeoinit extends AbstractActivity {
return;
}
- loginDialog = ProgressDialog.show(cgeoinit.this, res.getString(R.string.init_login_popup), res.getString(R.string.init_login_popup_working), true);
+ loginDialog = ProgressDialog.show(SettingsActivity.this, res.getString(R.string.init_login_popup), res.getString(R.string.init_login_popup_working), true);
loginDialog.setCancelable(false);
Settings.setLogin(username, password);
@@ -849,7 +849,7 @@ public class cgeoinit extends AbstractActivity {
return;
}
- webDialog = ProgressDialog.show(cgeoinit.this, res.getString(R.string.init_sendToCgeo), res.getString(R.string.init_sendToCgeo_registering), true);
+ webDialog = ProgressDialog.show(SettingsActivity.this, res.getString(R.string.init_sendToCgeo), res.getString(R.string.init_sendToCgeo_registering), true);
webDialog.setCancelable(false);
(new Thread() {
@@ -901,7 +901,7 @@ public class cgeoinit extends AbstractActivity {
}
public static void startActivity(Context fromActivity) {
- final Intent initIntent = new Intent(fromActivity, cgeoinit.class);
+ final Intent initIntent = new Intent(fromActivity, SettingsActivity.class);
fromActivity.startActivity(initIntent);
}
diff --git a/main/src/cgeo/geocaching/WaypointPopup.java b/main/src/cgeo/geocaching/WaypointPopup.java
index 9d65e87..87ac04e 100644
--- a/main/src/cgeo/geocaching/WaypointPopup.java
+++ b/main/src/cgeo/geocaching/WaypointPopup.java
@@ -61,7 +61,7 @@ public class WaypointPopup extends AbstractPopupActivity {
@Override
public void onClick(View arg0) {
- cgeowaypointadd.startActivityEditWaypoint(WaypointPopup.this, waypoint.getId());
+ EditWaypointActivity.startActivityEditWaypoint(WaypointPopup.this, waypoint.getId());
finish();
}
});
diff --git a/main/src/cgeo/geocaching/cgeo.java b/main/src/cgeo/geocaching/cgeo.java
index bebc84f..8bfc968 100644
--- a/main/src/cgeo/geocaching/cgeo.java
+++ b/main/src/cgeo/geocaching/cgeo.java
@@ -300,7 +300,7 @@ public class cgeo extends AbstractActivity {
startActivity(new Intent(this, UsefulAppsActivity.class));
return true;
case MENU_SETTINGS:
- startActivity(new Intent(this, cgeoinit.class));
+ startActivity(new Intent(this, SettingsActivity.class));
return true;
case MENU_HISTORY:
cgeocaches.startActivityHistory(this);
@@ -326,17 +326,17 @@ public class cgeo extends AbstractActivity {
return;
}
- Intent searchIntent = new Intent(this, cgeoadvsearch.class);
+ Intent searchIntent = new Intent(this, SearchActivity.class);
searchIntent.setAction(Intent.ACTION_SEARCH).
putExtra(SearchManager.QUERY, scan).
- putExtra(cgeoadvsearch.EXTRAS_KEYWORDSEARCH, false);
+ putExtra(SearchActivity.EXTRAS_KEYWORDSEARCH, false);
startActivityForResult(searchIntent, SEARCH_REQUEST_CODE);
} else if (resultCode == RESULT_CANCELED) {
// do nothing
}
} else if (requestCode == SEARCH_REQUEST_CODE) {
- // cgeoadvsearch activity returned without making a search
+ // SearchActivity activity returned without making a search
if (resultCode == RESULT_CANCELED) {
String query = intent.getStringExtra(SearchManager.QUERY);
if (query == null) {
@@ -638,7 +638,7 @@ public class cgeo extends AbstractActivity {
*/
public void cgeoSearch(View v) {
findViewById(R.id.advanced_button).setPressed(true);
- startActivity(new Intent(this, cgeoadvsearch.class));
+ startActivity(new Intent(this, SearchActivity.class));
}
/**
@@ -768,7 +768,7 @@ public class cgeo extends AbstractActivity {
// invoke settings activity to insert login details
if (status == StatusCode.NO_LOGIN_INFO_STORED) {
- cgeoinit.startActivity(cgeo.this);
+ SettingsActivity.startActivity(cgeo.this);
}
}
}
@@ -806,7 +806,7 @@ public class cgeo extends AbstractActivity {
* unused here but needed since this method is referenced from XML layout
*/
public void showAbout(View view) {
- startActivity(new Intent(this, cgeoabout.class));
+ startActivity(new Intent(this, AboutActivity.class));
}
/**
diff --git a/main/src/cgeo/geocaching/cgeowaypoint.java b/main/src/cgeo/geocaching/cgeowaypoint.java
deleted file mode 100644
index c3c67b7..0000000
--- a/main/src/cgeo/geocaching/cgeowaypoint.java
+++ /dev/null
@@ -1,355 +0,0 @@
-package cgeo.geocaching;
-
-import cgeo.geocaching.activity.AbstractActivity;
-import cgeo.geocaching.apps.cache.navi.NavigationAppFactory;
-import cgeo.geocaching.enumerations.LoadFlags;
-import cgeo.geocaching.enumerations.LoadFlags.SaveFlag;
-import cgeo.geocaching.utils.IObserver;
-import cgeo.geocaching.utils.Log;
-
-import org.apache.commons.lang3.StringUtils;
-
-import android.app.ProgressDialog;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Message;
-import android.text.Html;
-import android.view.ContextMenu;
-import android.view.ContextMenu.ContextMenuInfo;
-import android.view.Menu;
-import android.view.MenuItem;
-import android.view.View;
-import android.view.View.OnLongClickListener;
-import android.widget.Button;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import java.util.EnumSet;
-
-public class cgeowaypoint extends AbstractActivity implements IObserver<IGeoData> {
-
- private static final int MENU_ID_NAVIGATION = 0;
- private static final int MENU_ID_CACHES_AROUND = 5;
- private static final int MENU_ID_DEFAULT_NAVIGATION = 2;
- private static final int MENU_ID_OPEN_GEOCACHE = 6;
- private cgWaypoint waypoint = null;
- private int id = -1;
- private ProgressDialog waitDialog = null;
- private Handler loadWaypointHandler = new Handler() {
-
- @Override
- public void handleMessage(Message msg) {
- if (waitDialog != null) {
- waitDialog.dismiss();
- waitDialog = null;
- }
-
- if (waypoint == null) {
- showToast(res.getString(R.string.err_waypoint_load_failed));
- finish();
- return;
- }
-
- final TextView identification = (TextView) findViewById(R.id.identification);
- final TextView coords = (TextView) findViewById(R.id.coordinates);
- final ImageView defaultNavigation = (ImageView) findViewById(R.id.defaultNavigation);
- final View separator = findViewById(R.id.separator);
-
- final View headline = findViewById(R.id.headline);
- registerNavigationMenu(headline);
-
- if (StringUtils.isNotBlank(waypoint.getName())) {
- setTitle(Html.fromHtml(waypoint.getName()).toString());
- } else {
- setTitle(res.getString(R.string.waypoint_title));
- }
-
- if (!waypoint.getPrefix().equalsIgnoreCase("OWN")) {
- identification.setText(waypoint.getPrefix() + "/" + waypoint.getLookup());
- } else {
- identification.setText(res.getString(R.string.waypoint_custom));
- }
- registerNavigationMenu(identification);
- waypoint.setIcon(res, identification);
-
- if (waypoint.getCoords() != null) {
- coords.setText(Html.fromHtml(waypoint.getCoords().toString()), TextView.BufferType.SPANNABLE);
- defaultNavigation.setVisibility(View.VISIBLE);
- separator.setVisibility(View.VISIBLE);
- } else {
- coords.setText(res.getString(R.string.waypoint_unknown_coordinates));
- defaultNavigation.setVisibility(View.GONE);
- separator.setVisibility(View.GONE);
- }
- registerNavigationMenu(coords);
-
- if (StringUtils.isNotBlank(waypoint.getNote())) {
- final TextView note = (TextView) findViewById(R.id.note);
- note.setText(Html.fromHtml(waypoint.getNote()), TextView.BufferType.SPANNABLE);
- registerNavigationMenu(note);
- }
-
- final Button buttonEdit = (Button) findViewById(R.id.edit);
- buttonEdit.setOnClickListener(new View.OnClickListener() {
-
- @Override
- public void onClick(View v) {
- cgeowaypointadd.startActivityEditWaypoint(cgeowaypoint.this, id);
- }
- });
-
- if (waypoint.isUserDefined()) {
- final Button buttonDelete = (Button) findViewById(R.id.delete);
- buttonDelete.setOnClickListener(new deleteWaypointListener());
- buttonDelete.setVisibility(View.VISIBLE);
- }
- }
-
- private void registerNavigationMenu(View view) {
- view.setOnClickListener(new View.OnClickListener() {
-
- @Override
- public void onClick(View v) {
- registerForContextMenu(v);
- if (navigationPossible()) {
- openContextMenu(v);
- }
- }
- });
- }
- };
-
- public cgeowaypoint() {
- super("c:geo-waypoint-details");
- }
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- setTheme();
- setContentView(R.layout.waypoint);
- setTitle(R.string.waypoint_title);
-
- // get parameters
- Bundle extras = getIntent().getExtras();
-
- // try to get data from extras
- if (extras != null) {
- id = extras.getInt("waypoint");
- }
-
- if (id <= 0) {
- showToast(res.getString(R.string.err_waypoint_unknown));
- finish();
- return;
- }
-
- waitDialog = ProgressDialog.show(this, null, res.getString(R.string.waypoint_loading), true);
- waitDialog.setCancelable(true);
-
- (new loadWaypoint()).start();
-
- ImageView defaultNavigationImageView = (ImageView) findViewById(R.id.defaultNavigation);
- defaultNavigationImageView.setOnLongClickListener(new OnLongClickListener() {
- @Override
- public boolean onLongClick(View v) {
- startDefaultNavigation2();
- return true;
- }
- });
- }
-
- @Override
- public void onResume() {
- super.onResume();
-
- app.addGeoObserver(this);
-
- if (waitDialog == null) {
- waitDialog = ProgressDialog.show(this, null, res.getString(R.string.waypoint_loading), true);
- waitDialog.setCancelable(true);
-
- (new loadWaypoint()).start();
- }
- }
-
- @Override
- public void onDestroy() {
- super.onDestroy();
- }
-
- @Override
- public void onStop() {
- super.onStop();
- }
-
- @Override
- public void onPause() {
- app.deleteGeoObserver(this);
- super.onPause();
- }
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- menu.add(0, MENU_ID_DEFAULT_NAVIGATION, 0, NavigationAppFactory.getDefaultNavigationApplication().getName()).setIcon(R.drawable.ic_menu_compass); // default navigation tool
- menu.add(0, MENU_ID_NAVIGATION, 0, res.getString(R.string.cache_menu_navigate)).setIcon(R.drawable.ic_menu_mapmode);
- menu.add(0, MENU_ID_CACHES_AROUND, 0, res.getString(R.string.cache_menu_around)).setIcon(R.drawable.ic_menu_rotate); // caches around
- menu.add(0, MENU_ID_OPEN_GEOCACHE, 0, res.getString(R.string.waypoint_menu_open_cache)).setIcon(R.drawable.ic_menu_mylocation); // open geocache
-
- return true;
- }
-
- @Override
- public boolean onPrepareOptionsMenu(Menu menu) {
- super.onPrepareOptionsMenu(menu);
-
- try {
- boolean visible = waypoint != null && waypoint.getCoords() != null;
- menu.findItem(MENU_ID_NAVIGATION).setVisible(visible);
- menu.findItem(MENU_ID_DEFAULT_NAVIGATION).setVisible(visible);
- menu.findItem(MENU_ID_CACHES_AROUND).setVisible(visible);
-
- boolean openGeocache = waypoint != null && StringUtils.isNotEmpty(waypoint.getGeocode());
- menu.findItem(MENU_ID_OPEN_GEOCACHE).setVisible(openGeocache);
- } catch (Exception e) {
- // nothing
- }
-
- return true;
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case MENU_ID_DEFAULT_NAVIGATION:
- goDefaultNavigation(null);
- return true;
- case MENU_ID_CACHES_AROUND:
- cachesAround();
- return true;
- case MENU_ID_OPEN_GEOCACHE:
- goToGeocache();
- return true;
- case MENU_ID_NAVIGATION:
- NavigationAppFactory.showNavigationMenu(this, null, waypoint, null);
- return true;
- default:
- return false;
- }
- }
-
- private void cachesAround() {
- if (waypoint == null || waypoint.getCoords() == null) {
- showToast(res.getString(R.string.err_location_unknown));
- return;
- }
-
- cgeocaches.startActivityCoordinates(this, waypoint.getCoords());
-
- finish();
- }
-
- private void goToGeocache() {
- if (waypoint == null || waypoint.getGeocode() == null) {
- showToast(res.getString(R.string.err_waypoint_open_cache_failed));
- return;
- }
-
- CacheDetailActivity.startActivity(this, waypoint.getGeocode());
-
- finish();
- }
-
- private class loadWaypoint extends Thread {
-
- @Override
- public void run() {
- try {
- waypoint = app.loadWaypoint(id);
-
- loadWaypointHandler.sendMessage(Message.obtain());
- } catch (Exception e) {
- Log.e("cgeowaypoint.loadWaypoint.run: " + e.toString());
- }
- }
- }
-
- @Override
- public void update(final IGeoData geo) {
- // nothing
- }
-
- private class deleteWaypointListener implements View.OnClickListener {
-
- public void onClick(View arg0) {
- String geocode = waypoint.getGeocode();
- cgCache cache = app.loadCache(geocode, LoadFlags.LOAD_WAYPOINTS);
- if (null != cache && cache.deleteWaypoint(waypoint)) {
- app.saveCache(cache, EnumSet.of(SaveFlag.SAVE_DB));
-
- StaticMapsProvider.removeWpStaticMaps(id, geocode);
-
- finish();
- } else {
- showToast(res.getString(R.string.err_waypoint_delete_failed));
- }
- }
- }
-
- /**
- * @param view
- * this method is also referenced from XML layout
- */
- public void goDefaultNavigation(View view) {
- if (!navigationPossible()) {
- return;
- }
-
- NavigationAppFactory.startDefaultNavigationApplication(this, null, waypoint, null);
- }
-
- /**
- * Tries to navigate to the {@link cgCache} of this activity.
- */
- private void startDefaultNavigation2() {
- if (!navigationPossible()) {
- return;
- }
-
- NavigationAppFactory.startDefaultNavigationApplication2(this, null, waypoint, null);
- }
-
- private boolean navigationPossible() {
- if (waypoint == null || waypoint.getCoords() == null) {
- showToast(res.getString(R.string.err_location_unknown));
- return false;
- }
- return true;
- }
-
- @Override
- public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
- if (navigationPossible()) {
- menu.setHeaderTitle(res.getString(R.string.cache_menu_navigate));
- NavigationAppFactory.addMenuItems(menu, waypoint);
- }
- }
-
- @Override
- public boolean onContextItemSelected(MenuItem item) {
- boolean handled = onOptionsItemSelected(item);
- if (handled) {
- return true;
- }
- return NavigationAppFactory.onMenuItemSelected(item, this, waypoint);
- }
-
- public static void startActivity(final Context context, final int waypointId) {
- Intent popupIntent = new Intent(context, cgeowaypoint.class);
- popupIntent.putExtra("waypoint", waypointId);
- context.startActivity(popupIntent);
- }
-}