kopia lustrzana https://github.com/ge0rg/aprsdroid
split tcp filter into distance and custom filter
rodzic
74572b62a7
commit
e6da50fb1b
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
Ładowanie…
Reference in New Issue