From 04a9bbb15d490305cfafd8ea0a8577e6840002d4 Mon Sep 17 00:00:00 2001 From: bjbjorn Date: Thu, 18 May 2023 15:36:18 +0200 Subject: [PATCH] The copy URL button is now a preference that can be toggled on or off in the modules tab. --- .../urlchecker/modules/list/OpenModule.java | 21 +++++++++++++++---- app/src/main/res/layout/config_open.xml | 7 +++++++ app/src/main/res/values/strings.xml | 1 + 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/trianguloy/urlchecker/modules/list/OpenModule.java b/app/src/main/java/com/trianguloy/urlchecker/modules/list/OpenModule.java index 3be9a74..d4ba849 100644 --- a/app/src/main/java/com/trianguloy/urlchecker/modules/list/OpenModule.java +++ b/app/src/main/java/com/trianguloy/urlchecker/modules/list/OpenModule.java @@ -43,6 +43,10 @@ public class OpenModule extends AModuleData { return new GenericPref.Bool("open_noReferrer", true, cntx); } + public static GenericPref.Bool MERGEBUTTON_PREF(Context cntx) { + return new GenericPref.Bool("", false, cntx); + } + @Override public String getId() { return "open"; @@ -71,6 +75,7 @@ class OpenDialog extends AModuleDialog { private final GenericPref.Bool closeOpenPref; private final GenericPref.Bool closeSharePref; private final GenericPref.Bool noReferrerPref; + private final GenericPref.Bool mergePref; private final GenericPref.Enumeration ctabsPref; private boolean ctabs = false; @@ -89,6 +94,8 @@ class OpenDialog extends AModuleDialog { closeOpenPref = OpenModule.CLOSEOPEN_PREF(dialog); closeSharePref = OpenModule.CLOSESHARE_PREF(dialog); noReferrerPref = OpenModule.NOREFERRER_PREF(dialog); + mergePref = OpenModule.MERGEBUTTON_PREF(dialog); + } @Override @@ -149,10 +156,13 @@ class OpenDialog extends AModuleDialog { // init share View btn_share = views.findViewById(R.id.share); btn_share.setOnClickListener(v -> shareUrl()); - btn_share.setOnLongClickListener(v -> { - AndroidUtils.copyToClipboard(getActivity(), R.string.mOpen_clipboard, getUrl()); - return true; - }); + if (mergePref.get()) { + btn_copy.setVisibility(View.GONE); + btn_share.setOnLongClickListener(v -> { + AndroidUtils.copyToClipboard(getActivity(), R.string.mOpen_clipboard, getUrl()); + return true; + }); + } // init openWith popup popup = new PopupMenu(getActivity(), btn_open); @@ -317,6 +327,7 @@ class OpenConfig extends AModuleConfig { private final GenericPref.Bool closeOpenPref; private final GenericPref.Bool closeSharePref; private final GenericPref.Bool noReferrerPref; + private final GenericPref.Bool mergePref; private final GenericPref.Enumeration ctabsPref; private final GenericPref.Bool perDomainPref; @@ -328,6 +339,7 @@ class OpenConfig extends AModuleConfig { closeSharePref = OpenModule.CLOSESHARE_PREF(activity); noReferrerPref = OpenModule.NOREFERRER_PREF(activity); perDomainPref = LastOpened.PERDOMAIN_PREF(activity); + mergePref = OpenModule.MERGEBUTTON_PREF(activity); } @@ -347,6 +359,7 @@ class OpenConfig extends AModuleConfig { closeSharePref.attachToSwitch(views.findViewById(R.id.closeshare_pref)); noReferrerPref.attachToSwitch(views.findViewById(R.id.noReferrer)); perDomainPref.attachToSwitch(views.findViewById(R.id.perDomain)); + mergePref.attachToSwitch(views.findViewById((R.id.mergeButtons_pref))); } } diff --git a/app/src/main/res/layout/config_open.xml b/app/src/main/res/layout/config_open.xml index d5fea3b..d8782e9 100644 --- a/app/src/main/res/layout/config_open.xml +++ b/app/src/main/res/layout/config_open.xml @@ -58,4 +58,11 @@ android:layout_marginTop="@dimen/smallPadding" android:text="@string/mOpen_noReferrer" /> + + \ 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 8ca7f08..8a4cbb5 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -150,6 +150,7 @@ Note: if you edit the patterns, new built-in patterns from app updates will not Close dialog after sharing Sort different domains independently Hide the source app (referrer) + Merge Copy URL and Share into a single button (long press to copy) Open with %s Open Share