split tcp filter into distance and custom filter

storage_ts_index
Georg Lukas 2011-03-01 16:13:49 +01:00
rodzic 74572b62a7
commit e6da50fb1b
3 zmienionych plików z 24 dodań i 8 usunięć

Wyświetl plik

@ -138,11 +138,13 @@
<!-- TCP server settings -->
<string name="p_tcp_server_summary">APRS-IS TCP server (port 14580) to contact</string>
<string name="p_filterdist">Neighbor radius</string>
<string name="p_filterdist_summary">Receive packets from stations in this radius</string>
<string name="p_filterdist_entry">Radius around you to monitor for packets [km]</string>
<string name="p_filter">Message filter</string>
<string name="p_filter_hint">m/10 b/DO1GL*</string>
<string name="p_filter_default">m/10</string>
<string name="p_filter_hint">b/BUDDY o/OBJECT ...</string>
<string name="p_filter_summary">Filter for incoming packets</string>
<string name="p_filter_entry">Enter a filter for incoming messages ("m/10" filters 10km around own position)</string>
<string name="p_filter_entry">Enter a filter for incoming messages</string>
<string name="p_filterhelp">Message filter help</string>
<string name="p_filterhelp_summary">Online reference for APRS-IS filters</string>

Wyświetl plik

@ -14,12 +14,19 @@
android:defaultValue="euro.aprs2.net"
android:dialogTitle="@string/p_host_entry" />
<EditTextPreference
android:key="tcp.filterdist"
android:inputType="number"
android:title="@string/p_filterdist"
android:summary="@string/p_filterdist_summary"
android:defaultValue="10"
android:dialogTitle="@string/p_filterdist_entry" />
<EditTextPreference
android:key="tcp.filter"
android:title="@string/p_filter"
android:summary="@string/p_filter_summary"
android:hint="@string/p_filter_hint"
android:defaultValue="@string/p_filter_default"
android:dialogTitle="@string/p_filter_entry" />
<Preference

Wyświetl plik

@ -11,17 +11,24 @@ import _root_.java.net.{InetAddress, Socket}
class TcpUploader(service : AprsService, prefs : SharedPreferences) extends AprsIsUploader(prefs) {
val TAG = "TcpUploader"
val hostname = prefs.getString("tcp.server", "euro.aprs2.net")
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)
val filter = setupFilter()
var conn : TcpSocketThread = null
Log.d(TAG, "TcpUploader.filter: " + filter)
createConnection()
def start() {
}
def setupFilter() : String = {
val filterdist = try { prefs.getString("tcp.filterdist", "10").trim.toInt } catch { case _ => 0 }
val userfilter = prefs.getString("tcp.filter", "")
val lastloc = AprsPacket.formatRangeFilter(
service.locMan.getLastKnownLocation(LocationManager.GPS_PROVIDER), filterdist)
if (filterdist == 0) return " filter %s %s".format(userfilter, lastloc)
else return " filter m/%d %s %s".format(filterdist, userfilter, lastloc)
}
def createConnection() {
val (host, port) = AprsPacket.parseHostPort(hostname, 14580)
Log.d(TAG, "TcpUploader.createConnection: " + host + ":" + port)