diff --git a/app/src/main/java/com/dano/test1/DatabaseDownloader.kt b/app/src/main/java/com/dano/test1/DatabaseDownloader.kt index 3c16f88..075c005 100644 --- a/app/src/main/java/com/dano/test1/DatabaseDownloader.kt +++ b/app/src/main/java/com/dano/test1/DatabaseDownloader.kt @@ -13,7 +13,7 @@ import java.io.FileOutputStream object DatabaseDownloader { private const val DB_NAME = "questionnaire_database" - private const val SERVER_DOWNLOAD_URL = "http://49.13.157.44/exported_encrypted_database.db" + private const val SERVER_DOWNLOAD_URL = "http://49.13.157.44/uploads/exported_encrypted_database.db" private val client = OkHttpClient() @@ -58,7 +58,10 @@ object DatabaseDownloader { } decryptedFile.copyTo(dbFile, overwrite = true) - Log.d("DOWNLOAD", "Neue Datenbank erfolgreich eingesetzt.") + Log.d("DOWNLOAD", "Neue Datenbank erfolgreich eingesetzt") + + // Datenbankinhalt nach Download ausgeben (Hex-String) + logFileContentAsHex(dbFile, "DOWNLOAD") } catch (e: Exception) { Log.e("DOWNLOAD", "Fehler beim Download oder Ersetzen der DB", e) @@ -71,4 +74,21 @@ object DatabaseDownloader { // TODO: hier echte Entschlüsselungslogik einfügen encryptedFile.copyTo(outputFile, overwrite = true) } + + private fun logFileContentAsHex(file: File, tag: String) { + try { + val bytes = file.readBytes() + // Zum Loggen den Hex-String in Blöcke teilen, max 4000 Zeichen pro Log (Android Logcat Limit) + val hexString = bytes.joinToString(separator = "") { "%02X".format(it) } + val chunkSize = 4000 + var start = 0 + while (start < hexString.length) { + val end = (start + chunkSize).coerceAtMost(hexString.length) + Log.d(tag, "DB HEX Content: ${hexString.substring(start, end)}") + start = end + } + } catch (e: Exception) { + Log.e(tag, "Fehler beim Lesen der Datei zum Loggen", e) + } + } } diff --git a/app/src/main/java/com/dano/test1/DatabaseUploader.kt b/app/src/main/java/com/dano/test1/DatabaseUploader.kt index 9ba2cf5..3755e34 100644 --- a/app/src/main/java/com/dano/test1/DatabaseUploader.kt +++ b/app/src/main/java/com/dano/test1/DatabaseUploader.kt @@ -33,6 +33,9 @@ object DatabaseUploader { return@launch } + // Datenbankinhalt vor Upload ausgeben (Hex-String) + logFileContentAsHex(dbFile, "UPLOAD") + val exportFile = File(context.cacheDir, ENCRYPTED_FILE_NAME) dbFile.copyTo(exportFile, overwrite = true) @@ -85,4 +88,21 @@ object DatabaseUploader { } }) } -} \ No newline at end of file + + private fun logFileContentAsHex(file: File, tag: String) { + try { + val bytes = file.readBytes() + // Zum Loggen den Hex-String in Blöcke teilen, max 4000 Zeichen pro Log (Android Logcat Limit) + val hexString = bytes.joinToString(separator = "") { "%02X".format(it) } + val chunkSize = 4000 + var start = 0 + while (start < hexString.length) { + val end = (start + chunkSize).coerceAtMost(hexString.length) + Log.d(tag, "DB HEX Content: ${hexString.substring(start, end)}") + start = end + } + } catch (e: Exception) { + Log.e(tag, "Fehler beim Lesen der Datei zum Loggen", e) + } + } +}