Clear All Messages

pull/369/head
Mike 2024-12-14 09:01:19 -08:00
rodzic a2a5270530
commit 78917a0793
4 zmienionych plików z 28 dodań i 0 usunięć

Wyświetl plik

@ -16,6 +16,10 @@
android:title="@string/clear_log"
android:alphabeticShortcut="c"
android:icon="@android:drawable/ic_menu_delete" />
<item android:id="@+id/clearallmessages"
android:title="@string/clearallmessages"
android:alphabeticShortcut="d"
android:icon="@android:drawable/ic_menu_delete" />
<item android:id="@+id/preferences"
android:title="@string/preferences"
android:alphabeticShortcut="p"

Wyświetl plik

@ -154,6 +154,8 @@
<string name="export_log">Export Log</string>
<string name="export_empty">Nothing to export</string>
<string name="clear_log">Clear Log</string>
<string name="clearallmessages">Clear Messages</string>
<string name="quit">Quit</string>
<string name="preferences">Preferences</string>
<!-- preferences -->

Wyświetl plik

@ -446,6 +446,10 @@ class StorageDatabase(context : Context) extends
Array(call))
}
def deleteAllMessages() {
getWritableDatabase().execSQL("DELETE FROM %s".format(Message.TABLE))
}
def getConversations() = {
getReadableDatabase().query("(SELECT * FROM messages ORDER BY _id DESC)", Message.COLUMNS,
null, null,

Wyświetl plik

@ -67,6 +67,10 @@ trait UIHelper extends Activity
new MessageCleaner(StorageDatabase.open(this), call).execute()
}
def clearAllMessages(call : String) {
new AllMessageCleaner(StorageDatabase.open(this)).execute()
}
def openMessageSend(call : String, message : String) {
startActivity(new Intent(this, classOf[MessageActivity]).setData(Uri.parse(call)).putExtra("message", message))
}
@ -330,6 +334,10 @@ trait UIHelper extends Activity
onStartLoading()
new StorageCleaner(StorageDatabase.open(this)).execute()
true
case R.id.clearallmessages =>
onStartLoading()
new AllMessageCleaner(StorageDatabase.open(this)).execute()
true
case R.id.about =>
aboutDialog()
true
@ -476,6 +484,16 @@ trait UIHelper extends Activity
sendBroadcast(AprsService.MSG_PRIV_INTENT)
}
}
class AllMessageCleaner(storage : StorageDatabase) extends MyAsyncTask[Unit, Unit] {
override def doInBackground1(params : Array[String]) {
Log.d("MessageCleaner", "deleting all messages...")
storage.deleteAllMessages()
}
override def onPostExecute(x : Unit) {
Log.d("MessageCleaner", "broadcasting...")
sendBroadcast(AprsService.MSG_PRIV_INTENT)
}
}
class LogExporter(storage : StorageDatabase, call : String) extends MyAsyncTask[Unit, String] {
val filename = "aprsdroid-%s.log".format(new SimpleDateFormat("yyyyMMdd-HHmm").format(new Date()))
val directory = UIHelper.getExportDirectory(UIHelper.this)