diff --git a/app/src/main/java/gr/thmmy/mthmmy/activities/topic/TopicActivity.java b/app/src/main/java/gr/thmmy/mthmmy/activities/topic/TopicActivity.java
index 2bb084e3..b5349d0b 100644
--- a/app/src/main/java/gr/thmmy/mthmmy/activities/topic/TopicActivity.java
+++ b/app/src/main/java/gr/thmmy/mthmmy/activities/topic/TopicActivity.java
@@ -2,7 +2,10 @@ package gr.thmmy.mthmmy.activities.topic;
import android.annotation.SuppressLint;
import android.app.NotificationManager;
+import android.content.ClipData;
+import android.content.ClipboardManager;
import android.content.Context;
+import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Rect;
@@ -162,6 +165,7 @@ public class TopicActivity extends BaseActivity implements TopicAdapter.OnPostFo
toolbarTitle.setMarqueeRepeatLimit(-1);
toolbarTitle.setText(topicTitle);
toolbarTitle.setSelected(true);
+ this.setToolbarOnLongClickListener(topicPageUrl);
setSupportActionBar(toolbar);
if (getSupportActionBar() != null) {
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
@@ -793,4 +797,31 @@ public class TopicActivity extends BaseActivity implements TopicAdapter.OnPostFo
}
});
}
+
+ /**This method sets a long click listener on the title of the topic. Once the
+ * listener gets triggered, it copies the link url of the topic in the clipboard.
+ * This method is getting called on the onCreate() of the TopicActivity*/
+ void setToolbarOnLongClickListener(String url) {
+ toolbar.setOnLongClickListener(view -> {
+ //Try to set the clipboard text
+ try {
+ //Create a ClipboardManager
+ ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
+
+ clipboard.setPrimaryClip(ClipData.newPlainText(BUNDLE_TOPIC_URL, url));
+
+ //Make a toast to inform the user that the url was copied
+ Toast.makeText(
+ TopicActivity.this,
+ TopicActivity.this.getString(R.string.url_copied_msg),
+ Toast.LENGTH_SHORT).show();
+ }
+ //Something happened. Probably the device does not support this (report to Firebase)
+ catch (NullPointerException e) {
+ Timber.e(e, "Error while trying to copy topic's url.");
+ }
+
+ return true;
+ });
+ }
}
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 0199788b..1593d8ae 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -231,4 +231,5 @@
New topic
Create topic
+ URL copied