mirror of
https://github.com/AntennaPod/AntennaPod.git
synced 2025-12-01 12:31:45 +00:00
Show social comment icon on playing screen (#7127)
This commit is contained in:
@ -10,6 +10,7 @@ import android.view.MenuItem;
|
|||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
|
|
||||||
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||||
import com.google.android.material.snackbar.Snackbar;
|
import com.google.android.material.snackbar.Snackbar;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@ -71,6 +72,7 @@ public class FeedItemMenuHandler {
|
|||||||
boolean canAddFavorite = false;
|
boolean canAddFavorite = false;
|
||||||
boolean canRemoveFavorite = false;
|
boolean canRemoveFavorite = false;
|
||||||
boolean canShowTranscript = false;
|
boolean canShowTranscript = false;
|
||||||
|
boolean canShowSocialInteract = false;
|
||||||
|
|
||||||
for (FeedItem item : selectedItems) {
|
for (FeedItem item : selectedItems) {
|
||||||
boolean hasMedia = item.getMedia() != null;
|
boolean hasMedia = item.getMedia() != null;
|
||||||
@ -88,12 +90,14 @@ public class FeedItemMenuHandler {
|
|||||||
canAddFavorite |= !item.isTagged(FeedItem.TAG_FAVORITE);
|
canAddFavorite |= !item.isTagged(FeedItem.TAG_FAVORITE);
|
||||||
canRemoveFavorite |= item.isTagged(FeedItem.TAG_FAVORITE);
|
canRemoveFavorite |= item.isTagged(FeedItem.TAG_FAVORITE);
|
||||||
canShowTranscript |= item.hasTranscript();
|
canShowTranscript |= item.hasTranscript();
|
||||||
|
canShowSocialInteract |= item.getSocialInteractUrl() != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (selectedItems.size() > 1) {
|
if (selectedItems.size() > 1) {
|
||||||
canVisitWebsite = false;
|
canVisitWebsite = false;
|
||||||
canShare = false;
|
canShare = false;
|
||||||
canShowTranscript = false;
|
canShowTranscript = false;
|
||||||
|
canShowSocialInteract = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
setItemVisibility(menu, R.id.skip_episode_item, canSkip);
|
setItemVisibility(menu, R.id.skip_episode_item, canSkip);
|
||||||
@ -105,6 +109,7 @@ public class FeedItemMenuHandler {
|
|||||||
setItemVisibility(menu, R.id.mark_read_item, canMarkPlayed);
|
setItemVisibility(menu, R.id.mark_read_item, canMarkPlayed);
|
||||||
setItemVisibility(menu, R.id.mark_unread_item, canMarkUnplayed);
|
setItemVisibility(menu, R.id.mark_unread_item, canMarkUnplayed);
|
||||||
setItemVisibility(menu, R.id.reset_position, canResetPosition);
|
setItemVisibility(menu, R.id.reset_position, canResetPosition);
|
||||||
|
setItemVisibility(menu, R.id.open_social_interact_url, canShowSocialInteract);
|
||||||
|
|
||||||
// Display proper strings when item has no media
|
// Display proper strings when item has no media
|
||||||
if (selectedItems.size() == 1 && selectedItems.get(0).getMedia() == null) {
|
if (selectedItems.size() == 1 && selectedItems.get(0).getMedia() == null) {
|
||||||
@ -225,6 +230,15 @@ public class FeedItemMenuHandler {
|
|||||||
DBWriter.markItemPlayed(selectedItem, FeedItem.UNPLAYED, true);
|
DBWriter.markItemPlayed(selectedItem, FeedItem.UNPLAYED, true);
|
||||||
} else if (menuItemId == R.id.visit_website_item) {
|
} else if (menuItemId == R.id.visit_website_item) {
|
||||||
IntentUtils.openInBrowser(context, selectedItem.getLinkWithFallback());
|
IntentUtils.openInBrowser(context, selectedItem.getLinkWithFallback());
|
||||||
|
} else if (menuItemId == R.id.open_social_interact_url) {
|
||||||
|
new MaterialAlertDialogBuilder(context)
|
||||||
|
.setTitle(R.string.visit_social_interact_query_title)
|
||||||
|
.setMessage(context.getString(R.string.visit_social_interact_query_message,
|
||||||
|
selectedItem.getSocialInteractUrl()))
|
||||||
|
.setPositiveButton(R.string.confirm_label, (dialog, which) ->
|
||||||
|
IntentUtils.openInBrowser(context, selectedItem.getSocialInteractUrl()))
|
||||||
|
.setNegativeButton(R.string.cancel_label, null)
|
||||||
|
.show();
|
||||||
} else if (menuItemId == R.id.share_item) {
|
} else if (menuItemId == R.id.share_item) {
|
||||||
ShareDialog shareDialog = ShareDialog.newInstance(selectedItem);
|
ShareDialog shareDialog = ShareDialog.newInstance(selectedItem);
|
||||||
shareDialog.show((fragment.getActivity().getSupportFragmentManager()), "ShareEpisodeDialog");
|
shareDialog.show((fragment.getActivity().getSupportFragmentManager()), "ShareEpisodeDialog");
|
||||||
|
|||||||
@ -2,12 +2,6 @@
|
|||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:custom="http://schemas.android.com/apk/res-auto">
|
xmlns:custom="http://schemas.android.com/apk/res-auto">
|
||||||
|
|
||||||
<item
|
|
||||||
android:id="@+id/transcript_item"
|
|
||||||
android:icon="@drawable/transcript"
|
|
||||||
android:title="@string/show_transcript"
|
|
||||||
custom:showAsAction="ifRoom">
|
|
||||||
</item>
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/add_to_favorites_item"
|
android:id="@+id/add_to_favorites_item"
|
||||||
android:icon="@drawable/ic_star_border"
|
android:icon="@drawable/ic_star_border"
|
||||||
@ -78,6 +72,20 @@
|
|||||||
android:visible="false">
|
android:visible="false">
|
||||||
</item>
|
</item>
|
||||||
|
|
||||||
|
<item
|
||||||
|
android:id="@+id/transcript_item"
|
||||||
|
android:icon="@drawable/transcript"
|
||||||
|
android:title="@string/show_transcript"
|
||||||
|
custom:showAsAction="never">
|
||||||
|
</item>
|
||||||
|
|
||||||
|
<item
|
||||||
|
android:id="@+id/open_social_interact_url"
|
||||||
|
android:icon="@drawable/ic_chat"
|
||||||
|
custom:showAsAction="never"
|
||||||
|
android:title="@string/visit_social_interact_label">
|
||||||
|
</item>
|
||||||
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/share_item"
|
android:id="@+id/share_item"
|
||||||
android:icon="@drawable/ic_share"
|
android:icon="@drawable/ic_share"
|
||||||
|
|||||||
@ -42,6 +42,7 @@ public class FeedItem implements Serializable {
|
|||||||
private transient Feed feed;
|
private transient Feed feed;
|
||||||
private long feedId;
|
private long feedId;
|
||||||
private String podcastIndexChapterUrl;
|
private String podcastIndexChapterUrl;
|
||||||
|
private String socialInteractUrl;
|
||||||
private String podcastIndexTranscriptUrl;
|
private String podcastIndexTranscriptUrl;
|
||||||
private String podcastIndexTranscriptType;
|
private String podcastIndexTranscriptType;
|
||||||
private String podcastIndexTranscriptText;
|
private String podcastIndexTranscriptText;
|
||||||
@ -87,7 +88,7 @@ public class FeedItem implements Serializable {
|
|||||||
public FeedItem(long id, String title, String link, Date pubDate, String paymentLink, long feedId,
|
public FeedItem(long id, String title, String link, Date pubDate, String paymentLink, long feedId,
|
||||||
boolean hasChapters, String imageUrl, int state,
|
boolean hasChapters, String imageUrl, int state,
|
||||||
String itemIdentifier, boolean autoDownloadEnabled, String podcastIndexChapterUrl,
|
String itemIdentifier, boolean autoDownloadEnabled, String podcastIndexChapterUrl,
|
||||||
String transcriptType, String transcriptUrl) {
|
String transcriptType, String transcriptUrl, String socialInteractUrl) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
this.title = title;
|
this.title = title;
|
||||||
this.link = link;
|
this.link = link;
|
||||||
@ -100,6 +101,7 @@ public class FeedItem implements Serializable {
|
|||||||
this.itemIdentifier = itemIdentifier;
|
this.itemIdentifier = itemIdentifier;
|
||||||
this.autoDownloadEnabled = autoDownloadEnabled;
|
this.autoDownloadEnabled = autoDownloadEnabled;
|
||||||
this.podcastIndexChapterUrl = podcastIndexChapterUrl;
|
this.podcastIndexChapterUrl = podcastIndexChapterUrl;
|
||||||
|
this.socialInteractUrl = socialInteractUrl;
|
||||||
if (transcriptUrl != null) {
|
if (transcriptUrl != null) {
|
||||||
this.podcastIndexTranscriptUrl = transcriptUrl;
|
this.podcastIndexTranscriptUrl = transcriptUrl;
|
||||||
this.podcastIndexTranscriptType = transcriptType;
|
this.podcastIndexTranscriptType = transcriptType;
|
||||||
@ -170,6 +172,9 @@ public class FeedItem implements Serializable {
|
|||||||
if (other.podcastIndexChapterUrl != null) {
|
if (other.podcastIndexChapterUrl != null) {
|
||||||
podcastIndexChapterUrl = other.podcastIndexChapterUrl;
|
podcastIndexChapterUrl = other.podcastIndexChapterUrl;
|
||||||
}
|
}
|
||||||
|
if (other.socialInteractUrl != null) {
|
||||||
|
socialInteractUrl = other.socialInteractUrl;
|
||||||
|
}
|
||||||
if (other.getTranscriptUrl() != null) {
|
if (other.getTranscriptUrl() != null) {
|
||||||
podcastIndexTranscriptUrl = other.podcastIndexTranscriptUrl;
|
podcastIndexTranscriptUrl = other.podcastIndexTranscriptUrl;
|
||||||
}
|
}
|
||||||
@ -430,6 +435,14 @@ public class FeedItem implements Serializable {
|
|||||||
podcastIndexChapterUrl = url;
|
podcastIndexChapterUrl = url;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setSocialInteractUrl(String url) {
|
||||||
|
socialInteractUrl = url;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSocialInteractUrl() {
|
||||||
|
return socialInteractUrl;
|
||||||
|
}
|
||||||
|
|
||||||
public void setTranscriptUrl(String type, String url) {
|
public void setTranscriptUrl(String type, String url) {
|
||||||
updateTranscriptPreferredFormat(type, url);
|
updateTranscriptPreferredFormat(type, url);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,8 +12,10 @@ public class PodcastIndex extends Namespace {
|
|||||||
public static final String NSURI = "https://github.com/Podcastindex-org/podcast-namespace/blob/main/docs/1.0.md";
|
public static final String NSURI = "https://github.com/Podcastindex-org/podcast-namespace/blob/main/docs/1.0.md";
|
||||||
public static final String NSURI2 = "https://podcastindex.org/namespace/1.0";
|
public static final String NSURI2 = "https://podcastindex.org/namespace/1.0";
|
||||||
private static final String URL = "url";
|
private static final String URL = "url";
|
||||||
|
private static final String URI = "uri";
|
||||||
private static final String FUNDING = "funding";
|
private static final String FUNDING = "funding";
|
||||||
private static final String CHAPTERS = "chapters";
|
private static final String CHAPTERS = "chapters";
|
||||||
|
private static final String SOCIAL_INTERACT = "socialInteract";
|
||||||
private static final String TRANSCRIPT = "transcript";
|
private static final String TRANSCRIPT = "transcript";
|
||||||
private static final String TYPE = "type";
|
private static final String TYPE = "type";
|
||||||
|
|
||||||
@ -30,6 +32,11 @@ public class PodcastIndex extends Namespace {
|
|||||||
if (!TextUtils.isEmpty(href)) {
|
if (!TextUtils.isEmpty(href)) {
|
||||||
state.getCurrentItem().setPodcastIndexChapterUrl(href);
|
state.getCurrentItem().setPodcastIndexChapterUrl(href);
|
||||||
}
|
}
|
||||||
|
} else if (SOCIAL_INTERACT.equals(localName)) {
|
||||||
|
String href = attributes.getValue(URI);
|
||||||
|
if (!TextUtils.isEmpty(href) && state.getCurrentItem() != null) {
|
||||||
|
state.getCurrentItem().setSocialInteractUrl(href);
|
||||||
|
}
|
||||||
} else if (TRANSCRIPT.equals(localName)) {
|
} else if (TRANSCRIPT.equals(localName)) {
|
||||||
String href = attributes.getValue(URL);
|
String href = attributes.getValue(URL);
|
||||||
String type = attributes.getValue(TYPE);
|
String type = attributes.getValue(TYPE);
|
||||||
|
|||||||
@ -349,6 +349,10 @@ class DBUpgrader {
|
|||||||
db.execSQL("ALTER TABLE " + PodDBAdapter.TABLE_NAME_FEED_ITEMS
|
db.execSQL("ALTER TABLE " + PodDBAdapter.TABLE_NAME_FEED_ITEMS
|
||||||
+ " ADD COLUMN " + PodDBAdapter.KEY_PODCASTINDEX_TRANSCRIPT_TYPE + " TEXT");
|
+ " ADD COLUMN " + PodDBAdapter.KEY_PODCASTINDEX_TRANSCRIPT_TYPE + " TEXT");
|
||||||
}
|
}
|
||||||
|
if (oldVersion < 3080000) {
|
||||||
|
db.execSQL("ALTER TABLE " + PodDBAdapter.TABLE_NAME_FEED_ITEMS
|
||||||
|
+ " ADD COLUMN " + PodDBAdapter.KEY_SOCIAL_INTERACT_URL + " TEXT");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -52,7 +52,7 @@ public class PodDBAdapter {
|
|||||||
|
|
||||||
private static final String TAG = "PodDBAdapter";
|
private static final String TAG = "PodDBAdapter";
|
||||||
public static final String DATABASE_NAME = "Antennapod.db";
|
public static final String DATABASE_NAME = "Antennapod.db";
|
||||||
public static final int VERSION = 3050000;
|
public static final int VERSION = 3080000;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Maximum number of arguments for IN-operator.
|
* Maximum number of arguments for IN-operator.
|
||||||
@ -121,6 +121,7 @@ public class PodDBAdapter {
|
|||||||
public static final String KEY_EPISODE_NOTIFICATION = "episode_notification";
|
public static final String KEY_EPISODE_NOTIFICATION = "episode_notification";
|
||||||
public static final String KEY_NEW_EPISODES_ACTION = "new_episodes_action";
|
public static final String KEY_NEW_EPISODES_ACTION = "new_episodes_action";
|
||||||
public static final String KEY_PODCASTINDEX_CHAPTER_URL = "podcastindex_chapter_url";
|
public static final String KEY_PODCASTINDEX_CHAPTER_URL = "podcastindex_chapter_url";
|
||||||
|
public static final String KEY_SOCIAL_INTERACT_URL = "social_interact_url";
|
||||||
public static final String KEY_STATE = "state";
|
public static final String KEY_STATE = "state";
|
||||||
public static final String KEY_PODCASTINDEX_TRANSCRIPT_URL = "podcastindex_transcript_url";
|
public static final String KEY_PODCASTINDEX_TRANSCRIPT_URL = "podcastindex_transcript_url";
|
||||||
public static final String KEY_PODCASTINDEX_TRANSCRIPT_TYPE = "podcastindex_transcript_type";
|
public static final String KEY_PODCASTINDEX_TRANSCRIPT_TYPE = "podcastindex_transcript_type";
|
||||||
@ -188,7 +189,8 @@ public class PodDBAdapter {
|
|||||||
+ KEY_AUTO_DOWNLOAD_ENABLED + " INTEGER,"
|
+ KEY_AUTO_DOWNLOAD_ENABLED + " INTEGER,"
|
||||||
+ KEY_PODCASTINDEX_CHAPTER_URL + " TEXT,"
|
+ KEY_PODCASTINDEX_CHAPTER_URL + " TEXT,"
|
||||||
+ KEY_PODCASTINDEX_TRANSCRIPT_TYPE + " TEXT,"
|
+ KEY_PODCASTINDEX_TRANSCRIPT_TYPE + " TEXT,"
|
||||||
+ KEY_PODCASTINDEX_TRANSCRIPT_URL + " TEXT" + ")";
|
+ KEY_PODCASTINDEX_TRANSCRIPT_URL + " TEXT,"
|
||||||
|
+ KEY_SOCIAL_INTERACT_URL + " TEXT)";
|
||||||
|
|
||||||
private static final String CREATE_TABLE_FEED_MEDIA = "CREATE TABLE "
|
private static final String CREATE_TABLE_FEED_MEDIA = "CREATE TABLE "
|
||||||
+ TABLE_NAME_FEED_MEDIA + " (" + TABLE_PRIMARY_KEY + KEY_DURATION
|
+ TABLE_NAME_FEED_MEDIA + " (" + TABLE_PRIMARY_KEY + KEY_DURATION
|
||||||
@ -277,6 +279,7 @@ public class PodDBAdapter {
|
|||||||
+ TABLE_NAME_FEED_ITEMS + "." + KEY_IMAGE_URL + ", "
|
+ TABLE_NAME_FEED_ITEMS + "." + KEY_IMAGE_URL + ", "
|
||||||
+ TABLE_NAME_FEED_ITEMS + "." + KEY_AUTO_DOWNLOAD_ENABLED + ", "
|
+ TABLE_NAME_FEED_ITEMS + "." + KEY_AUTO_DOWNLOAD_ENABLED + ", "
|
||||||
+ TABLE_NAME_FEED_ITEMS + "." + KEY_PODCASTINDEX_CHAPTER_URL + ", "
|
+ TABLE_NAME_FEED_ITEMS + "." + KEY_PODCASTINDEX_CHAPTER_URL + ", "
|
||||||
|
+ TABLE_NAME_FEED_ITEMS + "." + KEY_SOCIAL_INTERACT_URL + ", "
|
||||||
+ TABLE_NAME_FEED_ITEMS + "." + KEY_PODCASTINDEX_TRANSCRIPT_TYPE + ", "
|
+ TABLE_NAME_FEED_ITEMS + "." + KEY_PODCASTINDEX_TRANSCRIPT_TYPE + ", "
|
||||||
+ TABLE_NAME_FEED_ITEMS + "." + KEY_PODCASTINDEX_TRANSCRIPT_URL;
|
+ TABLE_NAME_FEED_ITEMS + "." + KEY_PODCASTINDEX_TRANSCRIPT_URL;
|
||||||
|
|
||||||
@ -680,6 +683,7 @@ public class PodDBAdapter {
|
|||||||
values.put(KEY_AUTO_DOWNLOAD_ENABLED, item.isAutoDownloadEnabled());
|
values.put(KEY_AUTO_DOWNLOAD_ENABLED, item.isAutoDownloadEnabled());
|
||||||
values.put(KEY_IMAGE_URL, item.getImageUrl());
|
values.put(KEY_IMAGE_URL, item.getImageUrl());
|
||||||
values.put(KEY_PODCASTINDEX_CHAPTER_URL, item.getPodcastIndexChapterUrl());
|
values.put(KEY_PODCASTINDEX_CHAPTER_URL, item.getPodcastIndexChapterUrl());
|
||||||
|
values.put(KEY_SOCIAL_INTERACT_URL, item.getSocialInteractUrl());
|
||||||
|
|
||||||
// We only store one transcript url, we prefer JSON if it exists
|
// We only store one transcript url, we prefer JSON if it exists
|
||||||
String type = item.getTranscriptType();
|
String type = item.getTranscriptType();
|
||||||
|
|||||||
@ -25,6 +25,7 @@ public class FeedItemCursor extends CursorWrapper {
|
|||||||
private final int indexAutoDownload;
|
private final int indexAutoDownload;
|
||||||
private final int indexImageUrl;
|
private final int indexImageUrl;
|
||||||
private final int indexPodcastIndexChapterUrl;
|
private final int indexPodcastIndexChapterUrl;
|
||||||
|
private final int indexSocialInteractUrl;
|
||||||
private final int indexMediaId;
|
private final int indexMediaId;
|
||||||
private final int indexPodcastIndexTranscriptType;
|
private final int indexPodcastIndexTranscriptType;
|
||||||
private final int indexPodcastIndexTranscriptUrl;
|
private final int indexPodcastIndexTranscriptUrl;
|
||||||
@ -45,6 +46,7 @@ public class FeedItemCursor extends CursorWrapper {
|
|||||||
indexImageUrl = cursor.getColumnIndexOrThrow(PodDBAdapter.KEY_IMAGE_URL);
|
indexImageUrl = cursor.getColumnIndexOrThrow(PodDBAdapter.KEY_IMAGE_URL);
|
||||||
indexPodcastIndexChapterUrl = cursor.getColumnIndexOrThrow(PodDBAdapter.KEY_PODCASTINDEX_CHAPTER_URL);
|
indexPodcastIndexChapterUrl = cursor.getColumnIndexOrThrow(PodDBAdapter.KEY_PODCASTINDEX_CHAPTER_URL);
|
||||||
indexMediaId = cursor.getColumnIndexOrThrow(PodDBAdapter.SELECT_KEY_MEDIA_ID);
|
indexMediaId = cursor.getColumnIndexOrThrow(PodDBAdapter.SELECT_KEY_MEDIA_ID);
|
||||||
|
indexSocialInteractUrl = cursor.getColumnIndexOrThrow(PodDBAdapter.KEY_SOCIAL_INTERACT_URL);
|
||||||
indexPodcastIndexTranscriptType = cursor.getColumnIndexOrThrow(PodDBAdapter.KEY_PODCASTINDEX_TRANSCRIPT_TYPE);
|
indexPodcastIndexTranscriptType = cursor.getColumnIndexOrThrow(PodDBAdapter.KEY_PODCASTINDEX_TRANSCRIPT_TYPE);
|
||||||
indexPodcastIndexTranscriptUrl = cursor.getColumnIndexOrThrow(PodDBAdapter.KEY_PODCASTINDEX_TRANSCRIPT_URL);
|
indexPodcastIndexTranscriptUrl = cursor.getColumnIndexOrThrow(PodDBAdapter.KEY_PODCASTINDEX_TRANSCRIPT_URL);
|
||||||
}
|
}
|
||||||
@ -68,7 +70,8 @@ public class FeedItemCursor extends CursorWrapper {
|
|||||||
getLong(indexAutoDownload) > 0,
|
getLong(indexAutoDownload) > 0,
|
||||||
getString(indexPodcastIndexChapterUrl),
|
getString(indexPodcastIndexChapterUrl),
|
||||||
getString(indexPodcastIndexTranscriptType),
|
getString(indexPodcastIndexTranscriptType),
|
||||||
getString(indexPodcastIndexTranscriptUrl));
|
getString(indexPodcastIndexTranscriptUrl),
|
||||||
|
getString(indexSocialInteractUrl));
|
||||||
if (!isNull(indexMediaId)) {
|
if (!isNull(indexMediaId)) {
|
||||||
item.setMedia(feedMediaCursor.getFeedMedia());
|
item.setMedia(feedMediaCursor.getFeedMedia());
|
||||||
}
|
}
|
||||||
|
|||||||
@ -280,6 +280,9 @@
|
|||||||
<string name="no_transcript_label">No transcript</string>
|
<string name="no_transcript_label">No transcript</string>
|
||||||
<string name="remove_from_favorite_label">Remove from favorites</string>
|
<string name="remove_from_favorite_label">Remove from favorites</string>
|
||||||
<string name="visit_website_label">Visit website</string>
|
<string name="visit_website_label">Visit website</string>
|
||||||
|
<string name="visit_social_interact_label">Show comments</string>
|
||||||
|
<string name="visit_social_interact_query_title">You are leaving AntennaPod</string>
|
||||||
|
<string name="visit_social_interact_query_message">Please make sure that you trust the website \"%1$s\".</string>
|
||||||
<string name="skip_episode_label">Skip episode</string>
|
<string name="skip_episode_label">Skip episode</string>
|
||||||
<string name="reset_position">Reset playback position</string>
|
<string name="reset_position">Reset playback position</string>
|
||||||
<string name="no_items_selected">No items selected</string>
|
<string name="no_items_selected">No items selected</string>
|
||||||
|
|||||||
Reference in New Issue
Block a user