mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 20:33:53 +01:00
Copy text to clipboard on Long Click (#2411)
* Fixed issue #2405 * Final changes
This commit is contained in:
parent
9867143099
commit
ea45335b4f
3 changed files with 30 additions and 3 deletions
|
|
@ -1,6 +1,8 @@
|
|||
package fr.free.nrw.commons;
|
||||
|
||||
import android.content.ActivityNotFoundException;
|
||||
import android.content.ClipData;
|
||||
import android.content.ClipboardManager;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Bitmap;
|
||||
|
|
@ -237,5 +239,14 @@ public class Utils {
|
|||
}
|
||||
return map;
|
||||
}
|
||||
/*
|
||||
*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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@ import fr.free.nrw.commons.Media;
|
|||
import fr.free.nrw.commons.MediaDataExtractor;
|
||||
import fr.free.nrw.commons.MediaWikiImageView;
|
||||
import fr.free.nrw.commons.R;
|
||||
import fr.free.nrw.commons.Utils;
|
||||
import fr.free.nrw.commons.auth.SessionManager;
|
||||
import fr.free.nrw.commons.category.CategoryDetailsActivity;
|
||||
import fr.free.nrw.commons.contributions.ContributionsFragment;
|
||||
|
|
@ -385,9 +386,7 @@ public class MediaDetailFragment extends CommonsDaggerSupportFragment {
|
|||
@OnClick(R.id.copyWikicode)
|
||||
public void onCopyWikicodeClicked(){
|
||||
String data = "[[" + media.getFilename() + "|thumb|" + media.getDescription() + "]]";
|
||||
ClipboardManager clipboard = (ClipboardManager) getContext().getApplicationContext().getSystemService(CLIPBOARD_SERVICE);
|
||||
clipboard.setPrimaryClip(ClipData.newPlainText("wikiCode", data));
|
||||
|
||||
Utils.copy("wikiCode",data,getContext());
|
||||
Timber.d("Generated wikidata copy code: %s", data);
|
||||
|
||||
Toast.makeText(getContext(), getString(R.string.wikicode_copied), Toast.LENGTH_SHORT).show();
|
||||
|
|
|
|||
|
|
@ -3,6 +3,9 @@ package fr.free.nrw.commons.nearby;
|
|||
import android.animation.ObjectAnimator;
|
||||
import android.animation.TypeEvaluator;
|
||||
import android.animation.ValueAnimator;
|
||||
import android.content.ClipData;
|
||||
import android.content.ClipboardManager;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Color;
|
||||
|
|
@ -27,6 +30,7 @@ import android.widget.ImageView;
|
|||
import android.widget.LinearLayout;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
|
|
@ -489,6 +493,19 @@ public class NearbyMapFragment extends DaggerFragment {
|
|||
commonsButtonText.setVisibility(View.GONE);
|
||||
directionsButtonText.setVisibility(View.GONE);
|
||||
}
|
||||
title.setOnLongClickListener(view -> {
|
||||
Utils.copy("place",title.getText().toString(),getContext());
|
||||
Toast.makeText(getContext(),"Text copied to clipboard",Toast.LENGTH_SHORT).show();
|
||||
return true;
|
||||
}
|
||||
);
|
||||
title.setOnClickListener(view -> {
|
||||
if (bottomSheetDetailsBehavior.getState() == BottomSheetBehavior.STATE_COLLAPSED) {
|
||||
bottomSheetDetailsBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
|
||||
} else {
|
||||
bottomSheetDetailsBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue