Skip to content

Feature/channel filter final#13389

Open
Ecomont wants to merge 2 commits intoTeamNewPipe:refactorfrom
Ecomont:feature/channel-filter-final
Open

Feature/channel filter final#13389
Ecomont wants to merge 2 commits intoTeamNewPipe:refactorfrom
Ecomont:feature/channel-filter-final

Conversation

@Ecomont
Copy link
Copy Markdown

@Ecomont Ecomont commented Mar 31, 2026

What is it?

  • Bugfix (user facing)
  • Feature (user facing) ⚠️ Your PR must target the refactor branch
  • Codebase improvement (dev facing)
  • Meta improvement to the project (dev facing)

Description of the changes in your PR

  • Added setHasOptionsMenu(true) in ChannelTabFragment to dynamically inject the standard "Eyeball" visibility toggle icon specifically within the Streams tab.
  • Reused showStreamVisibilityDialog() and the existing feed_show_watched_items_key SharedPreferences to maintain a cohesive user experience with the main feed.
  • Intercepted the RxJava streams in loadResult() and loadMoreItemsLogic() using .map() to apply the filter asynchronously off-thread, preventing UI frame drops.
  • Implemented shouldIncludeItem() to query the HistoryRecordManager for local watch states, evaluating isFinished() and isValid() based on the user's preferences.
  • Handled the Collections.unmodifiableList constraint from NewPipeExtractor by creating a filtered list and updating it via info.setRelatedItems(filteredItems), safely dropping unwatched/watched streams.

Before/After Screenshots/Screen Record

  • Before:

- After:
screencast2.mp4

Fixes the following issue(s)

Relies on the following changes

APK testing

The APK can be found by going to the "Checks" tab below the title. On the left pane, click on "CI", scroll down to "artifacts" and click "app" to download the zip file which contains the debug APK of this PR. You can find more info and a video demonstration on this wiki page.

  • I tested the changes using an emulator or a physical device.

@github-actions github-actions bot added the size/medium PRs with less than 250 changed lines label Mar 31, 2026
@AudricV AudricV added the template ignored The user didn't follow the template/instructions (or removed them) label Apr 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/medium PRs with less than 250 changed lines template ignored The user didn't follow the template/instructions (or removed them)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants