aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars <gc@droescher.eu>2012-03-15 15:56:29 -0700
committerLars <gc@droescher.eu>2012-03-15 15:56:29 -0700
commitd8db0a7a33b0b5c9b513a64e4f845c86e5843538 (patch)
tree2ddd29bad96542ac289d1bc4cfb3abf092519c52
parentb0000d071d0ec7fba47b7575f214cf7f7445b72b (diff)
parentc1e05aa96fdedbb9f07b8f23246b7532ccc59572 (diff)
downloadcgeo-d8db0a7a33b0b5c9b513a64e4f845c86e5843538.zip
cgeo-d8db0a7a33b0b5c9b513a64e4f845c86e5843538.tar.gz
cgeo-d8db0a7a33b0b5c9b513a64e4f845c86e5843538.tar.bz2
Merge pull request #1252 from RoadRunner-/wpnav
Add quick access to default navigation to waypoints in waypoint list in cache details view
-rw-r--r--main/res/layout/waypoint_item.xml56
-rw-r--r--main/src/cgeo/geocaching/CacheDetailActivity.java17
2 files changed, 52 insertions, 21 deletions
diff --git a/main/res/layout/waypoint_item.xml b/main/res/layout/waypoint_item.xml
index d8ee2b4..2c16f6e 100644
--- a/main/res/layout/waypoint_item.xml
+++ b/main/res/layout/waypoint_item.xml
@@ -5,27 +5,43 @@
android:orientation="vertical"
android:paddingTop="9dp" >
- <TextView
- android:id="@+id/name"
+ <RelativeLayout
android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:textColor="?text_color"
- android:textSize="18dp" />
-
- <TextView
- android:id="@+id/info"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_gravity="left"
- android:layout_marginLeft="12dp"
- android:ellipsize="marquee"
- android:lines="1"
- android:scrollHorizontally="true"
- android:singleLine="true"
- android:textColor="?text_color_headline"
- android:textSize="14dp"
- android:visibility="gone" />
-
+ android:layout_height="fill_parent"
+ android:orientation="horizontal">
+ <LinearLayout
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentLeft="true"
+ android:orientation="vertical">
+ <TextView
+ android:id="@+id/name"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:textColor="?text_color"
+ android:textSize="18dp" />
+ <TextView
+ android:id="@+id/info"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="left"
+ android:layout_marginLeft="12dp"
+ android:ellipsize="marquee"
+ android:lines="1"
+ android:scrollHorizontally="true"
+ android:singleLine="true"
+ android:textColor="?text_color_headline"
+ android:textSize="14dp"
+ android:visibility="gone" />
+ </LinearLayout>
+ <ImageView style="@style/action_bar_action"
+ android:id="@+id/wpDefaultNavigation"
+ android:src="@drawable/actionbar_compass"
+ android:layout_gravity="right"
+ android:layout_alignParentRight="true"
+ android:clickable="true"
+ android:longClickable="true" />
+ </RelativeLayout>
<TextView
android:id="@+id/coordinates"
android:layout_width="fill_parent"
diff --git a/main/src/cgeo/geocaching/CacheDetailActivity.java b/main/src/cgeo/geocaching/CacheDetailActivity.java
index d29ed9b..4649477 100644
--- a/main/src/cgeo/geocaching/CacheDetailActivity.java
+++ b/main/src/cgeo/geocaching/CacheDetailActivity.java
@@ -2386,7 +2386,7 @@ public class CacheDetailActivity extends AbstractActivity {
List<cgWaypoint> sortedWaypoints = new ArrayList<cgWaypoint>(cache.getWaypoints());
Collections.sort(sortedWaypoints);
- for (cgWaypoint wpt : sortedWaypoints) {
+ for (final cgWaypoint wpt : sortedWaypoints) {
waypointView = (LinearLayout) getLayoutInflater().inflate(R.layout.waypoint_item, null);
// coordinates
@@ -2440,6 +2440,21 @@ public class CacheDetailActivity extends AbstractActivity {
}
}
+ View wpNavView = waypointView.findViewById(R.id.wpDefaultNavigation);
+ wpNavView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ NavigationAppFactory.startDefaultNavigationApplication(geolocation, CacheDetailActivity.this, null, wpt, null);
+ }
+ });
+ wpNavView.setOnLongClickListener(new View.OnLongClickListener() {
+ @Override
+ public boolean onLongClick(View v) {
+ NavigationAppFactory.startDefaultNavigationApplication2(geolocation, CacheDetailActivity.this, null, wpt, null);
+ return true;
+ }
+ });
+
registerForContextMenu(waypointView);
waypointView.setOnClickListener(new WaypointInfoClickListener());