From 2ed6dd07b8604973d123afafd4d1c1e43e605ac6 Mon Sep 17 00:00:00 2001
From: Naveen Singh <36371707+naveensingh@users.noreply.github.com>
Date: Wed, 15 Oct 2025 21:12:24 +0530
Subject: [PATCH] feat: always show pin/unpin as action (#561)
* feat: always show pin/unpin as action
* docs: update changelog
---
CHANGELOG.md | 2 ++
.../messages/adapters/ConversationsAdapter.kt | 2 +-
.../main/res/drawable/ic_archive_vector.xml | 2 +-
app/src/main/res/drawable/ic_pin_vector.xml | 3 +++
.../main/res/drawable/ic_unarchive_vector.xml | 2 +-
app/src/main/res/drawable/ic_unpin_vector.xml | 3 +++
app/src/main/res/menu/cab_conversations.xml | 24 +++++++++----------
7 files changed, 23 insertions(+), 15 deletions(-)
create mode 100644 app/src/main/res/drawable/ic_pin_vector.xml
create mode 100644 app/src/main/res/drawable/ic_unpin_vector.xml
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4ee7b1e2..e76b5805 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed
- Optimized loading messages in conversations
- Updated conversation item design to be more compact ([#376])
+- Pin/unpin actions now always show as action buttons in menu ([#561])
### Fixed
- Fixed position reset when opening attachments in conversations ([#82])
@@ -182,6 +183,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
[#376]: https://github.com/FossifyOrg/Messages/issues/376
[#456]: https://github.com/FossifyOrg/Messages/issues/456
[#461]: https://github.com/FossifyOrg/Messages/issues/461
+[#561]: https://github.com/FossifyOrg/Messages/pull/561
[Unreleased]: https://github.com/FossifyOrg/Messages/compare/1.4.0...HEAD
[1.4.0]: https://github.com/FossifyOrg/Messages/compare/1.3.0...1.4.0
diff --git a/app/src/main/kotlin/org/fossify/messages/adapters/ConversationsAdapter.kt b/app/src/main/kotlin/org/fossify/messages/adapters/ConversationsAdapter.kt
index d4b0b620..25749023 100644
--- a/app/src/main/kotlin/org/fossify/messages/adapters/ConversationsAdapter.kt
+++ b/app/src/main/kotlin/org/fossify/messages/adapters/ConversationsAdapter.kt
@@ -312,7 +312,7 @@ class ConversationsAdapter(
menu.findItem(R.id.cab_pin_conversation).isVisible =
selectedConversations.any { !pinnedConversations.contains(it.threadId.toString()) }
menu.findItem(R.id.cab_unpin_conversation).isVisible =
- selectedConversations.any { pinnedConversations.contains(it.threadId.toString()) }
+ selectedConversations.all { pinnedConversations.contains(it.threadId.toString()) }
}
private fun refreshConversationsAndFinishActMode() {
diff --git a/app/src/main/res/drawable/ic_archive_vector.xml b/app/src/main/res/drawable/ic_archive_vector.xml
index 0617d995..a05d34dd 100644
--- a/app/src/main/res/drawable/ic_archive_vector.xml
+++ b/app/src/main/res/drawable/ic_archive_vector.xml
@@ -1,3 +1,3 @@
-
+
diff --git a/app/src/main/res/drawable/ic_pin_vector.xml b/app/src/main/res/drawable/ic_pin_vector.xml
new file mode 100644
index 00000000..dc3bfcf3
--- /dev/null
+++ b/app/src/main/res/drawable/ic_pin_vector.xml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_unarchive_vector.xml b/app/src/main/res/drawable/ic_unarchive_vector.xml
index f4a3b76e..b7c74e1b 100644
--- a/app/src/main/res/drawable/ic_unarchive_vector.xml
+++ b/app/src/main/res/drawable/ic_unarchive_vector.xml
@@ -1,3 +1,3 @@
-
+
diff --git a/app/src/main/res/drawable/ic_unpin_vector.xml b/app/src/main/res/drawable/ic_unpin_vector.xml
new file mode 100644
index 00000000..2ed20e20
--- /dev/null
+++ b/app/src/main/res/drawable/ic_unpin_vector.xml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/app/src/main/res/menu/cab_conversations.xml b/app/src/main/res/menu/cab_conversations.xml
index 54c881b8..e752b7eb 100644
--- a/app/src/main/res/menu/cab_conversations.xml
+++ b/app/src/main/res/menu/cab_conversations.xml
@@ -3,6 +3,18 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:ignore="AppCompatResource,AlwaysShowAction">
+
+
-
-