commit 0e38eafc11c16f9e9aaf8f799b95c4a94930d4ba
parent 6393c8d814a914aa04fc259c889767311c62dece
Author: t3sserakt <t3ss@posteo.de>
Date: Mon, 8 Dec 2025 12:17:59 +0100
parcelable dto I-implementation
Diffstat:
3 files changed, 117 insertions(+), 0 deletions(-)
diff --git a/GNUnetMessenger/app/src/main/java/org/gnunet/gnunetmessenger/ipc/ChatAccountDto.kt b/GNUnetMessenger/app/src/main/java/org/gnunet/gnunetmessenger/ipc/ChatAccountDto.kt
@@ -0,0 +1,34 @@
+package org.gnunet.gnunetmessenger.ipc
+
+import android.os.Parcelable
+import android.os.Parcel
+
+data class ChatAccountDto(
+ var key: String? = null,
+ var name: String? = null
+) : Parcelable {
+
+ constructor(parcel: Parcel) : this(
+ key = parcel.readString(),
+ name = parcel.readString()
+ )
+
+ override fun writeToParcel(parcel: Parcel, flags: Int) {
+ parcel.writeString(key)
+ parcel.writeString(name)
+ }
+
+ override fun describeContents(): Int {
+ return 0
+ }
+
+ companion object CREATOR : Parcelable.Creator<ChatAccountDto> {
+ override fun createFromParcel(parcel: Parcel): ChatAccountDto {
+ return ChatAccountDto(parcel)
+ }
+
+ override fun newArray(size: Int): Array<ChatAccountDto?> {
+ return arrayOfNulls(size)
+ }
+ }
+}
diff --git a/GNUnetMessenger/app/src/main/java/org/gnunet/gnunetmessenger/ipc/ChatContextDto.kt b/GNUnetMessenger/app/src/main/java/org/gnunet/gnunetmessenger/ipc/ChatContextDto.kt
@@ -0,0 +1,40 @@
+package org.gnunet.gnunetmessenger.ipc
+
+import android.os.Parcelable
+import android.os.Parcel
+
+data class ChatContextDto(
+ var chatContextType: Int = 0,
+ var userPointer: String? = null,
+ var isGroup: Boolean = false,
+ var isPlatform: Boolean = false
+) : Parcelable {
+
+ constructor(parcel: Parcel) : this(
+ chatContextType = parcel.readInt(),
+ userPointer = parcel.readString(),
+ isGroup = parcel.readByte() != 0.toByte(),
+ isPlatform = parcel.readByte() != 0.toByte()
+ )
+
+ override fun writeToParcel(parcel: Parcel, flags: Int) {
+ parcel.writeInt(chatContextType)
+ parcel.writeString(userPointer)
+ parcel.writeByte(if (isGroup) 1 else 0)
+ parcel.writeByte(if (isPlatform) 1 else 0)
+ }
+
+ override fun describeContents(): Int {
+ return 0
+ }
+
+ companion object CREATOR : Parcelable.Creator<ChatContextDto> {
+ override fun createFromParcel(parcel: Parcel): ChatContextDto {
+ return ChatContextDto(parcel)
+ }
+
+ override fun newArray(size: Int): Array<ChatContextDto?> {
+ return arrayOfNulls(size)
+ }
+ }
+}
diff --git a/GNUnetMessenger/app/src/main/java/org/gnunet/gnunetmessenger/ipc/ChatMessageDto.kt b/GNUnetMessenger/app/src/main/java/org/gnunet/gnunetmessenger/ipc/ChatMessageDto.kt
@@ -0,0 +1,43 @@
+package org.gnunet.gnunetmessenger.ipc
+
+import android.os.Parcelable
+import android.os.Parcel
+
+data class ChatMessageDto(
+ var text: String? = null,
+ var timestamp: Long = 0L,
+ var kind: Int = 0,
+ var type: Int = 0,
+ var senderKey: String? = null
+) : Parcelable {
+
+ constructor(parcel: Parcel) : this(
+ text = parcel.readString(),
+ timestamp = parcel.readLong(),
+ kind = parcel.readInt(),
+ type = parcel.readInt(),
+ senderKey = parcel.readString()
+ )
+
+ override fun writeToParcel(parcel: Parcel, flags: Int) {
+ parcel.writeString(text)
+ parcel.writeLong(timestamp)
+ parcel.writeInt(kind)
+ parcel.writeInt(type)
+ parcel.writeString(senderKey)
+ }
+
+ override fun describeContents(): Int {
+ return 0
+ }
+
+ companion object CREATOR : Parcelable.Creator<ChatMessageDto> {
+ override fun createFromParcel(parcel: Parcel): ChatMessageDto {
+ return ChatMessageDto(parcel)
+ }
+
+ override fun newArray(size: Int): Array<ChatMessageDto?> {
+ return arrayOfNulls(size)
+ }
+ }
+}