Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rework content and sort filter framework #904

Open
wants to merge 40 commits into
base: dev
Choose a base branch
from

Commits on Dec 29, 2023

  1. searchfilters: a framework to create sort and content filter objects

    FilterContainer.java:
    =====================
    This class is a container that keeps either content filters or sort filters organized.
    Sort/content filters ({@link FilterItem}s) are organized within {@link FilterGroup}s.
    
    FilterGroup.java:
    =================
    This class represents a filter category/group. For example 'Sort order'.
    
    Its main purpose is to host a bunch of {@link FilterItem}s that belong to that
    group. Eg. 'Relevance', 'Views', 'Rating'
    
    FilterItem.java:
    ================
    This class represents a single filter option.
    *More in detail:*
    For example youtube offers the filter group 'Sort order'. This group
    consists of filter options like 'Relevance', 'Views', 'Rating' etc.
    -> for each filter option a FilterItem has to be created.
    
    BaseSearchFilters.java:
    =======================
    The base class for every service describing their {@link FilterItem}s,
    {@link FilterGroup}s, the relation between content filters and sort filters.
    evermind-zz authored and Stypox committed Dec 29, 2023
    Configuration menu
    Copy the full SHA
    3398a54 View commit details
    Browse the repository at this point in the history
  2. equals hashCode to FilterItem

    Stypox committed Dec 29, 2023
    Configuration menu
    Copy the full SHA
    8409215 View commit details
    Browse the repository at this point in the history
  3. merge later ../extractor/src/main/java/org/schabi/newpipe/extractor/s…

    …earch/filter/FilterGroup.java
    evermind-zz authored and Stypox committed Dec 29, 2023
    Configuration menu
    Copy the full SHA
    3956e22 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    b8eb121 View commit details
    Browse the repository at this point in the history
  5. Changes due to channel tabs

    Stypox committed Dec 29, 2023
    Configuration menu
    Copy the full SHA
    1dc746a View commit details
    Browse the repository at this point in the history

Commits on Dec 30, 2023

  1. searchfilters: convert Peertube to new framework

    Available content filters:
    - All
    - Videos
    - Channels
    - Playlists
    Sepia
    - SepiaSearch
    
    Available sort filters:
    - 'Sort by'
    - stream kind
    - sensitive
    - 'Date'
    - 'Duration'
    evermind-zz authored and Stypox committed Dec 30, 2023
    Configuration menu
    Copy the full SHA
    9e75344 View commit details
    Browse the repository at this point in the history
  2. [PeerTube]

    Stypox committed Dec 30, 2023
    Configuration menu
    Copy the full SHA
    c7ef8a9 View commit details
    Browse the repository at this point in the history
  3. searchfilters: convert Soundcloud to use new framework

    Available content filters:
    - All
    - Tracks
    - Users
    - Playlists
    
    Available sort filters:
    - 'Sort by'
    - Length
    - license
    evermind-zz authored and Stypox committed Dec 30, 2023
    Configuration menu
    Copy the full SHA
    f484f20 View commit details
    Browse the repository at this point in the history
  4. [SoundCloud]

    Stypox committed Dec 30, 2023
    Configuration menu
    Copy the full SHA
    a043cbd View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    17320ef View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d1bf446 View commit details
    Browse the repository at this point in the history
  7. searchfilters: convert media_ccc to new framework

    Available content filters:
    - All
    - Conferences
    - Events
    evermind-zz authored and Stypox committed Dec 30, 2023
    Configuration menu
    Copy the full SHA
    e084338 View commit details
    Browse the repository at this point in the history
  8. searchfilters: convert bandcamp to new framework

    Available content filters:
    - All
    - artists & labels
    - albums
    - tracks
    evermind-zz authored and Stypox committed Dec 30, 2023
    Configuration menu
    Copy the full SHA
    debb776 View commit details
    Browse the repository at this point in the history
  9. [Bandcamp]

    Stypox committed Dec 30, 2023
    Configuration menu
    Copy the full SHA
    8568f19 View commit details
    Browse the repository at this point in the history
  10. searchfilters: convert youtube to new framework

        Available content filters:
        Youtube
        - all
        - videos
        - channels
        - playlists
        Youtube Music
        - Songs
        - Videos
        - Albums
        - Playlists
        - Artists
    
        Available sort filters:
        - 'Sort by'
        - Upload Date
        - Duration
        - Features
    Stypox committed Dec 30, 2023
    Configuration menu
    Copy the full SHA
    0a4b889 View commit details
    Browse the repository at this point in the history
  11. [YouTube]

    Stypox committed Dec 30, 2023
    Configuration menu
    Copy the full SHA
    ec19719 View commit details
    Browse the repository at this point in the history
  12. bandcamp: remove limit page.size as statement seems no longer true

    Without that code the search results will complete and the gui will not
    spin forever.
    evermind-zz authored and Stypox committed Dec 30, 2023
    Configuration menu
    Copy the full SHA
    af1f1de View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    d7b0430 View commit details
    Browse the repository at this point in the history
  14. Fix base tests

    Stypox committed Dec 30, 2023
    Configuration menu
    Copy the full SHA
    49c3545 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    e06fac6 View commit details
    Browse the repository at this point in the history
  16. Fix peertube tests

    Stypox committed Dec 30, 2023
    Configuration menu
    Copy the full SHA
    c6b335c View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    43479ab View commit details
    Browse the repository at this point in the history
  18. Fix soundcloud tests

    Stypox committed Dec 30, 2023
    Configuration menu
    Copy the full SHA
    4a8b7f6 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    1fc0fc7 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    019ef62 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    8280fd4 View commit details
    Browse the repository at this point in the history
  22. Fix yt tests

    Stypox committed Dec 30, 2023
    Configuration menu
    Copy the full SHA
    3e68e17 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    5a02063 View commit details
    Browse the repository at this point in the history
  24. searchfilters: an enum class which with strings ids that will be used…

    … within the searchfilters
    
    The class LibraryStringIds is a enum.
    This enum's identify a message. The name of the enum constants
    reflect the actual message. This message has to be transformed by the
    library user into a meaningful string.
    evermind-zz authored and Stypox committed Dec 30, 2023
    Configuration menu
    Copy the full SHA
    1d552c4 View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    78c8a60 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    11d268f View commit details
    Browse the repository at this point in the history
  27. searchfilters: annotate changed method signatures with Nullable or No…

    …nnull
    
    Annotate methods in classes that got some signatures changed due to the
    searchfilters integration
    evermind-zz authored and Stypox committed Dec 30, 2023
    Configuration menu
    Copy the full SHA
    4210592 View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    0985afa View commit details
    Browse the repository at this point in the history
  29. searchfilters: Moving DividerItem from NewPipeExtractor into NewPipe

    DividerItem was inserted in the content filter framework in the
    NewPipeExtractor to have a section title for YoutubeMusic. But as
    UI releated stuff seems a bit out of place in the Extractor I came
    up with injecting the DividerItem aka section title in the frontend
    without having to change too much in the frontend.
    evermind-zz authored and Stypox committed Dec 30, 2023
    Configuration menu
    Copy the full SHA
    04f03ab View commit details
    Browse the repository at this point in the history
  30. [Youtube] Update search mocks

    Stypox committed Dec 30, 2023
    Configuration menu
    Copy the full SHA
    e81796f View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    23fe41d View commit details
    Browse the repository at this point in the history
  32. searchfilters: Peertube: remove search option ID_CF_MAIN_ALL

    'ALL' option not possible as Peertube uses different
    endpoints for video/channels/playlist search
    evermind-zz committed Dec 30, 2023
    Configuration menu
    Copy the full SHA
    659deb0 View commit details
    Browse the repository at this point in the history

Commits on Jan 1, 2024

  1. Configuration menu
    Copy the full SHA
    dd252d3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    70a2b63 View commit details
    Browse the repository at this point in the history
  3. searchfilters: FilterItem now 'implements' Serializable to fix Parcel…

    …able encountered IOException
    
    The following Exception crashes NewPipe. Adding Serializable to FilterItem solves it:
    
    java.lang.RuntimeException: Parcelable encountered IOException writing serializable object
    (name = org.schabi.newpipe.extractor.linkhandler.ListLinkHandler)
    ...
    Caused by: java.io.NotSerializableException: org.schabi.newpipe.extractor.search.filter.FilterItem
    evermind-zz committed Jan 1, 2024
    Configuration menu
    Copy the full SHA
    67366ea View commit details
    Browse the repository at this point in the history