kopia lustrzana https://github.com/ge0rg/aprsdroid
refactored backend code to use Map
rodzic
105ed3ab7e
commit
bc5f1a9b2f
|
@ -6,23 +6,10 @@ 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)
|
||||
}
|
||||
Backend.defaultBackendInfo(prefs).create(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
|
||||
}
|
||||
Backend.defaultBackendInfo(prefs).prefxml
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
package de.duenndns.aprsdroid
|
||||
|
||||
import _root_.android.content.SharedPreferences
|
||||
|
||||
object Backend {
|
||||
val backend_collection = Map(
|
||||
"udp" -> new BackendInfo(
|
||||
(s, p) => new UdpUploader(p),
|
||||
R.xml.pref_udp,
|
||||
true),
|
||||
"http" -> new BackendInfo(
|
||||
(s, p) => new HttpPostUploader(p),
|
||||
R.xml.pref_http,
|
||||
true),
|
||||
"afsk" -> new BackendInfo(
|
||||
(s, p) => new AfskUploader(p),
|
||||
R.xml.pref_afsk,
|
||||
false),
|
||||
"tcp" -> new BackendInfo(
|
||||
(s, p) => new TcpUploader(s, p),
|
||||
R.xml.pref_tcp,
|
||||
true)
|
||||
)
|
||||
|
||||
def defaultBackendInfo(prefs : SharedPreferences) : BackendInfo = {
|
||||
backend_collection.get(prefs.getString("conntype", "")) match {
|
||||
case Some(bi) => bi
|
||||
case None => backend_collection("tcp")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class BackendInfo(
|
||||
val create : (AprsService, SharedPreferences) => AprsIsUploader,
|
||||
val prefxml : Int,
|
||||
val need_passcode : Boolean
|
||||
) {}
|
Ładowanie…
Reference in New Issue