mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-27 04:43:54 +01:00
Converted the copy-to-clipboard utility to kotlin
This commit is contained in:
parent
238956788d
commit
78c27f9b48
6 changed files with 31 additions and 28 deletions
1
.idea/codeStyles/Project.xml
generated
1
.idea/codeStyles/Project.xml
generated
|
|
@ -16,6 +16,7 @@
|
||||||
<option name="NAMES_COUNT_TO_USE_IMPORT_ON_DEMAND" value="999" />
|
<option name="NAMES_COUNT_TO_USE_IMPORT_ON_DEMAND" value="999" />
|
||||||
<option name="IMPORT_LAYOUT_TABLE">
|
<option name="IMPORT_LAYOUT_TABLE">
|
||||||
<value>
|
<value>
|
||||||
|
<package name="" withSubpackages="true" static="false" module="true" />
|
||||||
<package name="" withSubpackages="true" static="true" />
|
<package name="" withSubpackages="true" static="true" />
|
||||||
<emptyLine />
|
<emptyLine />
|
||||||
<package name="" withSubpackages="true" static="false" />
|
<package name="" withSubpackages="true" static="false" />
|
||||||
|
|
|
||||||
|
|
@ -37,11 +37,11 @@ import fr.free.nrw.commons.di.NetworkingModule
|
||||||
import fr.free.nrw.commons.filepicker.FilePicker
|
import fr.free.nrw.commons.filepicker.FilePicker
|
||||||
import fr.free.nrw.commons.media.MediaClient
|
import fr.free.nrw.commons.media.MediaClient
|
||||||
import fr.free.nrw.commons.profile.ProfileActivity
|
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.DialogUtil.showAlertDialog
|
||||||
import fr.free.nrw.commons.utils.SystemThemeUtils
|
import fr.free.nrw.commons.utils.SystemThemeUtils
|
||||||
import fr.free.nrw.commons.utils.UrlUtils
|
import fr.free.nrw.commons.utils.UrlUtils
|
||||||
import fr.free.nrw.commons.utils.ViewUtil.showShortToast
|
import fr.free.nrw.commons.utils.ViewUtil.showShortToast
|
||||||
|
import fr.free.nrw.commons.utils.copyToClipboard
|
||||||
import fr.free.nrw.commons.wikidata.model.WikiSite
|
import fr.free.nrw.commons.wikidata.model.WikiSite
|
||||||
import org.apache.commons.lang3.StringUtils
|
import org.apache.commons.lang3.StringUtils
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
@ -528,14 +528,13 @@ class ContributionsListFragment : CommonsDaggerSupportFragment(), ContributionsL
|
||||||
*/
|
*/
|
||||||
override fun onConfirmClicked(contribution: Contribution?, copyWikicode: Boolean) {
|
override fun onConfirmClicked(contribution: Contribution?, copyWikicode: Boolean) {
|
||||||
if (copyWikicode) {
|
if (copyWikicode) {
|
||||||
val wikicode = contribution!!.media.wikiCode
|
requireContext().copyToClipboard("wikicode", contribution!!.media.wikiCode)
|
||||||
ClipboardUtils.copy("wikicode", wikicode, context)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
val url =
|
val url =
|
||||||
languageWikipediaSite!!.mobileUrl() + "/wiki/" + (contribution!!.wikidataPlace
|
languageWikipediaSite!!.mobileUrl() + "/wiki/" + (contribution!!.wikidataPlace
|
||||||
?.getWikipediaPageTitle())
|
?.getWikipediaPageTitle())
|
||||||
UrlUtils.handleWebUrl(context, Uri.parse(url))
|
UrlUtils.handleWebUrl(requireContext(), Uri.parse(url))
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getContributionStateAt(position: Int): Int {
|
fun getContributionStateAt(position: Int): Int {
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
import fr.free.nrw.commons.utils.ViewUtil.showShortToast
|
import fr.free.nrw.commons.utils.ViewUtil.showShortToast
|
||||||
import fr.free.nrw.commons.utils.ViewUtilWrapper
|
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.utils.setUnderlinedText
|
||||||
import fr.free.nrw.commons.wikidata.mwapi.MwQueryPage.Revision
|
import fr.free.nrw.commons.wikidata.mwapi.MwQueryPage.Revision
|
||||||
import io.reactivex.Observable
|
import io.reactivex.Observable
|
||||||
|
|
@ -927,10 +928,10 @@ class MediaDetailFragment : CommonsDaggerSupportFragment(), CategoryEditHelper.C
|
||||||
private fun onCopyWikicodeClicked() {
|
private fun onCopyWikicodeClicked() {
|
||||||
val data: String =
|
val data: String =
|
||||||
"[[" + media!!.filename + "|thumb|" + media!!.fallbackDescription + "]]"
|
"[[" + media!!.filename + "|thumb|" + media!!.fallbackDescription + "]]"
|
||||||
ClipboardUtils.copy("wikiCode", data, context)
|
requireContext().copyToClipboard("wikiCode", data)
|
||||||
Timber.d("Generated wikidata copy code: %s", 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()
|
.show()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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.SystemThemeUtils
|
||||||
import fr.free.nrw.commons.utils.UrlUtils
|
import fr.free.nrw.commons.utils.UrlUtils
|
||||||
import fr.free.nrw.commons.utils.ViewUtil.showLongToast
|
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.WikidataConstants
|
||||||
import fr.free.nrw.commons.wikidata.WikidataEditListener
|
import fr.free.nrw.commons.wikidata.WikidataEditListener
|
||||||
import fr.free.nrw.commons.wikidata.WikidataEditListener.WikidataP18EditListener
|
import fr.free.nrw.commons.wikidata.WikidataEditListener.WikidataP18EditListener
|
||||||
|
|
@ -1017,11 +1018,10 @@ class NearbyParentFragment : CommonsDaggerSupportFragment(),
|
||||||
*/
|
*/
|
||||||
private fun addActionToTitle() {
|
private fun addActionToTitle() {
|
||||||
binding!!.bottomSheetDetails.title.setOnLongClickListener { view ->
|
binding!!.bottomSheetDetails.title.setOnLongClickListener { view ->
|
||||||
ClipboardUtils.copy(
|
requireContext().copyToClipboard(
|
||||||
"place", binding!!.bottomSheetDetails.title.text.toString(),
|
"place", binding!!.bottomSheetDetails.title.text.toString()
|
||||||
context
|
|
||||||
)
|
)
|
||||||
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()
|
.show()
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -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))
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue