Browse Source

Implemented long click copy topic url

pull/64/head
Nikolaos Bampaliaris 5 years ago
parent
commit
2799a89386
  1. 59
      app/src/main/java/gr/thmmy/mthmmy/activities/topic/TopicActivity.java
  2. 2
      app/src/main/res/values/strings.xml

59
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.annotation.SuppressLint;
import android.app.NotificationManager; import android.app.NotificationManager;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.graphics.Rect; import android.graphics.Rect;
@ -162,6 +165,7 @@ public class TopicActivity extends BaseActivity implements TopicAdapter.OnPostFo
toolbarTitle.setMarqueeRepeatLimit(-1); toolbarTitle.setMarqueeRepeatLimit(-1);
toolbarTitle.setText(topicTitle); toolbarTitle.setText(topicTitle);
toolbarTitle.setSelected(true); toolbarTitle.setSelected(true);
this.setToolbarOnLongClickListener(topicPageUrl);
setSupportActionBar(toolbar); setSupportActionBar(toolbar);
if (getSupportActionBar() != null) { if (getSupportActionBar() != null) {
getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true);
@ -793,4 +797,59 @@ 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(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View 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.
catch (NullPointerException e)
{
//Create a new dialog builder.
AlertDialog.Builder builder = new AlertDialog.Builder(TopicActivity.this);
//Set UP the alert dialog.
builder.setMessage(getString(R.string.url_copy_does_not_work_msg));
builder.setTitle("ERROR");
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
});
//Create and show the alert dialog.
AlertDialog dialog = builder.create();
dialog.show();
}
return true;
}
});
}
} }

2
app/src/main/res/values/strings.xml

@ -231,4 +231,6 @@
<!-- New topic activity --> <!-- New topic activity -->
<string name="new_topic_toolbar">New topic</string> <string name="new_topic_toolbar">New topic</string>
<string name="create_topic">Create topic</string> <string name="create_topic">Create topic</string>
<string name="url_copied_msg">Url copied</string>
<string name="url_copy_does_not_work_msg">There was a problem copying the url. Probably your device does not support this functionality</string>
</resources> </resources>

Loading…
Cancel
Save