diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml index 5c297a65e..ea0cb3b07 100644 --- a/.idea/codeStyles/Project.xml +++ b/.idea/codeStyles/Project.xml @@ -16,6 +16,7 @@ + diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.kt b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.kt index aa872d1e3..94f2d5d27 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.kt +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.kt @@ -37,11 +37,11 @@ import fr.free.nrw.commons.di.NetworkingModule import fr.free.nrw.commons.filepicker.FilePicker import fr.free.nrw.commons.media.MediaClient import fr.free.nrw.commons.profile.ProfileActivity -import fr.free.nrw.commons.utils.ClipboardUtils import fr.free.nrw.commons.utils.DialogUtil.showAlertDialog import fr.free.nrw.commons.utils.SystemThemeUtils import fr.free.nrw.commons.utils.UrlUtils import fr.free.nrw.commons.utils.ViewUtil.showShortToast +import fr.free.nrw.commons.utils.copyToClipboard import fr.free.nrw.commons.wikidata.model.WikiSite import org.apache.commons.lang3.StringUtils import javax.inject.Inject @@ -528,14 +528,13 @@ class ContributionsListFragment : CommonsDaggerSupportFragment(), ContributionsL */ override fun onConfirmClicked(contribution: Contribution?, copyWikicode: Boolean) { if (copyWikicode) { - val wikicode = contribution!!.media.wikiCode - ClipboardUtils.copy("wikicode", wikicode, context) + requireContext().copyToClipboard("wikicode", contribution!!.media.wikiCode) } val url = languageWikipediaSite!!.mobileUrl() + "/wiki/" + (contribution!!.wikidataPlace ?.getWikipediaPageTitle()) - UrlUtils.handleWebUrl(context, Uri.parse(url)) + UrlUtils.handleWebUrl(requireContext(), Uri.parse(url)) } fun getContributionStateAt(position: Int): Int { diff --git a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.kt b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.kt index b5882fae6..23c5aef26 100644 --- a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.kt +++ b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.kt @@ -122,6 +122,7 @@ import fr.free.nrw.commons.utils.UrlUtils import fr.free.nrw.commons.utils.ViewUtil import fr.free.nrw.commons.utils.ViewUtil.showShortToast import fr.free.nrw.commons.utils.ViewUtilWrapper +import fr.free.nrw.commons.utils.copyToClipboard import fr.free.nrw.commons.utils.setUnderlinedText import fr.free.nrw.commons.wikidata.mwapi.MwQueryPage.Revision import io.reactivex.Observable @@ -927,10 +928,10 @@ class MediaDetailFragment : CommonsDaggerSupportFragment(), CategoryEditHelper.C private fun onCopyWikicodeClicked() { val data: String = "[[" + media!!.filename + "|thumb|" + media!!.fallbackDescription + "]]" - ClipboardUtils.copy("wikiCode", data, context) + requireContext().copyToClipboard("wikiCode", data) Timber.d("Generated wikidata copy code: %s", data) - Toast.makeText(context, getString(R.string.wikicode_copied), Toast.LENGTH_SHORT) + Toast.makeText(requireContext(), getString(R.string.wikicode_copied), Toast.LENGTH_SHORT) .show() } diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.kt b/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.kt index 32aab45db..6df4e4d55 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.kt +++ b/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.kt @@ -106,6 +106,7 @@ import fr.free.nrw.commons.utils.NetworkUtils.isInternetConnectionEstablished import fr.free.nrw.commons.utils.SystemThemeUtils import fr.free.nrw.commons.utils.UrlUtils import fr.free.nrw.commons.utils.ViewUtil.showLongToast +import fr.free.nrw.commons.utils.copyToClipboard import fr.free.nrw.commons.wikidata.WikidataConstants import fr.free.nrw.commons.wikidata.WikidataEditListener import fr.free.nrw.commons.wikidata.WikidataEditListener.WikidataP18EditListener @@ -1017,11 +1018,10 @@ class NearbyParentFragment : CommonsDaggerSupportFragment(), */ private fun addActionToTitle() { binding!!.bottomSheetDetails.title.setOnLongClickListener { view -> - ClipboardUtils.copy( - "place", binding!!.bottomSheetDetails.title.text.toString(), - context + requireContext().copyToClipboard( + "place", binding!!.bottomSheetDetails.title.text.toString() ) - Toast.makeText(context, fr.free.nrw.commons.R.string.text_copy, Toast.LENGTH_SHORT) + Toast.makeText(requireContext(), fr.free.nrw.commons.R.string.text_copy, Toast.LENGTH_SHORT) .show() true } diff --git a/app/src/main/java/fr/free/nrw/commons/utils/ClipboardUtils.java b/app/src/main/java/fr/free/nrw/commons/utils/ClipboardUtils.java deleted file mode 100644 index d79842483..000000000 --- a/app/src/main/java/fr/free/nrw/commons/utils/ClipboardUtils.java +++ /dev/null @@ -1,18 +0,0 @@ -package fr.free.nrw.commons.utils; - -import android.content.ClipData; -import android.content.ClipboardManager; -import android.content.Context; - -public final class ClipboardUtils { - - /* - *Copies the content to the clipboard - * - */ - public static void copy(String label,String text, Context context){ - ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE); - ClipData clip = ClipData.newPlainText(label, text); - clipboard.setPrimaryClip(clip); - } -} diff --git a/app/src/main/java/fr/free/nrw/commons/utils/ClipboardUtils.kt b/app/src/main/java/fr/free/nrw/commons/utils/ClipboardUtils.kt new file mode 100644 index 000000000..64d3636f0 --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/utils/ClipboardUtils.kt @@ -0,0 +1,20 @@ +package fr.free.nrw.commons.utils + +import android.content.ClipData +import android.content.ClipboardManager +import android.content.Context +import android.content.Context.CLIPBOARD_SERVICE + +object ClipboardUtils { + // Convenience for Java usages - remove when they are converted. + @JvmStatic + fun copy(label: String?, text: String?, context: Context) { + context.copyToClipboard(label, text) + } +} + +fun Context.copyToClipboard(label: String?, text: String?) { + with(getSystemService(CLIPBOARD_SERVICE) as ClipboardManager) { + setPrimaryClip(ClipData.newPlainText(label, text)) + } +} \ No newline at end of file