diff options
| author | Lars <gc@droescher.eu> | 2012-03-15 15:56:29 -0700 |
|---|---|---|
| committer | Lars <gc@droescher.eu> | 2012-03-15 15:56:29 -0700 |
| commit | d8db0a7a33b0b5c9b513a64e4f845c86e5843538 (patch) | |
| tree | 2ddd29bad96542ac289d1bc4cfb3abf092519c52 | |
| parent | b0000d071d0ec7fba47b7575f214cf7f7445b72b (diff) | |
| parent | c1e05aa96fdedbb9f07b8f23246b7532ccc59572 (diff) | |
| download | cgeo-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.xml | 56 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/CacheDetailActivity.java | 17 |
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()); |
