0
0
mirror of https://github.com/markusfisch/BinaryEye.git synced 2024-09-20 03:52:16 +02:00

Share selected scans only from history

If there is a selection. Otherwise use the search filter as before.
This commit is contained in:
Markus Fisch 2023-11-26 19:54:08 +01:00
parent 180339269f
commit 379256a7fe
2 changed files with 29 additions and 1 deletions

View File

@ -69,6 +69,29 @@ class Database {
null null
} }
fun getScansDetailed(ids: LongArray): Cursor? = db.rawQuery(
"""SELECT
$SCANS_ID,
$SCANS_DATETIME,
$SCANS_NAME,
$SCANS_CONTENT,
$SCANS_RAW,
$SCANS_FORMAT,
$SCANS_ERROR_CORRECTION_LEVEL,
$SCANS_VERSION,
$SCANS_SEQUENCE_SIZE,
$SCANS_SEQUENCE_INDEX,
$SCANS_SEQUENCE_ID,
$SCANS_GTIN_COUNTRY,
$SCANS_GTIN_ADD_ON,
$SCANS_GTIN_PRICE,
$SCANS_GTIN_ISSUE_NUMBER
FROM $SCANS
WHERE $SCANS_ID IN (?)
ORDER BY $SCANS_DATETIME DESC
""".trimMargin(), arrayOf(ids.joinToString(","))
)
fun getScan(id: Long): Scan? = db.rawQuery( fun getScan(id: Long): Scan? = db.rawQuery(
"""SELECT """SELECT
$SCANS_ID, $SCANS_ID,

View File

@ -427,7 +427,12 @@ class HistoryFragment : Fragment() {
private fun shareScans(format: String) = scope.launch { private fun shareScans(format: String) = scope.launch {
progressView.useVisibility { progressView.useVisibility {
var text: String? = null var text: String? = null
db.getScansDetailed(filter)?.use { cursor -> val selectedIds = scansAdapter?.getSelectedIds()
if (selectedIds?.isNotEmpty() == true) {
db.getScansDetailed(selectedIds.toLongArray())
} else {
db.getScansDetailed(filter)
}?.use { cursor ->
val details = format.split(":") val details = format.split(":")
text = when (details[0]) { text = when (details[0]) {
"text" -> cursor.exportText(details[1]) "text" -> cursor.exportText(details[1])