commit fdd181c242585b014bd1b082e49b5001b2ddc64b parent 61297b8b9bf45c60de2c382ecc252f496828d040 Author: t3sserakt <t3ss@posteo.de> Date: Tue, 14 Apr 2026 18:19:36 +0200 group creating Diffstat:
5 files changed, 17 insertions(+), 10 deletions(-)
diff --git a/GNUnetMessenger/app/src/main/java/org/gnunet/gnunetmessenger/ipc/DtoMappers.kt b/GNUnetMessenger/app/src/main/java/org/gnunet/gnunetmessenger/ipc/DtoMappers.kt @@ -16,14 +16,16 @@ fun ChatContactDto.toLocal(): ChatContact { chatContext = this.chatContext?.toLocal() ?: ChatContext(ChatContextType.CONTACT, null, false, false), name = this.name ?: "", key = this.key ?: "", - blocked = this.isBlocked + blocked = this.isBlocked, + userPointer = this.userPointer?.takeIf { it.isNotEmpty() } ) } fun ChatGroupDto.toLocal(): ChatGroup { return ChatGroup( chatContext = this.chatContext?.toLocal() ?: ChatContext(ChatContextType.GROUP, null, true, false), - name = this.name ?: "" + name = this.name ?: "", + userPointer = this.userPointer?.takeIf { it.isNotEmpty() } ) } @@ -78,12 +80,14 @@ fun ChatContact.toDto(): ChatContactDto = name = this@toDto.name key = this@toDto.key isBlocked = this@toDto.blocked + userPointer = this@toDto.userPointer } fun ChatGroup.toDto(): ChatGroupDto = ChatGroupDto().apply { chatContext = this@toDto.chatContext.toDto() name = this@toDto.name + userPointer = this@toDto.userPointer } fun ChatContext.toDto(): ChatContextDto = diff --git a/GNUnetMessenger/app/src/main/java/org/gnunet/gnunetmessenger/model/ChatContact.kt b/GNUnetMessenger/app/src/main/java/org/gnunet/gnunetmessenger/model/ChatContact.kt @@ -32,5 +32,6 @@ data class ChatContact( val chatContext: ChatContext, val name: String, val key: String = "", - var blocked: Boolean = false + var blocked: Boolean = false, + var userPointer: String? = null ) : Parcelable diff --git a/GNUnetMessenger/app/src/main/java/org/gnunet/gnunetmessenger/model/ChatGroup.kt b/GNUnetMessenger/app/src/main/java/org/gnunet/gnunetmessenger/model/ChatGroup.kt @@ -30,5 +30,6 @@ import kotlinx.parcelize.Parcelize @Parcelize data class ChatGroup ( val chatContext: ChatContext, - var name: String + var name: String, + var userPointer: String? = null ): Parcelable \ No newline at end of file diff --git a/GNUnetMessenger/app/src/main/java/org/gnunet/gnunetmessenger/ui/group/SelectGroupMembersFragment.kt b/GNUnetMessenger/app/src/main/java/org/gnunet/gnunetmessenger/ui/group/SelectGroupMembersFragment.kt @@ -47,14 +47,15 @@ class SelectGroupMembersFragment : Fragment(R.layout.fragment_select_group_membe private lateinit var adapter: ContactListAdapter private lateinit var gnunetChat: GnunetChat private lateinit var handle: ChatHandle + private lateinit var mainActivity: MainActivity private val viewModel: ContactListViewModel by activityViewModels() override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - val activity = requireActivity() as MainActivity - gnunetChat = activity.getGnunetChatInstance() - handle = activity.getChatHandle() + mainActivity = requireActivity() as MainActivity + gnunetChat = mainActivity.getGnunetChatInstance() + handle = mainActivity.getChatHandle() recyclerView = view.findViewById(R.id.contactRecyclerView) recyclerView.layoutManager = LinearLayoutManager(requireContext()) @@ -71,10 +72,10 @@ class SelectGroupMembersFragment : Fragment(R.layout.fragment_select_group_membe val groupName = arguments?.getString("groupName") ?: "New Group" val group = gnunetChat.createGroup(handle, groupName) - gnunetChat.setGroupName(group,groupName) selected.forEach { chatContact: ChatContact -> gnunetChat.inviteContactToGroup(group, chatContact) } + mainActivity.loadChats() findNavController().popBackStack() findNavController().popBackStack() } diff --git a/GNUnetMessenger/app/src/main/res/layout/fragment_select_group_members.xml b/GNUnetMessenger/app/src/main/res/layout/fragment_select_group_members.xml @@ -31,7 +31,7 @@ android:id="@+id/selectionHint" android:layout_width="match_parent" android:layout_height="wrap_content" - android:text="Select members for the group" + android:text="Invite members (optional — you can also invite later from the member list)" android:textAppearance="?android:attr/textAppearanceMedium" android:paddingBottom="8dp" /> @@ -46,6 +46,6 @@ android:id="@+id/btn_confirm_selection" android:layout_width="match_parent" android:layout_height="wrap_content" - android:text="create group" + android:text="Create group" android:layout_marginTop="12dp" /> </LinearLayout> \ No newline at end of file