Make title of parsed data a data item
Which is more structured than using it as a headline/label. Also simplify using the last parsed data when the user edits the source.
This commit is contained in:
@@ -112,7 +112,6 @@ class DecodeActivity : AbstractBaseActivity() {
|
||||
private var isBinary = false
|
||||
private var originalBytes: ByteArray = ByteArray(0)
|
||||
private var lastParsedDataItems: List<Field> = emptyList()
|
||||
private var lastParsedDataTitleResId = 0
|
||||
private var showingDimmed = false
|
||||
private var label: String? = null
|
||||
private var recreationSize = 0
|
||||
@@ -369,33 +368,32 @@ class DecodeActivity : AbstractBaseActivity() {
|
||||
isEditing: Boolean
|
||||
) {
|
||||
val items = mutableListOf<Field>()
|
||||
val parsedDataTitleResId = parseData(items, text, bytes)
|
||||
when (prefs.showChecksum) {
|
||||
"CRC4" -> items.add(Field(R.string.crc4, String.format("%X", crc4(bytes))))
|
||||
"MD5" -> items.add(Field(R.string.md5, bytes.md5().toHexString().fold()))
|
||||
"SHA1" -> items.add(Field(R.string.sha1, bytes.sha1().toHexString().fold()))
|
||||
"SHA256" -> items.add(Field(R.string.sha256, bytes.sha256().toHexString().fold()))
|
||||
}
|
||||
val count = items.count()
|
||||
val parsedDataTitleResId = parseData(items, text, bytes)
|
||||
if (items.count() > count) {
|
||||
if (parsedDataTitleResId != 0) {
|
||||
items.add(
|
||||
0,
|
||||
Field(
|
||||
R.string.parsed_type,
|
||||
getString(parsedDataTitleResId)
|
||||
)
|
||||
)
|
||||
lastParsedDataItems = items
|
||||
lastParsedDataTitleResId = parsedDataTitleResId
|
||||
.takeIf { it != 0 } ?: R.string.section_parsed_data
|
||||
fillDataItems(items, false, lastParsedDataTitleResId)
|
||||
fillDataItems(items, false)
|
||||
return
|
||||
}
|
||||
if (isEditing && lastParsedDataItems.isNotEmpty()) {
|
||||
if (!showingDimmed) {
|
||||
fillDataItems(lastParsedDataItems, true, lastParsedDataTitleResId)
|
||||
fillDataItems(lastParsedDataItems, true)
|
||||
}
|
||||
return
|
||||
}
|
||||
val titleResId = if (items.isNotEmpty()) {
|
||||
R.string.section_parsed_data
|
||||
} else {
|
||||
0
|
||||
}
|
||||
fillDataItems(items, false, titleResId)
|
||||
fillDataItems(items, false)
|
||||
}
|
||||
|
||||
private fun parseData(
|
||||
@@ -418,7 +416,12 @@ class DecodeActivity : AbstractBaseActivity() {
|
||||
}
|
||||
|
||||
try {
|
||||
items.add(Field(R.string.formatted_json, JSONObject(text).toString(2)))
|
||||
items.add(
|
||||
Field(
|
||||
R.string.formatted_json,
|
||||
JSONObject(text).toString(2)
|
||||
)
|
||||
)
|
||||
return R.string.parsed_type_json
|
||||
} catch (_: JSONException) {
|
||||
// Ignore
|
||||
@@ -591,8 +594,7 @@ class DecodeActivity : AbstractBaseActivity() {
|
||||
|
||||
private fun LinearLayout.fillDataItems(
|
||||
items: List<Field>,
|
||||
dimmed: Boolean,
|
||||
titleResId: Int
|
||||
dimmed: Boolean
|
||||
) {
|
||||
showingDimmed = dimmed
|
||||
removeAllViews()
|
||||
@@ -601,12 +603,7 @@ class DecodeActivity : AbstractBaseActivity() {
|
||||
visibility = View.GONE
|
||||
return
|
||||
}
|
||||
if (titleResId != 0) {
|
||||
dataHeadlineView.setText(titleResId)
|
||||
dataHeadlineView.visibility = View.VISIBLE
|
||||
} else {
|
||||
dataHeadlineView.visibility = View.GONE
|
||||
}
|
||||
dataHeadlineView.visibility = View.VISIBLE
|
||||
val ctx = context
|
||||
val spaceBetween = (16f * dp).roundToInt()
|
||||
for (item in items) {
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:textStyle="bold"
|
||||
android:text="@string/section_parsed_data"
|
||||
android:visibility="gone"/>
|
||||
<LinearLayout
|
||||
android:id="@+id/data"
|
||||
|
||||
@@ -427,6 +427,7 @@
|
||||
<item quantity="many">%d حرفًا</item>
|
||||
<item quantity="other">%d أحرف</item>
|
||||
</plurals>
|
||||
<string name="parsed_type">نوع المحتوى</string>
|
||||
<string name="parsed_type_otp">كلمة مرور لمرة واحدة</string>
|
||||
<string name="parsed_type_json">JSON</string>
|
||||
<string name="parsed_type_international_driver_license">رخصة قيادة دولية</string>
|
||||
|
||||
@@ -411,6 +411,7 @@
|
||||
<item quantity="one">%d знак</item>
|
||||
<item quantity="other">%d знака</item>
|
||||
</plurals>
|
||||
<string name="parsed_type">Тип съдържание</string>
|
||||
<string name="parsed_type_otp">Еднократна парола</string>
|
||||
<string name="parsed_type_json">JSON</string>
|
||||
<string name="parsed_type_international_driver_license">Международна шофьорска книжка</string>
|
||||
|
||||
@@ -411,6 +411,7 @@
|
||||
<item quantity="one">%d অক্ষর</item>
|
||||
<item quantity="other">%d অক্ষর</item>
|
||||
</plurals>
|
||||
<string name="parsed_type">বিষয়বস্তুর ধরন</string>
|
||||
<string name="parsed_type_otp">এককালীন পাসওয়ার্ড</string>
|
||||
<string name="parsed_type_json">JSON</string>
|
||||
<string name="parsed_type_international_driver_license">আন্তর্জাতিক ড্রাইভার লাইসেন্স</string>
|
||||
|
||||
@@ -419,6 +419,7 @@
|
||||
<item quantity="many">%d znaků</item>
|
||||
<item quantity="other">%d znaků</item>
|
||||
</plurals>
|
||||
<string name="parsed_type">Typ obsahu</string>
|
||||
<string name="parsed_type_otp">Jednorázové heslo</string>
|
||||
<string name="parsed_type_json">JSON</string>
|
||||
<string name="parsed_type_international_driver_license">Mezinárodní řidičský průkaz</string>
|
||||
|
||||
@@ -411,6 +411,7 @@
|
||||
<item quantity="one">%d tegn</item>
|
||||
<item quantity="other">%d tegn</item>
|
||||
</plurals>
|
||||
<string name="parsed_type">Indholdstype</string>
|
||||
<string name="parsed_type_otp">Engangskode</string>
|
||||
<string name="parsed_type_json">JSON</string>
|
||||
<string name="parsed_type_international_driver_license">Internationalt kørekort</string>
|
||||
|
||||
@@ -411,6 +411,7 @@
|
||||
<item quantity="one">%d Zeichen</item>
|
||||
<item quantity="other">%d Zeichen</item>
|
||||
</plurals>
|
||||
<string name="parsed_type">Inhaltstyp</string>
|
||||
<string name="parsed_type_otp">Einmalpasswort</string>
|
||||
<string name="parsed_type_json">JSON</string>
|
||||
<string name="parsed_type_international_driver_license">Internationaler Führerschein</string>
|
||||
|
||||
@@ -412,6 +412,7 @@
|
||||
<item quantity="one">%d carácter</item>
|
||||
<item quantity="other">%d caracteres</item>
|
||||
</plurals>
|
||||
<string name="parsed_type">Tipo de contenido</string>
|
||||
<string name="parsed_type_otp">Contraseña de un solo uso</string>
|
||||
<string name="parsed_type_json">JSON</string>
|
||||
<string name="parsed_type_international_driver_license">Permiso de conducir internacional</string>
|
||||
|
||||
@@ -411,6 +411,7 @@
|
||||
<item quantity="one">%d نویسه</item>
|
||||
<item quantity="other">%d نویسه</item>
|
||||
</plurals>
|
||||
<string name="parsed_type">نوع محتوا</string>
|
||||
<string name="parsed_type_otp">رمز یکبارمصرف</string>
|
||||
<string name="parsed_type_json">JSON</string>
|
||||
<string name="parsed_type_international_driver_license">گواهینامه بینالمللی رانندگی</string>
|
||||
|
||||
@@ -412,6 +412,7 @@
|
||||
<item quantity="one">%d caractère</item>
|
||||
<item quantity="other">%d caractères</item>
|
||||
</plurals>
|
||||
<string name="parsed_type">Type de contenu</string>
|
||||
<string name="parsed_type_otp">Mot de passe à usage unique</string>
|
||||
<string name="parsed_type_json">JSON</string>
|
||||
<string name="parsed_type_international_driver_license">Permis de conduire international</string>
|
||||
|
||||
@@ -411,6 +411,7 @@
|
||||
<item quantity="one">%d karakter</item>
|
||||
<item quantity="other">%d karakter</item>
|
||||
</plurals>
|
||||
<string name="parsed_type">Tartalomtípus</string>
|
||||
<string name="parsed_type_otp">Egyszer használatos jelszó</string>
|
||||
<string name="parsed_type_json">JSON</string>
|
||||
<string name="parsed_type_international_driver_license">Nemzetközi vezetői engedély</string>
|
||||
|
||||
@@ -409,6 +409,7 @@
|
||||
<item quantity="one">%d karakter</item>
|
||||
<item quantity="other">%d karakter</item>
|
||||
</plurals>
|
||||
<string name="parsed_type">Jenis konten</string>
|
||||
<string name="parsed_type_otp">Kata sandi sekali pakai</string>
|
||||
<string name="parsed_type_json">JSON</string>
|
||||
<string name="parsed_type_international_driver_license">Surat Izin Mengemudi Internasional</string>
|
||||
|
||||
@@ -301,6 +301,7 @@
|
||||
<string name="scheme">Schema</string>
|
||||
<string name="host">Host</string>
|
||||
<string name="query">Richiesta</string>
|
||||
<string name="parsed_type">Tipo di contenuto</string>
|
||||
<string name="parsed_type_otp">Password mono uso</string>
|
||||
<string name="parsed_type_json">JSON</string>
|
||||
<string name="parsed_type_international_driver_license">Patente di guida internazionale</string>
|
||||
|
||||
@@ -409,6 +409,7 @@
|
||||
<item quantity="one">%d 文字</item>
|
||||
<item quantity="other">%d 文字</item>
|
||||
</plurals>
|
||||
<string name="parsed_type">コンテンツの種類</string>
|
||||
<string name="parsed_type_otp">ワンタイムパスワード</string>
|
||||
<string name="parsed_type_json">JSON</string>
|
||||
<string name="parsed_type_international_driver_license">国際運転免許証</string>
|
||||
|
||||
@@ -411,6 +411,7 @@
|
||||
<item quantity="one">%d სიმბოლო</item>
|
||||
<item quantity="other">%d სიმბოლო</item>
|
||||
</plurals>
|
||||
<string name="parsed_type">შიგთავსის ტიპი</string>
|
||||
<string name="parsed_type_otp">ერთჯერადი პაროლი</string>
|
||||
<string name="parsed_type_json">JSON</string>
|
||||
<string name="parsed_type_international_driver_license">საერთაშორისო მართვის მოწმობა</string>
|
||||
|
||||
@@ -409,6 +409,7 @@
|
||||
<item quantity="one">%d자</item>
|
||||
<item quantity="other">%d자</item>
|
||||
</plurals>
|
||||
<string name="parsed_type">콘텐츠 유형</string>
|
||||
<string name="parsed_type_otp">일회용 비밀번호</string>
|
||||
<string name="parsed_type_json">JSON</string>
|
||||
<string name="parsed_type_international_driver_license">국제 운전 면허증</string>
|
||||
|
||||
@@ -306,6 +306,7 @@
|
||||
<string name="background_request_failed">Fona pieprasījums neizdevās</string>
|
||||
<string name="email_body">Ziņojums</string>
|
||||
<string name="scheme">Shēma</string>
|
||||
<string name="parsed_type">Satura tips</string>
|
||||
<string name="parsed_type_otp">Vienreizējā parole</string>
|
||||
<string name="parsed_type_json">JSON</string>
|
||||
<string name="parsed_type_international_driver_license">Starptautiska vadītāja apliecība</string>
|
||||
|
||||
@@ -411,6 +411,7 @@
|
||||
<item quantity="one">%d teken</item>
|
||||
<item quantity="other">%d tekens</item>
|
||||
</plurals>
|
||||
<string name="parsed_type">Inhoudstype</string>
|
||||
<string name="parsed_type_otp">Eenmalig wachtwoord</string>
|
||||
<string name="parsed_type_json">JSON</string>
|
||||
<string name="parsed_type_international_driver_license">Internationaal rijbewijs</string>
|
||||
|
||||
@@ -419,6 +419,7 @@
|
||||
<item quantity="many">%d znaków</item>
|
||||
<item quantity="other">%d znaku</item>
|
||||
</plurals>
|
||||
<string name="parsed_type">Typ treści</string>
|
||||
<string name="parsed_type_otp">Hasło jednorazowe</string>
|
||||
<string name="parsed_type_json">JSON</string>
|
||||
<string name="parsed_type_international_driver_license">Międzynarodowe prawo jazdy</string>
|
||||
|
||||
@@ -411,6 +411,7 @@
|
||||
<item quantity="one">%d caractere</item>
|
||||
<item quantity="other">%d caracteres</item>
|
||||
</plurals>
|
||||
<string name="parsed_type">Tipo de conteúdo</string>
|
||||
<string name="parsed_type_otp">Senha de uso único</string>
|
||||
<string name="parsed_type_json">JSON</string>
|
||||
<string name="parsed_type_international_driver_license">Carteira Internacional de Habilitação</string>
|
||||
|
||||
@@ -419,6 +419,7 @@
|
||||
<item quantity="many">%d символов</item>
|
||||
<item quantity="other">%d символов</item>
|
||||
</plurals>
|
||||
<string name="parsed_type">Тип содержимого</string>
|
||||
<string name="parsed_type_otp">Одноразовый пароль</string>
|
||||
<string name="parsed_type_json">JSON</string>
|
||||
<string name="parsed_type_international_driver_license">Международное водительское удостоверение</string>
|
||||
|
||||
@@ -411,6 +411,7 @@
|
||||
<item quantity="one">%d karakter</item>
|
||||
<item quantity="other">%d karakter</item>
|
||||
</plurals>
|
||||
<string name="parsed_type">İçerik türü</string>
|
||||
<string name="parsed_type_otp">Tek kullanımlık parola</string>
|
||||
<string name="parsed_type_json">JSON</string>
|
||||
<string name="parsed_type_international_driver_license">Uluslararası sürücü belgesi</string>
|
||||
|
||||
@@ -419,6 +419,7 @@
|
||||
<item quantity="many">%d символів</item>
|
||||
<item quantity="other">%d символів</item>
|
||||
</plurals>
|
||||
<string name="parsed_type">Тип вмісту</string>
|
||||
<string name="parsed_type_otp">Одноразовий пароль</string>
|
||||
<string name="parsed_type_json">JSON</string>
|
||||
<string name="parsed_type_international_driver_license">Міжнародне водійське посвідчення</string>
|
||||
|
||||
@@ -409,6 +409,7 @@
|
||||
<item quantity="one">%d ký tự</item>
|
||||
<item quantity="other">%d ký tự</item>
|
||||
</plurals>
|
||||
<string name="parsed_type">Loại nội dung</string>
|
||||
<string name="parsed_type_otp">Mật khẩu dùng một lần</string>
|
||||
<string name="parsed_type_json">JSON</string>
|
||||
<string name="parsed_type_international_driver_license">Giấy phép lái xe quốc tế</string>
|
||||
|
||||
@@ -409,6 +409,7 @@
|
||||
<item quantity="one">%d 个字符</item>
|
||||
<item quantity="other">%d 个字符</item>
|
||||
</plurals>
|
||||
<string name="parsed_type">内容类型</string>
|
||||
<string name="parsed_type_otp">一次性密码</string>
|
||||
<string name="parsed_type_json">JSON</string>
|
||||
<string name="parsed_type_international_driver_license">国际驾驶执照</string>
|
||||
|
||||
@@ -409,6 +409,7 @@
|
||||
<item quantity="one">%d 個字元</item>
|
||||
<item quantity="other">%d 個字元</item>
|
||||
</plurals>
|
||||
<string name="parsed_type">內容類型</string>
|
||||
<string name="parsed_type_otp">一次性密碼</string>
|
||||
<string name="parsed_type_json">JSON</string>
|
||||
<string name="parsed_type_international_driver_license">國際駕駛執照</string>
|
||||
|
||||
@@ -9,5 +9,5 @@
|
||||
<string name="sha1">SHA1</string>
|
||||
<string name="sha256">SHA256</string>
|
||||
<string name="scan_meta_data">%1$s • %2$s</string>
|
||||
<string name="parsed_type_deutsche_post">Deutsche Post</string>
|
||||
<string name="parsed_type_deutsche_post">Deutsche Post Matrix Code</string>
|
||||
</resources>
|
||||
|
||||
@@ -301,6 +301,7 @@
|
||||
<string name="scheme">Scheme</string>
|
||||
<string name="host">Host</string>
|
||||
<string name="query">Query</string>
|
||||
<string name="parsed_type">Content Type</string>
|
||||
<string name="parsed_type_otp">One-Time Password</string>
|
||||
<string name="parsed_type_json">JSON</string>
|
||||
<string name="parsed_type_international_driver_license">International Driver License</string>
|
||||
|
||||
Reference in New Issue
Block a user