mirror of
https://github.com/AntennaPod/AntennaPod.git
synced 2025-10-29 11:49:33 +00:00
Enable copying podcast title and host (#7830)
This commit is contained in:
parent
5b43cfe5c0
commit
e818aefd13
@ -1,5 +1,7 @@
|
||||
package de.danoeh.antennapod.ui.screen.episode;
|
||||
|
||||
import android.content.ClipData;
|
||||
import android.content.ClipboardManager;
|
||||
import android.content.Context;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
@ -189,9 +191,28 @@ public class ItemFragment extends Fragment {
|
||||
}
|
||||
actionButton2.onClick(getContext());
|
||||
});
|
||||
txtvPodcast.setOnLongClickListener(v -> {
|
||||
copyToClipboard(requireContext(), txtvPodcast.getText().toString());
|
||||
return true;
|
||||
});
|
||||
txtvTitle.setOnLongClickListener(v -> {
|
||||
copyToClipboard(requireContext(), txtvTitle.getText().toString());
|
||||
return true;
|
||||
});
|
||||
return layout;
|
||||
}
|
||||
|
||||
public void copyToClipboard(Context context, String text) {
|
||||
ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
|
||||
if (clipboard != null) {
|
||||
ClipData clip = ClipData.newPlainText(text, text);
|
||||
clipboard.setPrimaryClip(clip);
|
||||
if (Build.VERSION.SDK_INT <= 32) {
|
||||
EventBus.getDefault().post(new MessageEvent(getString(R.string.copied_to_clipboard)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void showOnDemandConfigBalloon(boolean offerStreaming) {
|
||||
final boolean isLocaleRtl = TextUtils.getLayoutDirectionFromLocale(Locale.getDefault())
|
||||
== View.LAYOUT_DIRECTION_RTL;
|
||||
|
||||
@ -2,6 +2,7 @@ package de.danoeh.antennapod.ui.screen.feed;
|
||||
|
||||
import android.content.ActivityNotFoundException;
|
||||
import android.content.ClipData;
|
||||
import android.content.ClipboardManager;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.res.Configuration;
|
||||
@ -15,6 +16,7 @@ import android.view.LayoutInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.activity.result.ActivityResultLauncher;
|
||||
import androidx.activity.result.contract.ActivityResultContracts;
|
||||
import androidx.annotation.NonNull;
|
||||
@ -82,14 +84,7 @@ public class FeedInfoFragment extends Fragment implements MaterialToolbar.OnMenu
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (feed != null && feed.getDownloadUrl() != null) {
|
||||
String url = feed.getDownloadUrl();
|
||||
ClipData clipData = ClipData.newPlainText(url, url);
|
||||
android.content.ClipboardManager cm = (android.content.ClipboardManager) getContext()
|
||||
.getSystemService(Context.CLIPBOARD_SERVICE);
|
||||
cm.setPrimaryClip(clipData);
|
||||
if (Build.VERSION.SDK_INT <= 32) {
|
||||
EventBus.getDefault().post(new MessageEvent(getString(R.string.copied_to_clipboard)));
|
||||
}
|
||||
copyToClipboard(requireContext(), feed.getDownloadUrl());
|
||||
}
|
||||
}
|
||||
};
|
||||
@ -128,7 +123,14 @@ public class FeedInfoFragment extends Fragment implements MaterialToolbar.OnMenu
|
||||
StatisticsFragment fragment = new StatisticsFragment();
|
||||
((MainActivity) getActivity()).loadChildFragment(fragment, TransitionEffect.SLIDE);
|
||||
});
|
||||
|
||||
viewBinding.header.txtvTitle.setOnLongClickListener(v -> {
|
||||
copyToClipboard(requireContext(), viewBinding.header.txtvTitle.getText().toString());
|
||||
return true;
|
||||
});
|
||||
viewBinding.header.txtvAuthor.setOnLongClickListener(v -> {
|
||||
copyToClipboard(requireContext(), viewBinding.header.txtvAuthor.getText().toString());
|
||||
return true;
|
||||
});
|
||||
return viewBinding.getRoot();
|
||||
}
|
||||
|
||||
@ -164,6 +166,17 @@ public class FeedInfoFragment extends Fragment implements MaterialToolbar.OnMenu
|
||||
horizontalSpacing, viewBinding.infoContainer.getPaddingBottom());
|
||||
}
|
||||
|
||||
public void copyToClipboard(Context context, String text) {
|
||||
ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
|
||||
if (clipboard != null) {
|
||||
ClipData clip = ClipData.newPlainText(text, text);
|
||||
clipboard.setPrimaryClip(clip);
|
||||
if (Build.VERSION.SDK_INT <= 32) {
|
||||
EventBus.getDefault().post(new MessageEvent(getString(R.string.copied_to_clipboard)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void showFeed() {
|
||||
Log.d(TAG, "Language is " + feed.getLanguage());
|
||||
Log.d(TAG, "Author is " + feed.getAuthor());
|
||||
|
||||
@ -1,7 +1,11 @@
|
||||
package de.danoeh.antennapod.ui.screen.feed;
|
||||
|
||||
import android.content.ClipData;
|
||||
import android.content.ClipboardManager;
|
||||
import android.content.Context;
|
||||
import android.content.res.Configuration;
|
||||
import android.graphics.LightingColorFilter;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.ContextMenu;
|
||||
@ -554,6 +558,25 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
|
||||
FeedItemFilterDialog.newInstance(feed).show(getChildFragmentManager(), null);
|
||||
});
|
||||
viewBinding.header.txtvFailure.setOnClickListener(v -> showErrorDetails());
|
||||
viewBinding.header.txtvAuthor.setOnLongClickListener(view -> {
|
||||
copyToClipboard(requireContext(), viewBinding.header.txtvAuthor.getText().toString());
|
||||
return true;
|
||||
});
|
||||
viewBinding.header.txtvTitle.setOnLongClickListener(view -> {
|
||||
copyToClipboard(requireContext(), viewBinding.header.txtvTitle.getText().toString());
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
public void copyToClipboard(Context context, String text) {
|
||||
ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
|
||||
if (clipboard != null) {
|
||||
ClipData clip = ClipData.newPlainText(text, text);
|
||||
clipboard.setPrimaryClip(clip);
|
||||
if (Build.VERSION.SDK_INT <= 32) {
|
||||
EventBus.getDefault().post(new MessageEvent(getString(R.string.copied_to_clipboard)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void showErrorDetails() {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user