mirror of
https://gitlab.futo.org/videostreaming/grayjay.git
synced 2025-04-20 03:24:50 +00:00
Hide creators, Fix hide video,
This commit is contained in:
parent
fa7f1b11f3
commit
f52251e23a
6 changed files with 54 additions and 4 deletions
|
@ -123,7 +123,7 @@ class Settings : FragmentedStorageFileJson() {
|
|||
|
||||
|
||||
|
||||
@FormField(R.string.home, "group", R.string.configure_how_your_home_tab_works_and_feels, 0)
|
||||
@FormField(R.string.language, "group", -1, 0)
|
||||
var language = LanguageSettings();
|
||||
@Serializable
|
||||
class LanguageSettings {
|
||||
|
@ -166,6 +166,17 @@ class Settings : FragmentedStorageFileJson() {
|
|||
|
||||
@FormField(R.string.preview_feed_items, FieldForm.TOGGLE, R.string.preview_feed_items_description, 6)
|
||||
var previewFeedItems: Boolean = true;
|
||||
|
||||
|
||||
@FormField(R.string.clear_hidden, FieldForm.BUTTON, R.string.clear_hidden_description, 7)
|
||||
@FormFieldButton(R.drawable.ic_visibility_off)
|
||||
fun clearHidden() {
|
||||
StateMeta.instance.removeAllHiddenCreators();
|
||||
StateMeta.instance.removeAllHiddenVideos();
|
||||
SettingsActivity.getActivity()?.let {
|
||||
UIDialogs.toast(it, "Creators and videos should show up again");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@FormField(R.string.search, "group", -1, 2)
|
||||
|
|
|
@ -389,8 +389,13 @@ class UISlideOverlays {
|
|||
val watchLater = StatePlaylists.instance.getWatchLater();
|
||||
items.add(SlideUpMenuGroup(container.context, container.context.getString(R.string.actions), "actions",
|
||||
(listOf(
|
||||
SlideUpMenuItem(container.context, R.drawable.ic_download, container.context.getString(R.string.download), container.context.getString(R.string.download_the_video), container.context.getString(R.string.download),
|
||||
{ showDownloadVideoOverlay(video, container, true); }, false))
|
||||
SlideUpMenuItem(container.context, R.drawable.ic_download, container.context.getString(R.string.download), container.context.getString(R.string.download_the_video), container.context.getString(R.string.download), {
|
||||
showDownloadVideoOverlay(video, container, true);
|
||||
}, false),
|
||||
SlideUpMenuItem(container.context, R.drawable.ic_visibility_off, container.context.getString(R.string.hide_creator_from_home), "", "hide_creator", {
|
||||
StateMeta.instance.addHiddenCreator(video.author.url);
|
||||
UIDialogs.toast(container.context, "[${video.author.name}] hidden, you may need to reload home");
|
||||
}))
|
||||
+ actions)
|
||||
));
|
||||
items.add(
|
||||
|
|
|
@ -152,7 +152,7 @@ class HomeFragment : MainFragment() {
|
|||
}
|
||||
|
||||
override fun filterResults(contents: List<IPlatformContent>): List<IPlatformContent> {
|
||||
return contents.filter { it !is IPlatformVideo || !StateMeta.instance.isVideoHidden(it.url) };
|
||||
return contents.filter { !StateMeta.instance.isVideoHidden(it.url) && !StateMeta.instance.isCreatorHidden(it.author.url) };
|
||||
}
|
||||
|
||||
private fun loadResults() {
|
||||
|
|
|
@ -5,15 +5,39 @@ import com.futo.platformplayer.stores.StringHashSetStorage
|
|||
|
||||
class StateMeta {
|
||||
val hiddenVideos = FragmentedStorage.get<StringHashSetStorage>("hiddenVideos");
|
||||
val hiddenCreators = FragmentedStorage.get<StringHashSetStorage>("hiddenCreators");
|
||||
|
||||
fun isVideoHidden(videoUrl: String) : Boolean {
|
||||
return hiddenVideos.contains(videoUrl);
|
||||
}
|
||||
fun addHiddenVideo(videoUrl: String) {
|
||||
hiddenVideos.addDistinct(videoUrl);
|
||||
hiddenVideos.save();
|
||||
}
|
||||
fun removeHiddenVideo(videoUrl: String) {
|
||||
hiddenVideos.remove(videoUrl);
|
||||
hiddenVideos.save();
|
||||
}
|
||||
fun removeAllHiddenVideos() {
|
||||
hiddenVideos.removeAll();
|
||||
hiddenVideos.save();
|
||||
}
|
||||
|
||||
|
||||
fun isCreatorHidden(creatorUrl: String): Boolean {
|
||||
return hiddenCreators.contains(creatorUrl);
|
||||
}
|
||||
fun addHiddenCreator(creatorUrl: String) {
|
||||
hiddenCreators.addDistinct(creatorUrl);
|
||||
hiddenCreators.save();
|
||||
}
|
||||
fun removeHiddenCreator(creatorUrl: String) {
|
||||
hiddenCreators.remove(creatorUrl);
|
||||
hiddenCreators.save();
|
||||
}
|
||||
fun removeAllHiddenCreators() {
|
||||
hiddenCreators.removeAll();
|
||||
hiddenCreators.save();
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
|
|
@ -35,6 +35,11 @@ class StringHashSetStorage : FragmentedStorageFileJson() {
|
|||
values.remove(obj);
|
||||
}
|
||||
}
|
||||
fun removeAll() {
|
||||
synchronized(values) {
|
||||
values.clear();
|
||||
}
|
||||
}
|
||||
fun set(vararg objs: String) {
|
||||
synchronized(values) {
|
||||
values.clear();
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
<string name="add_to">Add to</string>
|
||||
<string name="lorem_ipsum" translatable="false">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</string>
|
||||
<string name="add_to_queue">Add to queue</string>
|
||||
<string name="general">General</string>
|
||||
<string name="home">Home</string>
|
||||
<string name="recommendations">Recommendations</string>
|
||||
<string name="more">More</string>
|
||||
|
@ -312,6 +313,7 @@
|
|||
<string name="import_data_description">Select a file to import, support various files (alternative to opening directly)</string>
|
||||
<string name="external_storage">External Storage</string>
|
||||
<string name="feed_style">Feed Style</string>
|
||||
<string name="language">Language</string>
|
||||
<string name="app_language">App Language</string>
|
||||
<string name="may_require_restart">May require restart</string>
|
||||
<string name="fetch_on_app_boot">Fetch on app boot</string>
|
||||
|
@ -345,6 +347,8 @@
|
|||
<string name="reinstall_embedded_plugins">Reinstall Embedded Plugins</string>
|
||||
<string name="remove_cached_version">Remove Cached Version</string>
|
||||
<string name="remove_the_last_downloaded_version">Remove the last downloaded version</string>
|
||||
<string name="clear_hidden">Clear Hidden</string>
|
||||
<string name="clear_hidden_description">Removes all hidden creators and videos, showing them again</string>
|
||||
<string name="reset_announcements">Reset announcements</string>
|
||||
<string name="reset_hidden_announcements">Reset hidden announcements</string>
|
||||
<string name="restore_automatic_backup">Restore Automatic Backup</string>
|
||||
|
@ -489,6 +493,7 @@
|
|||
<string name="page">Page</string>
|
||||
<string name="hide">Hide</string>
|
||||
<string name="hide_from_home">Hide from Home</string>
|
||||
<string name="hide_creator_from_home">Hide Creator from Home</string>
|
||||
<string name="play_feed_as_queue">Play Feed as Queue</string>
|
||||
<string name="play_entire_feed">Play entire feed</string>
|
||||
<string name="queued">Queued</string>
|
||||
|
|
Loading…
Add table
Reference in a new issue