diff --git a/app/src/main/java/net/underdesk/circolapp/adapters/AttachmentAdapter.kt b/app/src/main/java/net/underdesk/circolapp/adapters/AttachmentAdapter.kt
index 0df91ae..64a1f58 100644
--- a/app/src/main/java/net/underdesk/circolapp/adapters/AttachmentAdapter.kt
+++ b/app/src/main/java/net/underdesk/circolapp/adapters/AttachmentAdapter.kt
@@ -39,6 +39,7 @@ class AttachmentAdapter(
inner class AttachmentViewHolder(binding: ItemAttachmentBinding) : RecyclerView.ViewHolder(binding.root) {
var title: TextView = binding.attachmentTitleTextview
var viewButton: ImageButton = binding.attachmentViewButton
+ var shareButton: ImageButton = binding.attachmentShareButton
var downloadButton: ImageButton = binding.attachmentDownloadButton
}
@@ -56,6 +57,10 @@ class AttachmentAdapter(
FileUtils.viewFile(attachmentsUrls[position], context)
}
+ holder.shareButton.setOnClickListener {
+ FileUtils.shareFile(attachmentsUrls[position], context)
+ }
+
holder.downloadButton.setOnClickListener {
val file = DownloadableFile(attachmentsNames[position], attachmentsUrls[position])
FileUtils.downloadFile(file, adapterCallback, context)
diff --git a/app/src/main/java/net/underdesk/circolapp/adapters/CircularLetterAdapter.kt b/app/src/main/java/net/underdesk/circolapp/adapters/CircularLetterAdapter.kt
index f509830..9079a85 100644
--- a/app/src/main/java/net/underdesk/circolapp/adapters/CircularLetterAdapter.kt
+++ b/app/src/main/java/net/underdesk/circolapp/adapters/CircularLetterAdapter.kt
@@ -62,6 +62,7 @@ class CircularLetterAdapter(
var date: TextView = binding.circularDateTextview
var collapseButton: ImageButton = binding.circularCollapseButton
var viewButton: ImageButton = binding.circularViewButton
+ var shareButton: ImageButton = binding.circularShareButton
var downloadButton: ImageButton = binding.circularDownloadButton
var favouriteButton: ImageButton = binding.circularFavouriteButton
var reminderButton: ImageButton = binding.circularReminderButton
@@ -118,6 +119,7 @@ class CircularLetterAdapter(
holder.collapseButton.contentDescription = context.getString(R.string.image_expand)
holder.viewButton.visibility = View.GONE
+ holder.shareButton.visibility = View.GONE
holder.downloadButton.visibility = View.GONE
holder.favouriteButton.visibility = View.GONE
holder.reminderButton.visibility = View.GONE
@@ -134,6 +136,7 @@ class CircularLetterAdapter(
holder.collapseButton.contentDescription = context.getString(R.string.image_collapse)
holder.viewButton.visibility = View.VISIBLE
+ holder.shareButton.visibility = View.VISIBLE
holder.downloadButton.visibility = View.VISIBLE
holder.favouriteButton.visibility = View.VISIBLE
holder.reminderButton.visibility = View.VISIBLE
@@ -154,6 +157,10 @@ class CircularLetterAdapter(
FileUtils.viewFile(circulars[position].url, context)
}
+ holder.shareButton.setOnClickListener {
+ FileUtils.shareFile(circulars[position].url, context)
+ }
+
holder.downloadButton.setOnClickListener {
val file = DownloadableFile(circulars[position].name, circulars[position].url)
FileUtils.downloadFile(file, adapterCallback, context)
diff --git a/app/src/main/java/net/underdesk/circolapp/utils/FileUtils.kt b/app/src/main/java/net/underdesk/circolapp/utils/FileUtils.kt
index 6f69911..26a1ad6 100644
--- a/app/src/main/java/net/underdesk/circolapp/utils/FileUtils.kt
+++ b/app/src/main/java/net/underdesk/circolapp/utils/FileUtils.kt
@@ -43,6 +43,17 @@ object FileUtils {
context.startActivity(viewIntent)
}
+ fun shareFile(url: String, context: Context) {
+ val sendIntent: Intent = Intent().apply {
+ action = Intent.ACTION_SEND
+ putExtra(Intent.EXTRA_TEXT, url)
+ type = "text/plain"
+ }
+
+ val shareIntent = Intent.createChooser(sendIntent, null)
+ context.startActivity(shareIntent)
+ }
+
fun downloadFile(
file: DownloadableFile,
adapterCallback: CircularLetterAdapter.AdapterCallback,
diff --git a/app/src/main/res/drawable/baseline_share_24.xml b/app/src/main/res/drawable/baseline_share_24.xml
new file mode 100644
index 0000000..4505f47
--- /dev/null
+++ b/app/src/main/res/drawable/baseline_share_24.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/layout/item_attachment.xml b/app/src/main/res/layout/item_attachment.xml
index 7d4183e..26c6052 100644
--- a/app/src/main/res/layout/item_attachment.xml
+++ b/app/src/main/res/layout/item_attachment.xml
@@ -35,6 +35,19 @@
android:src="@drawable/baseline_visibility_24"
android:tint="@color/colorSecondary"
android:contentDescription="@string/image_view_attachment"
+ app:layout_constraintEnd_toStartOf="@+id/attachment_share_button"
+ app:layout_constraintTop_toTopOf="@+id/attachment_title_textview"
+ app:layout_constraintBottom_toBottomOf="@+id/attachment_title_textview" />
+
+
diff --git a/app/src/main/res/layout/item_circular.xml b/app/src/main/res/layout/item_circular.xml
index 048bd8f..a972fed 100644
--- a/app/src/main/res/layout/item_circular.xml
+++ b/app/src/main/res/layout/item_circular.xml
@@ -62,55 +62,71 @@
+
+
+ app:layout_constraintEnd_toStartOf="@+id/circular_favourite_button"
+ app:layout_constraintStart_toEndOf="@+id/circular_share_button" />
+ app:layout_constraintStart_toEndOf="@+id/circular_download_button" />
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toEndOf="@+id/circular_favourite_button" />
-
-
\ No newline at end of file
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 39193b1..7a37860 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -78,8 +78,10 @@
Rete non disponibile. I risultati potrebbero non essere aggiornati
Visualizza allegato
+ Condividi allegato
Scarica allegato
Visualizza circolare
+ Condividi circolare
Scarica circolare
Aggiungi ai preferiti
Aggiungi promemoria
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 4792ef1..7e4e9ac 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -79,8 +79,10 @@
Network not available. Results may be outdated
View attachment
+ Share attachment
Download attachment
View circular
+ Share circular
Download circular
Add to favourites
Add reminder