Add a section header for meta data

This commit is contained in:
Markus Fisch
2026-06-04 19:13:51 +02:00
parent f285e1d200
commit 6c2c7bef90
28 changed files with 61 additions and 21 deletions
@@ -87,8 +87,9 @@ class DecodeActivity : AbstractBaseActivity() {
private lateinit var dataHeadlineView: TextView
private lateinit var formatHeadlineView: TextView
private lateinit var dataView: LinearLayout
private lateinit var hexHeadlineView: TextView
private lateinit var metaHeadlineView: TextView
private lateinit var metaView: TableLayout
private lateinit var hexHeadlineView: TextView
private lateinit var hexView: TextView
private lateinit var formatDescriptionView: TextView
private lateinit var labelHeadlineView: TextView
@@ -154,8 +155,9 @@ class DecodeActivity : AbstractBaseActivity() {
dataHeadlineView = findViewById(R.id.data_headline)
formatHeadlineView = findViewById(R.id.format_headline)
dataView = findViewById(R.id.data)
hexHeadlineView = findViewById(R.id.hex_headline)
metaHeadlineView = findViewById(R.id.meta_headline)
metaView = findViewById(R.id.meta)
hexHeadlineView = findViewById(R.id.hex_headline)
hexView = findViewById(R.id.hex)
formatDescriptionView = findViewById(R.id.format_description)
labelHeadlineView = findViewById(R.id.label_headline)
@@ -187,6 +189,7 @@ class DecodeActivity : AbstractBaseActivity() {
} else {
formatHeadlineView.visibility = View.GONE
formatDescriptionView.visibility = View.GONE
metaHeadlineView.visibility = View.GONE
metaView.visibility = View.GONE
}
@@ -553,7 +556,11 @@ class DecodeActivity : AbstractBaseActivity() {
) {
items.addField(R.string.qr_data_mask, scan.dataMask.toString())
}
fillTable(items)
val itemsWithValues = items.filter { !it.value.isNullOrBlank() }
if (!itemsWithValues.isEmpty()) {
metaHeadlineView.visibility = View.VISIBLE
fillTable(itemsWithValues)
}
}
private fun TableLayout.fillTable(items: List<Field>) {
@@ -563,26 +570,24 @@ class DecodeActivity : AbstractBaseActivity() {
val spaceBetween = (16f * dp).roundToInt()
items.forEach { item ->
val text = item.value
if (!text.isNullOrBlank()) {
val tr = TableRow(ctx)
val keyView = TextView(ctx).apply {
when (val key = item.key) {
is Int -> setText(key)
is String -> this.text = key
else -> this.text = key.toString()
}
val tr = TableRow(ctx)
val keyView = TextView(ctx).apply {
when (val key = item.key) {
is Int -> setText(key)
is String -> this.text = key
else -> this.text = key.toString()
}
val valueView = TextView(ctx).apply {
setPadding(spaceBetween, 0, 0, 0)
this.text = text
setOnClickListener {
copyToClipboard(text.toString())
}
}
tr.addView(keyView)
tr.addView(valueView)
addView(tr)
}
val valueView = TextView(ctx).apply {
setPadding(spaceBetween, 0, 0, 0)
this.text = text
setOnClickListener {
copyToClipboard(text.toString())
}
}
tr.addView(keyView)
tr.addView(valueView)
addView(tr)
}
View.VISIBLE
}
@@ -93,6 +93,15 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"/>
<TextView
style="@style/SecondaryText"
android:id="@+id/meta_headline"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:textStyle="bold"
android:text="@string/section_meta"
android:visibility="gone"/>
<TableLayout
android:id="@+id/meta"
android:layout_width="match_parent"
+1
View File
@@ -10,6 +10,7 @@
<string name="compose_barcode">إنشاء رمز Bardcode</string>
<string name="decode_barcode">فك رمز Barcode</string>
<string name="content">المحتوى</string>
<string name="section_meta">البيانات الوصفية</string>
<string name="binary_data">(بيانات ثنائية)</string>
<plurals name="barcode_info">
<item quantity="zero">%2$d حروف، %1$s</item>
+1
View File
@@ -10,6 +10,7 @@
<string name="compose_barcode">Създаване на баркод</string>
<string name="decode_barcode">Декодиране на баркод</string>
<string name="content">Съдържание</string>
<string name="section_meta">Метаданни</string>
<string name="binary_data">(бинарни данни)</string>
<plurals name="barcode_info">
<item quantity="one">%2$d символ, %1$s</item>
+1
View File
@@ -10,6 +10,7 @@
<string name="compose_barcode">বারকোড বানাও</string>
<string name="decode_barcode">বারকোডের পাঠোদ্ধার</string>
<string name="content">তথ্য</string>
<string name="section_meta">মেটাডেটা</string>
<string name="binary_data">(বাইনারি তথ্য)</string>
<plurals name="barcode_info">
<item quantity="one">%2$dটি অক্ষর, %1$s</item>
+1
View File
@@ -10,6 +10,7 @@
<string name="compose_barcode">Vytvořit čárový kód</string>
<string name="decode_barcode">Dekódovat čárový kód</string>
<string name="content">Obsah</string>
<string name="section_meta">Metadata</string>
<string name="binary_data">(binární data)</string>
<plurals name="barcode_info">
<item quantity="one">%2$d znak, %1$s</item>
+1
View File
@@ -10,6 +10,7 @@
<string name="compose_barcode">Opret stregkode</string>
<string name="decode_barcode">Afkod stregkode</string>
<string name="content">Indhold</string>
<string name="section_meta">Metadata</string>
<string name="binary_data">(binære data)</string>
<plurals name="barcode_info">
<item quantity="one">%2$d karakter, %1$s</item>
+1
View File
@@ -10,6 +10,7 @@
<string name="compose_barcode">Barcode erstellen</string>
<string name="decode_barcode">Barcode dekodieren</string>
<string name="content">Inhalt</string>
<string name="section_meta">Metadaten</string>
<string name="binary_data">(Binäre Daten)</string>
<plurals name="barcode_info">
<item quantity="one">%2$d Zeichen, %1$s</item>
+1
View File
@@ -10,6 +10,7 @@
<string name="compose_barcode">Componer código</string>
<string name="decode_barcode">Decodificar código de barras</string>
<string name="content">Contenido</string>
<string name="section_meta">Metadatos</string>
<string name="binary_data">(datos binarios)</string>
<plurals name="barcode_info">
<item quantity="one">%2$d carácter, %1$s</item>
+1
View File
@@ -10,6 +10,7 @@
<string name="compose_barcode">ایجاد بارکد</string>
<string name="decode_barcode">رمزگشایی بارکد</string>
<string name="content">محتویات</string>
<string name="section_meta">فراداده</string>
<string name="binary_data">(دادهٔ دودویی)</string>
<plurals name="barcode_info">
<item quantity="one">%2$d نویسه، %1$s</item>
+1
View File
@@ -10,6 +10,7 @@
<string name="compose_barcode">Créer un code-barres</string>
<string name="decode_barcode">Décoder le code-barres</string>
<string name="content">Contenu</string>
<string name="section_meta">Métadonnées</string>
<string name="binary_data">(données binaires)</string>
<plurals name="barcode_info">
<item quantity="one">%2$d caractère, %1$s</item>
+1
View File
@@ -10,6 +10,7 @@
<string name="compose_barcode">Vonalkód létrehozása</string>
<string name="decode_barcode">Vonalkód visszafejtése</string>
<string name="content">Tartalom</string>
<string name="section_meta">Metaadatok</string>
<string name="binary_data">(bináris adat)</string>
<plurals name="barcode_info">
<item quantity="one">%2$d karakter, %1$s</item>
+1
View File
@@ -10,6 +10,7 @@
<string name="compose_barcode">Buat barcode</string>
<string name="decode_barcode">Dekode barcode</string>
<string name="content">Konten</string>
<string name="section_meta">Metadata</string>
<string name="binary_data">(data biner)</string>
<plurals name="barcode_info">
<item quantity="other">%1$s, %2$d karakter</item>
+1
View File
@@ -13,6 +13,7 @@
<string name="section_raw_barcode_content">Contenuto codice a barre</string>
<string name="section_raw_barcode_content_editable">Contenuto codice a barre (modificabile)</string>
<string name="section_format_details">Formato: %1$s</string>
<string name="section_meta">Metadati</string>
<string name="section_hex_dump">Dump esadecimale</string>
<string name="binary_data">(dati binari)</string>
<plurals name="barcode_info">
+1
View File
@@ -10,6 +10,7 @@
<string name="compose_barcode">バーコードを作成</string>
<string name="decode_barcode">バーコードを復号</string>
<string name="content">内容</string>
<string name="section_meta">メタデータ</string>
<string name="binary_data">(バイナリデータ)</string>
<plurals name="barcode_info">
<item quantity="other">%2$d 文字, %1$s</item>
+1
View File
@@ -10,6 +10,7 @@
<string name="compose_barcode">შტრიხ-კოდის შექმნა</string>
<string name="decode_barcode">შტრიხ-კოდის დეკოდირება</string>
<string name="content">ტექსტი</string>
<string name="section_meta">მეტამონაცემები</string>
<string name="binary_data">(ორობითი მონაცემები)</string>
<plurals name="barcode_info">
<item quantity="one">%2$d სიმბოლო, %1$s</item>
+1
View File
@@ -10,6 +10,7 @@
<string name="compose_barcode">바코드 작성</string>
<string name="decode_barcode">바코드 디코딩</string>
<string name="content">내용</string>
<string name="section_meta">메타데이터</string>
<string name="binary_data">(이진 데이터)</string>
<plurals name="barcode_info">
<item quantity="other">%2$d자, %1$s</item>
+1
View File
@@ -4,6 +4,7 @@
<string name="mode_expert">Paplašināts</string>
<string name="mode_simple">Vienkāršs</string>
<string name="content">Saturs</string>
<string name="section_meta">Metadati</string>
<string name="label">Apzīmējums</string>
<string name="barcode_version_number">Versija</string>
<string name="share">Kopīgot</string>
+1
View File
@@ -10,6 +10,7 @@
<string name="compose_barcode">Barcode scannen</string>
<string name="decode_barcode">Barcode decoderen</string>
<string name="content">Inhoud</string>
<string name="section_meta">Metagegevens</string>
<string name="binary_data">(binaire data)</string>
<plurals name="barcode_info">
<item quantity="one">%2$d teken, %1$s</item>
+1
View File
@@ -7,6 +7,7 @@
<string name="mode_simple_description">Chcę tylko skanować kody kreskowe i otwierać je natychmiast.</string>
<string name="open_url">Otwórz URL</string>
<string name="content">Zawartość</string>
<string name="section_meta">Metadane</string>
<string name="copied_to_clipboard">Skopiowano do schowka</string>
<string name="copy_to_clipboard">Skopiuj do schowka</string>
<string name="copy_as_deeplink">Kopiuj jako link bezpośredni</string>
@@ -10,6 +10,7 @@
<string name="compose_barcode">Compor código de barras</string>
<string name="decode_barcode">Decodificar código de barras</string>
<string name="content">Conteúdo</string>
<string name="section_meta">Metadados</string>
<string name="binary_data">(dados em binário)</string>
<plurals name="barcode_info">
<item quantity="one">%2$d caractere, %1$s</item>
@@ -10,6 +10,7 @@
<string name="compose_barcode">Создать штрих-код</string>
<string name="decode_barcode">Декодировать штрих-код</string>
<string name="content">Текст</string>
<string name="section_meta">Метаданные</string>
<string name="binary_data">(двоичные данные)</string>
<plurals name="barcode_info">
<item quantity="one">%2$d символ, %1$s</item>
+1
View File
@@ -10,6 +10,7 @@
<string name="compose_barcode">Barkod oluştur</string>
<string name="decode_barcode">Barkod çöz</string>
<string name="content">İçerik</string>
<string name="section_meta">Meta veri</string>
<string name="binary_data">(ikili veri)</string>
<plurals name="barcode_info">
<item quantity="one">%2$d karakter, %1$s</item>
+1
View File
@@ -10,6 +10,7 @@
<string name="compose_barcode">Скласти штрихкод</string>
<string name="decode_barcode">Розшифрувати штрих-код</string>
<string name="content">Вміст</string>
<string name="section_meta">Метадані</string>
<string name="binary_data">(двійкові дані)</string>
<plurals name="barcode_info">
<item quantity="one">%2$d символ, %1$s</item>
+1
View File
@@ -10,6 +10,7 @@
<string name="compose_barcode">Tạo mã vạch</string>
<string name="decode_barcode">Giải mã vạch</string>
<string name="content">Nội dung</string>
<string name="section_meta">Siêu dữ liệu</string>
<string name="binary_data">(thông tin dạng nhị phân)</string>
<plurals name="barcode_info">
<item quantity="other">%2$d ký tự, %1$s</item>
@@ -10,6 +10,7 @@
<string name="compose_barcode">生成条码</string>
<string name="decode_barcode">解析条码</string>
<string name="content">内容</string>
<string name="section_meta">元数据</string>
<string name="binary_data">(二进制数据)</string>
<plurals name="barcode_info">
<item quantity="other">%2$d 字符, %1$s</item>
@@ -10,6 +10,7 @@
<string name="compose_barcode">製作條碼</string>
<string name="decode_barcode">解析條碼</string>
<string name="content">内容</string>
<string name="section_meta">中繼資料</string>
<string name="binary_data">(二進位資料)</string>
<plurals name="barcode_info">
<item quantity="other">%2$d 個字元,%1$s</item>
+1
View File
@@ -13,6 +13,7 @@
<string name="section_raw_barcode_content">Barcode content</string>
<string name="section_raw_barcode_content_editable">Barcode content (editable)</string>
<string name="section_format_details">Format: %1$s</string>
<string name="section_meta">Meta data</string>
<string name="section_hex_dump">Hex dump</string>
<string name="binary_data">(binary data)</string>
<plurals name="barcode_info">