kopia lustrzana https://github.com/ge0rg/aprsdroid
change backend API
rodzic
a34c72d5cb
commit
5b61d0fbbf
|
@ -99,18 +99,7 @@ class AprsService extends Service with LocationListener {
|
|||
prefs.getString("ssid", null), prefs.getString("passcode", null))
|
||||
val filterdist = prefs.getString("filterdist", "10").toInt
|
||||
|
||||
prefs.getString("conntype", "http") match {
|
||||
case "udp" =>
|
||||
poster = new UdpUploader(hostname, login)
|
||||
case "http" =>
|
||||
poster = new HttpPostUploader(hostname, login)
|
||||
case "tcp" =>
|
||||
poster = new TcpUploader(this, hostname, login, " filter m/%d".format(filterdist))
|
||||
case "afsk" =>
|
||||
poster = new AfskUploader(hostname, login)
|
||||
case _ =>
|
||||
stopSelf()
|
||||
}
|
||||
poster = AprsIsUploader.instanciateUploader(this, prefs)
|
||||
poster.start()
|
||||
}
|
||||
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
package de.duenndns.aprsdroid
|
||||
|
||||
import _root_.android.location.Location
|
||||
import _root_.android.content.SharedPreferences
|
||||
import _root_.android.preference.PreferenceManager
|
||||
import _root_.android.util.Log
|
||||
import _root_.java.net.{InetAddress, DatagramSocket, DatagramPacket}
|
||||
import com.nogy.afu.soundmodem.{Message, APRSFrame, Afsk}
|
||||
|
||||
class AfskUploader(host : String, login : String) extends AprsIsUploader(host, login) {
|
||||
class AfskUploader(prefs : SharedPreferences) extends AprsIsUploader(prefs) {
|
||||
val TAG = "AprsAfsk"
|
||||
var FrameLength = 150 //1200Bits = 1sec to open VOX
|
||||
var Digis = "WIDE1-1"
|
||||
|
|
|
@ -1,8 +1,35 @@
|
|||
package de.duenndns.aprsdroid
|
||||
|
||||
import _root_.android.location.Location
|
||||
import _root_.android.content.SharedPreferences
|
||||
|
||||
object AprsIsUploader {
|
||||
val DEFAULT_CONNTYPE = "tcp"
|
||||
|
||||
def instanciateUploader(service : AprsService, prefs : SharedPreferences) : AprsIsUploader = {
|
||||
prefs.getString("conntype", DEFAULT_CONNTYPE) match {
|
||||
case "udp" =>
|
||||
new UdpUploader(prefs)
|
||||
case "http" =>
|
||||
new HttpPostUploader(prefs)
|
||||
case "afsk" =>
|
||||
new AfskUploader(prefs)
|
||||
case _ =>
|
||||
new TcpUploader(service, prefs)
|
||||
}
|
||||
}
|
||||
def instanciatePrefsAct(prefs : SharedPreferences) = {
|
||||
prefs.getString("conntype", DEFAULT_CONNTYPE) match {
|
||||
case "afsk" => R.xml.pref_afsk
|
||||
case "udp" => R.xml.pref_udp
|
||||
case _ => R.xml.pref_tcp // TCP is default
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
abstract class AprsIsUploader(prefs : SharedPreferences) {
|
||||
val login = AprsPacket.formatLogin(prefs.getString("callsign", null).trim(),
|
||||
prefs.getString("ssid", null), prefs.getString("passcode", null))
|
||||
|
||||
abstract class AprsIsUploader(host : String, login : String) {
|
||||
def start()
|
||||
|
||||
def update(packet : String) : String
|
||||
|
|
|
@ -8,8 +8,9 @@ import _root_.org.apache.http.entity.StringEntity
|
|||
import _root_.org.apache.http.impl.client.DefaultHttpClient
|
||||
import _root_.org.apache.http.client.methods.HttpPost
|
||||
|
||||
class HttpPostUploader(host : String, login : String) extends AprsIsUploader(host, login) {
|
||||
class HttpPostUploader(prefs : SharedPreferences) extends AprsIsUploader(prefs) {
|
||||
val TAG = "AprsHttpPost"
|
||||
val host = prefs.getString("http.server", "srvr.aprs-is.net")
|
||||
|
||||
def start() {
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package de.duenndns.aprsdroid
|
||||
|
||||
import _root_.android.content.SharedPreferences
|
||||
import _root_.android.app.Service
|
||||
import _root_.android.location.Location
|
||||
import _root_.android.preference.PreferenceManager
|
||||
|
@ -7,9 +8,11 @@ import _root_.android.util.Log
|
|||
import _root_.java.io.{BufferedReader, InputStreamReader, OutputStreamWriter, PrintWriter}
|
||||
import _root_.java.net.{InetAddress, Socket}
|
||||
|
||||
class TcpUploader(service : AprsService, hostname : String, login : String, filter : String)
|
||||
extends AprsIsUploader(hostname, login) {
|
||||
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)
|
||||
var conn : TcpSocketThread = null
|
||||
|
||||
createConnection()
|
||||
|
|
|
@ -1,13 +1,15 @@
|
|||
package de.duenndns.aprsdroid
|
||||
|
||||
import _root_.android.content.SharedPreferences
|
||||
import _root_.android.location.Location
|
||||
import _root_.android.preference.PreferenceManager
|
||||
import _root_.android.util.Log
|
||||
import _root_.java.net.{InetAddress, DatagramSocket, DatagramPacket}
|
||||
|
||||
class UdpUploader(host : String, login : String) extends AprsIsUploader(host, login) {
|
||||
class UdpUploader(prefs : SharedPreferences) extends AprsIsUploader(prefs) {
|
||||
val TAG = "AprsUdp"
|
||||
lazy val socket = new DatagramSocket()
|
||||
val host = prefs.getString("udp.server", "srvr.aprs-is.net")
|
||||
|
||||
def start() {
|
||||
}
|
||||
|
|
Ładowanie…
Reference in New Issue