kopia lustrzana https://github.com/ge0rg/aprsdroid
implement 'clear messages' for individual calls
rodzic
b1766bfa2e
commit
cf0d604919
|
|
@ -1,6 +1,7 @@
|
|||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:id="@+id/details" android:title="@string/app_sta" />
|
||||
<item android:id="@+id/message" android:title="@string/app_messages" />
|
||||
<item android:id="@+id/messagesclear" android:title="@string/app_messages_clear" />
|
||||
<item android:id="@+id/mapbutton" android:title="@string/sta_map" />
|
||||
<item android:id="@+id/aprsfibutton" android:title="@string/sta_aprsfi" />
|
||||
<item android:id="@+id/qrzcombutton" android:title="@string/sta_qrzcom" />
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
<string name="app_hub">APRSdroid Hub</string>
|
||||
<string name="app_sta">Station Info</string>
|
||||
<string name="app_messages">Messages</string>
|
||||
<string name="app_messages_clear">Clear Messages</string>
|
||||
<!-- APRSdroid activity -->
|
||||
<string name="firstrun">You need to configure APRSdroid with your callsign and passcode!</string>
|
||||
<string name="wrongpasscode">Your passcode does not match your callsign!</string>
|
||||
|
|
|
|||
|
|
@ -409,6 +409,10 @@ class StorageDatabase(context : Context) extends
|
|||
c.close()
|
||||
result
|
||||
}
|
||||
def deleteMessages(call : String) {
|
||||
getWritableDatabase().execSQL("DELETE FROM %s WHERE %s = ?".format(Message.TABLE, Message.CALL),
|
||||
Array(call))
|
||||
}
|
||||
|
||||
def getConversations() = {
|
||||
getReadableDatabase().query(Message.TABLE, Message.COLUMNS,
|
||||
|
|
|
|||
|
|
@ -32,6 +32,10 @@ trait UIHelper extends Activity
|
|||
startActivity(new Intent(this, classOf[MessageActivity]).setData(Uri.parse(call)))
|
||||
}
|
||||
|
||||
def clearMessages(call : String) {
|
||||
new MessageCleaner(StorageDatabase.open(this), call).execute()
|
||||
}
|
||||
|
||||
def openMessageSend(call : String, message : String) {
|
||||
startActivity(new Intent(this, classOf[MessageActivity]).setData(Uri.parse(call)).putExtra("message", message))
|
||||
}
|
||||
|
|
@ -291,6 +295,9 @@ trait UIHelper extends Activity
|
|||
case R.id.message =>
|
||||
openMessaging(targetcall)
|
||||
true
|
||||
case R.id.messagesclear =>
|
||||
clearMessages(targetcall)
|
||||
true
|
||||
case R.id.mapbutton =>
|
||||
trackOnMap(targetcall)
|
||||
true
|
||||
|
|
@ -324,6 +331,16 @@ trait UIHelper extends Activity
|
|||
sendBroadcast(new Intent(AprsService.UPDATE))
|
||||
}
|
||||
}
|
||||
class MessageCleaner(storage : StorageDatabase, call : String) extends MyAsyncTask[Unit, Unit] {
|
||||
override def doInBackground1(params : Array[String]) {
|
||||
Log.d("MessageCleaner", "deleting...")
|
||||
storage.deleteMessages(call)
|
||||
}
|
||||
override def onPostExecute(x : Unit) {
|
||||
Log.d("MessageCleaner", "broadcasting...")
|
||||
sendBroadcast(new Intent(AprsService.MESSAGE))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class UrlOpener(ctx : Context, url : String) extends DialogInterface.OnClickListener {
|
||||
|
|
|
|||
Ładowanie…
Reference in New Issue