Skip to content

Commit

Permalink
station: added working external map
Browse files Browse the repository at this point in the history
  • Loading branch information
ge0rg committed Sep 21, 2016
1 parent ee862b8 commit c87deb9
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 7 deletions.
3 changes: 3 additions & 0 deletions res/menu/context_call.xml
Expand Up @@ -18,6 +18,9 @@
android:showAsAction="ifRoom"
android:icon="@android:drawable/ic_menu_mapmode"
/>
<item android:id="@+id/extmap"
android:title="@string/sta_extmap"
/>
<item android:id="@+id/aprsfi"
android:title="@string/sta_aprsfi"
/>
Expand Down
2 changes: 2 additions & 0 deletions res/values/strings.xml
Expand Up @@ -24,6 +24,7 @@
<!-- Maps activity -->
<string name="sta_lastreport">%s Last Report</string>
<string name="map_track_call">Tracking %s...</string>
<string name="map_track_unknown">Position for %s unknown!</string>
<string name="map_select">Select station</string>

<string name="map_loading">Loading...</string>
Expand All @@ -32,6 +33,7 @@
<string name="sta_ssids">Station SSIDs</string>
<string name="sta_history">Station History</string>
<string name="sta_map">Map</string>
<string name="sta_extmap">External Map</string>
<string name="sta_aprsfi">aprs.fi</string>
<string name="sta_qrzcom">QRZ.com</string>

Expand Down
9 changes: 2 additions & 7 deletions src/MapAct.scala
Expand Up @@ -126,14 +126,9 @@ class MapAct extends MapActivity with UIHelper {

def animateToCall() {
if (targetcall != "") {
val cursor = db.getStaPosition(targetcall)
if (cursor.getCount() > 0) {
cursor.moveToFirst()
val lat = cursor.getInt(StorageDatabase.Station.COLUMN_LAT)
val lon = cursor.getInt(StorageDatabase.Station.COLUMN_LON)
val (found, lat, lon) = getStaPosition(db, targetcall)
if (found)
mapview.getController().animateTo(new GeoPoint(lat, lon))
}
cursor.close()
}
}

Expand Down
26 changes: 26 additions & 0 deletions src/UIHelper.scala
Expand Up @@ -325,6 +325,23 @@ trait UIHelper extends Activity
StorageDatabase.cursor2call(c)
}

def getStaPosition(db : StorageDatabase, targetcall : String) = {
val cursor = db.getStaPosition(targetcall)
if (cursor.getCount() > 0) {
cursor.moveToFirst()
val lat = cursor.getInt(StorageDatabase.Station.COLUMN_LAT)
val lon = cursor.getInt(StorageDatabase.Station.COLUMN_LON)
cursor.close()
Log.d("GetStaPos", "Found " + targetcall +" " + lat + " " + lon)
(true, lat, lon)
} else {
Toast.makeText(this, getString(R.string.map_track_unknown, targetcall), Toast.LENGTH_SHORT).show()
cursor.close()
Log.d("GetStaPos", "Missed " + targetcall)
(false, 0, 0)
}
}

def callsignAction(id : Int, targetcall : String) : Boolean = {
id match {
case R.id.details =>
Expand All @@ -339,6 +356,15 @@ trait UIHelper extends Activity
case R.id.map =>
trackOnMap(targetcall)
true
case R.id.extmap =>
val (found, lat, lon) = getStaPosition(StorageDatabase.open(this), targetcall)
if (found) {
val url = "geo:%1.6f,%1.6f?q=%1.6f,%1.6f(%s)".formatLocal(null,
lat/1000000., lon/1000000., lat/1000000., lon/1000000., targetcall)
startActivity(new Intent(Intent.ACTION_VIEW,
Uri.parse(url)))
}
true
case R.id.aprsfi =>
val url = "http://aprs.fi/info/a/%s?utm_source=aprsdroid&utm_medium=inapp&utm_campaign=aprsfi".format(targetcall)
startActivity(new Intent(Intent.ACTION_VIEW,
Expand Down

0 comments on commit c87deb9

Please sign in to comment.