kopia lustrzana https://github.com/ge0rg/aprsdroid
91 wiersze
2.3 KiB
Scala
91 wiersze
2.3 KiB
Scala
package org.aprsdroid.app
|
|
|
|
import _root_.android.app.AlertDialog
|
|
import _root_.android.content._
|
|
import _root_.android.content.pm.PackageInfo;
|
|
import _root_.android.database.Cursor
|
|
import _root_.android.location._
|
|
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.View
|
|
import _root_.android.widget.ListView
|
|
import _root_.android.widget.SimpleCursorAdapter
|
|
import _root_.android.widget.TextView
|
|
import _root_.android.widget.Toast
|
|
import _root_.java.util.Date
|
|
|
|
class LogActivity extends MainListActivity("log", R.id.log) {
|
|
val TAG = "APRSdroid.Log"
|
|
|
|
lazy val storage = StorageDatabase.open(this)
|
|
lazy val postcursor = storage.getPosts("300")
|
|
|
|
lazy val postlist = getListView()
|
|
|
|
lazy val locReceiver = new LocationReceiver2[Cursor](load_cursor, replace_cursor, cancel_cursor)
|
|
lazy val la = new PostListAdapter(this)
|
|
|
|
override def onCreate(savedInstanceState: Bundle) {
|
|
super.onCreate(savedInstanceState)
|
|
setContentView(R.layout.main)
|
|
|
|
Log.d(TAG, "starting " + getString(R.string.build_version))
|
|
|
|
onContentViewLoaded()
|
|
|
|
onStartLoading()
|
|
|
|
la.setFilterQueryProvider(storage.getPostFilter("300"))
|
|
|
|
postlist.setAdapter(la)
|
|
postlist.setTextFilterEnabled(true)
|
|
}
|
|
|
|
override def onResume() {
|
|
super.onResume()
|
|
registerReceiver(locReceiver, new IntentFilter(AprsService.UPDATE))
|
|
locReceiver.startTask(null)
|
|
|
|
postlist.requestFocus()
|
|
}
|
|
|
|
override def onPause() {
|
|
super.onPause()
|
|
unregisterReceiver(locReceiver)
|
|
}
|
|
|
|
override def onDestroy() {
|
|
super.onDestroy()
|
|
la.changeCursor(null)
|
|
}
|
|
|
|
override def onListItemClick(l : ListView, v : View, position : Int, id : Long) {
|
|
import StorageDatabase.Post._
|
|
//super.onListItemClick(l, v, position, id)
|
|
val c = getListView().getItemAtPosition(position).asInstanceOf[Cursor]
|
|
val t = c.getInt(COLUMN_TYPE)
|
|
if (t != TYPE_POST && t != TYPE_INCMG)
|
|
return
|
|
val call = c.getString(COLUMN_MESSAGE).split(">")(0)
|
|
Log.d(TAG, "onListItemClick: %s".format(call))
|
|
openDetails(call)
|
|
}
|
|
|
|
def load_cursor(i : Intent) = {
|
|
val c = storage.getPosts("300")
|
|
c.getCount()
|
|
c
|
|
}
|
|
def replace_cursor(c : Cursor) {
|
|
if (!getListView().hasTextFilter())
|
|
la.changeCursor(c)
|
|
onStopLoading()
|
|
}
|
|
def cancel_cursor(c : Cursor) {
|
|
c.close()
|
|
}
|
|
|
|
}
|