aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTorsten Keil <github@torsten-keil.net>2012-03-09 00:38:47 +0100
committerTorsten Keil <github@torsten-keil.net>2012-03-09 00:38:47 +0100
commitc1e05aa96fdedbb9f07b8f23246b7532ccc59572 (patch)
tree087cd10051c56ef553fa08a21a6985b1ae4e7db4
parent24b8acc8c252a94f14520f9d48a30bae3b3e6f5b (diff)
downloadcgeo-c1e05aa96fdedbb9f07b8f23246b7532ccc59572.zip
cgeo-c1e05aa96fdedbb9f07b8f23246b7532ccc59572.tar.gz
cgeo-c1e05aa96fdedbb9f07b8f23246b7532ccc59572.tar.bz2
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 5f9eab9..f3776ea 100644
--- a/main/src/cgeo/geocaching/CacheDetailActivity.java
+++ b/main/src/cgeo/geocaching/CacheDetailActivity.java
@@ -2407,7 +2407,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
@@ -2461,6 +2461,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());