From 1898e6c53d8456260355e46fbf2a129c66ab1fcb Mon Sep 17 00:00:00 2001 From: Georg Lukas Date: Mon, 7 Feb 2011 01:45:48 +0100 Subject: [PATCH] preliminary automatic tcp filter --- src/AprsPacket.scala | 7 +++++++ src/backend/TcpUploader.scala | 8 +++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/AprsPacket.scala b/src/AprsPacket.scala index e7e23a8..8775336 100644 --- a/src/AprsPacket.scala +++ b/src/AprsPacket.scala @@ -57,6 +57,13 @@ object AprsPacket { "user " + formatCallSsid(callsign, ssid) + " pass " + passcode + " vers APRSdroid 0.1" } + def formatRangeFilter(loc : Location, range : Int) : String = { + if (loc != null) + "r/%1.3f/%1.3f/%d".formatLocal(null, loc.getLatitude, loc.getLongitude, range) + else + "" + } + def parseHostPort(hostport : String, defaultport : Int) : (String, Int) = { val splits = hostport.split(":") if (splits.length == 2) diff --git a/src/backend/TcpUploader.scala b/src/backend/TcpUploader.scala index 11d917f..65664f5 100644 --- a/src/backend/TcpUploader.scala +++ b/src/backend/TcpUploader.scala @@ -2,7 +2,7 @@ package de.duenndns.aprsdroid import _root_.android.content.SharedPreferences import _root_.android.app.Service -import _root_.android.location.Location +import _root_.android.location.{Location, LocationManager} import _root_.android.preference.PreferenceManager import _root_.android.util.Log import _root_.java.io.{BufferedReader, InputStreamReader, OutputStreamWriter, PrintWriter} @@ -11,8 +11,10 @@ import _root_.java.net.{InetAddress, Socket} class TcpUploader(service : AprsService, prefs : SharedPreferences) extends AprsIsUploader(prefs) { val TAG = "TcpUploader" val hostname = prefs.getString("tcp.server", "srvr.aprs-is.net") - val filterdist = prefs.getString("tcp.filterdist", "10").toInt - val filter = " filter m/%d".format(filterdist) + val filterdist = prefs.getString("tcp.filter", "m/10") + val lastloc = AprsPacket.formatRangeFilter( + service.locMan.getLastKnownLocation(LocationManager.GPS_PROVIDER), 10) + val filter = " filter %s %s".format(filterdist, lastloc) var conn : TcpSocketThread = null createConnection()