unify code from hub and aprsdroid activity

precision_debug
Georg Lukas 2011-05-08 02:05:00 +02:00
rodzic adb3371ca7
commit 1a85350205
3 zmienionych plików z 76 dodań i 116 usunięć

Wyświetl plik

@ -9,29 +9,22 @@ import _root_.android.os.{Bundle, Handler}
import _root_.android.preference.PreferenceManager
import _root_.java.text.SimpleDateFormat
import _root_.android.util.Log
import _root_.android.view.{LayoutInflater, Menu, MenuItem, View, Window}
import _root_.android.view.View.OnClickListener
import _root_.android.view.View
import _root_.android.widget.AdapterView
import _root_.android.widget.AdapterView.OnItemClickListener
import _root_.android.widget.Button
import _root_.android.widget.{ListView,SimpleCursorAdapter}
import _root_.android.widget.SimpleCursorAdapter
import _root_.android.widget.TextView
import _root_.android.widget.Toast
import _root_.java.util.Date
class APRSdroid extends LoadingListActivity with OnClickListener {
class APRSdroid extends MainListActivity(R.id.log) {
val TAG = "APRSdroid"
lazy val prefs = new PrefsWrapper(this)
lazy val uihelper = new UIHelper(this, R.id.log, prefs)
lazy val storage = StorageDatabase.open(this)
lazy val postcursor = storage.getPosts("100")
lazy val postlist = getListView()
lazy val singleBtn = findViewById(R.id.singlebtn).asInstanceOf[Button]
lazy val startstopBtn = findViewById(R.id.startstopbtn).asInstanceOf[Button]
lazy val locReceiver = new LocationReceiver2[Cursor](load_cursor, replace_cursor, cancel_cursor)
lazy val la = new SimpleCursorAdapter(this, R.layout.listitem,
null,
@ -44,8 +37,7 @@ class APRSdroid extends LoadingListActivity with OnClickListener {
Log.d(TAG, "starting " + getString(R.string.build_version))
singleBtn.setOnClickListener(this);
startstopBtn.setOnClickListener(this);
onContentViewLoaded()
onStartLoading()
@ -73,11 +65,7 @@ class APRSdroid extends LoadingListActivity with OnClickListener {
registerReceiver(locReceiver, new IntentFilter(AprsService.UPDATE))
locReceiver.startTask(null)
if (!uihelper.checkConfig())
return
setTitle(getString(R.string.app_name) + ": " + prefs.getCallSsid())
setupButtons(AprsService.running)
}
override def onPause() {
@ -90,41 +78,6 @@ class APRSdroid extends LoadingListActivity with OnClickListener {
la.changeCursor(null)
}
override def onCreateOptionsMenu(menu : Menu) : Boolean = {
getMenuInflater().inflate(R.menu.options, menu);
true
}
override def onPrepareOptionsMenu(menu : Menu) = uihelper.onPrepareOptionsMenu(menu)
def setupButtons(running : Boolean) {
//singleBtn.setEnabled(!running)
if (running) {
startstopBtn.setText(R.string.stoplog)
} else {
startstopBtn.setText(R.string.startlog)
}
}
override def onOptionsItemSelected(mi : MenuItem) : Boolean = {
uihelper.optionsItemAction(mi)
}
override def onClick(view : View) {
view.getId match {
case R.id.singlebtn =>
uihelper.passcodeWarning(prefs.getCallsign(), prefs.getPasscode())
startService(AprsService.intent(this, AprsService.SERVICE_ONCE))
case R.id.startstopbtn =>
val is_running = AprsService.running
if (!is_running) {
startService(AprsService.intent(this, AprsService.SERVICE))
} else {
stopService(AprsService.intent(this, AprsService.SERVICE))
}
setupButtons(!is_running)
}
}
def load_cursor(i : Intent) = {
val c = storage.getPosts("100")
c.getCount()
@ -138,9 +91,4 @@ class APRSdroid extends LoadingListActivity with OnClickListener {
c.close()
}
override def onStopLoading() {
super.onStopLoading()
setupButtons(AprsService.running)
}
}

Wyświetl plik

@ -5,17 +5,10 @@ import _root_.android.content._
import _root_.android.database.Cursor
import _root_.android.os.{Bundle, Handler}
import _root_.android.util.Log
import _root_.android.view.{Menu, MenuItem, View, Window}
import _root_.android.view.View.OnClickListener
import _root_.android.widget.Button
import _root_.android.view.View
import _root_.android.widget.ListView
class HubActivity extends LoadingListActivity with OnClickListener {
lazy val prefs = new PrefsWrapper(this)
lazy val uihelper = new UIHelper(this, R.id.hub, prefs)
lazy val singleBtn = findViewById(R.id.singlebtn).asInstanceOf[Button]
lazy val startstopBtn = findViewById(R.id.startstopbtn).asInstanceOf[Button]
class HubActivity extends MainListActivity(R.id.hub) {
lazy val mycall = prefs.getCallSsid()
lazy val pla = new PositionListAdapter(this, prefs, mycall, mycall, PositionListAdapter.NEIGHBORS)
@ -24,8 +17,7 @@ class HubActivity extends LoadingListActivity with OnClickListener {
super.onCreate(savedInstanceState)
setContentView(R.layout.main)
singleBtn.setOnClickListener(this);
startstopBtn.setOnClickListener(this);
onContentViewLoaded()
getListView().setOnCreateContextMenuListener(this);
@ -33,55 +25,11 @@ class HubActivity extends LoadingListActivity with OnClickListener {
setListAdapter(pla)
}
override def onResume() {
super.onResume()
if (!uihelper.checkConfig())
return
setupButtons(AprsService.running)
}
override def onDestroy() {
super.onDestroy()
pla.onDestroy()
}
override def onCreateOptionsMenu(menu : Menu) : Boolean = {
getMenuInflater().inflate(R.menu.options, menu);
true
}
override def onPrepareOptionsMenu(menu : Menu) = uihelper.onPrepareOptionsMenu(menu)
override def onOptionsItemSelected(mi : MenuItem) : Boolean = {
uihelper.optionsItemAction(mi)
}
def setupButtons(running : Boolean) {
//singleBtn.setEnabled(!running)
if (running) {
startstopBtn.setText(R.string.stoplog)
} else {
startstopBtn.setText(R.string.startlog)
}
}
override def onClick(view : View) {
view.getId match {
case R.id.singlebtn =>
uihelper.passcodeWarning(prefs.getCallsign(), prefs.getPasscode())
startService(AprsService.intent(this, AprsService.SERVICE_ONCE))
setupButtons(true)
case R.id.startstopbtn =>
val is_running = AprsService.running
if (!is_running) {
startService(AprsService.intent(this, AprsService.SERVICE))
} else {
stopService(AprsService.intent(this, AprsService.SERVICE))
}
setupButtons(!is_running)
}
}
override def onListItemClick(l : ListView, v : View, position : Int, id : Long) {
//super.onListItemClick(l, v, position, id)
@ -92,9 +40,4 @@ class HubActivity extends LoadingListActivity with OnClickListener {
startActivity(new Intent(this, classOf[StationActivity]).putExtra("call", call));
}
override def onStopLoading() {
super.onStopLoading()
setupButtons(AprsService.running)
}
}

Wyświetl plik

@ -0,0 +1,69 @@
package org.aprsdroid.app
import _root_.android.graphics.PorterDuff
import _root_.android.view.View.OnClickListener
import _root_.android.view.{Menu, MenuItem, View, Window}
import _root_.android.widget.Button
class MainListActivity(menuid : Int) extends LoadingListActivity with OnClickListener {
lazy val prefs = new PrefsWrapper(this)
lazy val uihelper = new UIHelper(this, menuid, prefs)
lazy val singleBtn = findViewById(R.id.singlebtn).asInstanceOf[Button]
lazy val startstopBtn = findViewById(R.id.startstopbtn).asInstanceOf[Button]
def onContentViewLoaded() {
singleBtn.setOnClickListener(this);
startstopBtn.setOnClickListener(this);
}
override def onResume() {
super.onResume()
if (!uihelper.checkConfig())
return
setupButtons(AprsService.running)
}
override def onCreateOptionsMenu(menu : Menu) : Boolean = {
getMenuInflater().inflate(R.menu.options, menu);
true
}
override def onPrepareOptionsMenu(menu : Menu) = uihelper.onPrepareOptionsMenu(menu)
override def onOptionsItemSelected(mi : MenuItem) : Boolean = {
uihelper.optionsItemAction(mi)
}
def setupButtons(running : Boolean) {
//singleBtn.setEnabled(!running)
if (running) {
startstopBtn.setText(R.string.stoplog)
} else {
startstopBtn.setText(R.string.startlog)
}
}
override def onClick(view : View) {
view.getId match {
case R.id.singlebtn =>
uihelper.passcodeWarning(prefs.getCallsign(), prefs.getPasscode())
startService(AprsService.intent(this, AprsService.SERVICE_ONCE))
setupButtons(true)
case R.id.startstopbtn =>
val is_running = AprsService.running
if (!is_running) {
startService(AprsService.intent(this, AprsService.SERVICE))
} else {
stopService(AprsService.intent(this, AprsService.SERVICE))
}
setupButtons(!is_running)
}
}
override def onStopLoading() {
super.onStopLoading()
setupButtons(AprsService.running)
}
}