0
0
mirror of https://github.com/TrianguloY/UrlChecker.git synced 2024-09-19 20:02:16 +02:00

Long tap share to copy to clipboard

This commit is contained in:
TrianguloY 2020-09-29 09:50:27 +02:00
parent cc5a61a9c1
commit c4f9639093
3 changed files with 35 additions and 3 deletions

View File

@ -12,6 +12,7 @@ android {
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}

View File

@ -1,5 +1,8 @@
package com.trianguloy.urlchecker.modules.list;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuItem;
@ -7,6 +10,7 @@ import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.PopupMenu;
import android.widget.Toast;
import com.trianguloy.urlchecker.R;
import com.trianguloy.urlchecker.activities.ConfigActivity;
@ -47,7 +51,7 @@ public class OpenModule extends AModuleData {
}
}
class OpenDialog extends AModuleDialog implements View.OnClickListener, PopupMenu.OnMenuItemClickListener {
class OpenDialog extends AModuleDialog implements View.OnClickListener, PopupMenu.OnMenuItemClickListener, View.OnLongClickListener {
private LastOpened lastOpened;
@ -72,7 +76,9 @@ class OpenDialog extends AModuleDialog implements View.OnClickListener, PopupMen
btn_open.setOnClickListener(this);
btn_openWith = views.findViewById(R.id.open_with);
btn_openWith.setOnClickListener(this);
views.findViewById(R.id.share).setOnClickListener(this);
View btn_share = views.findViewById(R.id.share);
btn_share.setOnClickListener(this);
btn_share.setOnLongClickListener(this);
popup = new PopupMenu(getActivity(), btn_open);
@ -104,6 +110,18 @@ class OpenDialog extends AModuleDialog implements View.OnClickListener, PopupMen
}
}
@Override
public boolean onLongClick(View v) {
switch (v.getId()) {
case R.id.share:
copyToClipboard();
break;
default:
return false;
}
return true;
}
// ------------------- PopupMenu.OnMenuItemClickListener -------------------
@Override
@ -180,4 +198,16 @@ class OpenDialog extends AModuleDialog implements View.OnClickListener, PopupMen
Intent shareIntent = Intent.createChooser(sendIntent, getActivity().getString(R.string.mOpen_share));
getActivity().startActivity(shareIntent);
}
/**
* Copy the url to the clipboard
*/
private void copyToClipboard() {
ClipboardManager clipboard = (ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("", getUrl());
if (clipboard != null) {
clipboard.setPrimaryClip(clip);
Toast.makeText(getActivity(), R.string.mO_clipboard, Toast.LENGTH_LONG).show();
}
}
}

View File

@ -35,11 +35,12 @@
<string name="mOpen_with">Open with %s</string>
<string name="mOpen_open">Open</string>
<string name="mOpen_share">Share</string>
<string name="mO_clipboard">Url copied to clipboard</string>
<string name="mRedir_name">Redirection</string>
<string name="mRedir_desc">By pressing the redirect button a petition will be made to retrieve that url. If the result is a redirection, the new url will be replaced (can be undo). The url is fetched, but not evaluated, so redirection based on javascript won\'t be detected.</string>
<string name="mRedir_error">Error when following redirect</string>
<string name="mRedir_final">No redirection, final URL, try to scan now</string>
<string name="mRedir_final">No redirection, final URL.</string>
<string name="mRedir_check">Check</string>
<string name="mRedir_undo">Undo</string>