mirror of
https://github.com/TrianguloY/UrlChecker.git
synced 2024-09-20 04:12:14 +02:00
Extract copy to clipboard
This commit is contained in:
parent
8fff9e8c4d
commit
9c597d3497
@ -1,13 +1,8 @@
|
||||
package com.trianguloy.urlchecker.modules.list;
|
||||
|
||||
import android.content.ClipData;
|
||||
import android.content.ClipboardManager;
|
||||
import android.content.Context;
|
||||
import android.os.Build;
|
||||
import android.view.View;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.trianguloy.urlchecker.R;
|
||||
import com.trianguloy.urlchecker.activities.ConfigActivity;
|
||||
@ -17,6 +12,7 @@ import com.trianguloy.urlchecker.modules.AModuleData;
|
||||
import com.trianguloy.urlchecker.modules.AModuleDialog;
|
||||
import com.trianguloy.urlchecker.services.CustomTabs;
|
||||
import com.trianguloy.urlchecker.url.UrlData;
|
||||
import com.trianguloy.urlchecker.utilities.AndroidUtils;
|
||||
import com.trianguloy.urlchecker.utilities.GenericPref;
|
||||
|
||||
/**
|
||||
@ -89,10 +85,10 @@ class DebugDialog extends AModuleDialog implements View.OnClickListener ,View.On
|
||||
public void onClick(View v) {
|
||||
switch (v.getId()) {
|
||||
case R.id.intent:
|
||||
copyToClipboard(R.string.mD_copyIntent, txt_intent.getText().toString());
|
||||
AndroidUtils.copyToClipboard(getActivity(), R.string.mD_copyIntent, txt_intent.getText().toString());
|
||||
break;
|
||||
case R.id.urlData:
|
||||
copyToClipboard(R.string.mD_copyUrlData, txt_urlData.getText().toString());
|
||||
AndroidUtils.copyToClipboard(getActivity(), R.string.mD_copyUrlData, txt_urlData.getText().toString());
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -102,27 +98,13 @@ class DebugDialog extends AModuleDialog implements View.OnClickListener ,View.On
|
||||
switch (v.getId()) {
|
||||
case R.id.intent:
|
||||
case R.id.urlData:
|
||||
copyToClipboard(R.string.mD_copyAll, txt_intent.getText() + "\n" + txt_urlData.getText());
|
||||
AndroidUtils.copyToClipboard(getActivity(), R.string.mD_copyAll, txt_intent.getText() + "\n" + txt_urlData.getText());
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Copy to the clipboard, retrieves string from id
|
||||
*/
|
||||
private void copyToClipboard(int id, String text) {
|
||||
ClipboardManager clipboard = (ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE);
|
||||
if (clipboard == null) return;
|
||||
|
||||
clipboard.setPrimaryClip(ClipData.newPlainText("", text));
|
||||
|
||||
// show toast to notify it was copied (except on Android 13+, where the device shows a popup itself)
|
||||
if (Build.VERSION.SDK_INT < /*Build.VERSION_CODES.TIRAMISU*/33)
|
||||
Toast.makeText(getActivity(), id, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
}
|
||||
|
||||
class DebugConfig extends AModuleConfig {
|
||||
|
@ -1,11 +1,7 @@
|
||||
package com.trianguloy.urlchecker.modules.list;
|
||||
|
||||
import android.content.ClipData;
|
||||
import android.content.ClipboardManager;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
@ -24,6 +20,7 @@ import com.trianguloy.urlchecker.modules.AModuleDialog;
|
||||
import com.trianguloy.urlchecker.modules.companions.CTabs;
|
||||
import com.trianguloy.urlchecker.modules.companions.LastOpened;
|
||||
import com.trianguloy.urlchecker.url.UrlData;
|
||||
import com.trianguloy.urlchecker.utilities.AndroidUtils;
|
||||
import com.trianguloy.urlchecker.utilities.GenericPref;
|
||||
import com.trianguloy.urlchecker.utilities.PackageUtilities;
|
||||
import com.trianguloy.urlchecker.utilities.UrlUtilities;
|
||||
@ -190,7 +187,7 @@ class OpenDialog extends AModuleDialog implements View.OnClickListener, PopupMen
|
||||
Toast.makeText(getActivity(), R.string.mOpen_tabsDesc, Toast.LENGTH_SHORT).show();
|
||||
break;
|
||||
case R.id.share:
|
||||
copyToClipboard();
|
||||
AndroidUtils.copyToClipboard(getActivity(), R.string.mOpen_clipboard, getUrl());
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
@ -317,20 +314,6 @@ class OpenDialog extends AModuleDialog implements View.OnClickListener, PopupMen
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Copy the url to the clipboard
|
||||
*/
|
||||
private void copyToClipboard() {
|
||||
ClipboardManager clipboard = (ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE);
|
||||
if (clipboard == null) return;
|
||||
|
||||
clipboard.setPrimaryClip(ClipData.newPlainText("", getUrl()));
|
||||
|
||||
// show toast to notify it was copied (except on Android 13+, where the device shows a popup itself)
|
||||
if (Build.VERSION.SDK_INT < /*Build.VERSION_CODES.TIRAMISU*/33)
|
||||
Toast.makeText(getActivity(), R.string.mOpen_clipboard, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
|
||||
/**
|
||||
* Toggle the custom tabs state
|
||||
*/
|
||||
|
@ -1,6 +1,8 @@
|
||||
package com.trianguloy.urlchecker.utilities;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.ClipData;
|
||||
import android.content.ClipboardManager;
|
||||
import android.content.Context;
|
||||
import android.content.res.Configuration;
|
||||
import android.graphics.PorterDuff;
|
||||
@ -11,6 +13,7 @@ import android.text.style.ClickableSpan;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.trianguloy.urlchecker.BuildConfig;
|
||||
import com.trianguloy.urlchecker.R;
|
||||
@ -109,4 +112,25 @@ public class AndroidUtils {
|
||||
: cntx.getResources().getConfiguration().locale
|
||||
).format(new Date(millis));
|
||||
}
|
||||
|
||||
/**
|
||||
* Copy to the clipboard, retrieves string from id
|
||||
*/
|
||||
public static void copyToClipboard(Activity activity, int id, String text) {
|
||||
copyToClipboard(activity, activity.getString(id), text);
|
||||
}
|
||||
|
||||
/**
|
||||
* Copy to the clipboard
|
||||
*/
|
||||
public static void copyToClipboard(Activity activity, String toast, String text) {
|
||||
ClipboardManager clipboard = (ClipboardManager) activity.getSystemService(Context.CLIPBOARD_SERVICE);
|
||||
if (clipboard == null) return;
|
||||
|
||||
clipboard.setPrimaryClip(ClipData.newPlainText("", text));
|
||||
|
||||
// show toast to notify it was copied (except on Android 13+, where the device shows a popup itself)
|
||||
if (Build.VERSION.SDK_INT < /*Build.VERSION_CODES.TIRAMISU*/33)
|
||||
Toast.makeText(activity, toast, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
}
|
||||
|
@ -7,7 +7,7 @@ buildscript {
|
||||
mavenCentral()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:7.3.0'
|
||||
classpath 'com.android.tools.build:gradle:7.2.2'
|
||||
|
||||
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
|
Loading…
Reference in New Issue
Block a user