Skip to content

Add swipe gestures for episode actions, navigation, and viewing history #267

Description

@salvadord18

Code of Conduct

Is your feature request related to a problem? Please describe.

Yes. Managing episodes in the Trakt Android app currently requires more taps
than necessary for actions that users perform frequently, such as marking an
episode as watched or dropping a show.

Navigating between episodes from an episode details page can also feel
cumbersome when checking several consecutive episodes, since users cannot
simply swipe horizontally to move to the previous or next episode.

TV Time provides three particularly useful gesture-based interactions:

  1. Swiping an episode card in one direction marks the episode as watched,
    while swiping it in the opposite direction opens options to watch the show
    later or stop watching it.
  2. Swiping horizontally on an episode details page moves between the previous
    and next episodes.
  3. Pulling the watch-next list upward reveals the viewing history, making it
    easy to move between upcoming episodes and recently watched episodes.

These gestures make common actions faster, reduce the number of taps required,
and create a more fluid mobile experience. They are especially convenient
when updating several episodes, browsing through a season, managing shows that
are no longer an immediate priority, or quickly reviewing recently watched
episodes.

With TV Time shutting down, users moving from TV Time to Trakt may particularly
miss these familiar interactions. Adding equivalent gestures would make the
transition easier and would improve the overall efficiency and usability of
the Trakt Android app for both existing and incoming users.

Describe the solution you would like

I would like the Trakt Android app to support three optional gesture-based
interactions.

Although this feature request is being submitted to the Android repository,
the same interaction concepts could also benefit the Trakt iOS app, adapted
where necessary to follow each platform's navigation patterns and design
guidelines.

1. Swipe actions on episode cards

Allow users to swipe an episode card horizontally to access common actions.

Suggested behavior:

  • Swipe in one direction to mark the episode as watched just now.
  • Swipe in the opposite direction to open show-removal options.

The “Mark as watched” swipe should act as a quick action and immediately record
the episode as watched using the current date and time, equivalent to selecting
the existing “Just now” option.

It should not open the date-selection menu when the swipe is completed. Users
who want to specify another date, use the episode's release date, or record an
unknown date could continue to access those options through the existing
“Mark as watched” flow.

The interface could reveal a colored background and a relevant icon while the
card is being swiped, providing immediate visual feedback before the action is
triggered.

For example:

  • A green background, or a purple background matching Trakt's visual identity,
    with a checkmark for “Mark as watched just now”.
  • A contrasting background with a hide or remove icon for managing the show's
    watch-next status.

Completing the opposite swipe should not immediately drop the show. Instead,
it should open a bottom sheet or action menu with two choices:

  • Watch later — remove the show from the immediate watch-next queue while
    keeping the show tracked so that the user can return to it later.
  • Drop show — stop watching the show and remove it from the user's current
    progress or watch-next workflow.

This two-step behavior would prevent accidental removal and give users a less
destructive option when they simply want to postpone a show rather than stop
watching it entirely.

To avoid accidental actions:

  • Marking an episode as watched just now could display a brief undo action.
  • The opposite swipe should open the “Watch later” and “Drop show” options
    instead of immediately changing the show's status.
  • Selecting “Drop show” should continue to display the existing confirmation
    dialog.

A swipe threshold should be used so that ordinary horizontal movement does not
trigger an action accidentally. The action could be completed after the card
passes that threshold and the user releases it.

The gestures could be supported wherever episode cards are displayed and the
actions are relevant, particularly in the watch-next or episode list views.
The existing buttons and menus should remain available for discoverability,
accessibility, and users who want to choose a different watched date or prefer
not to use gestures.

2. Swipe navigation on episode details

Allow users to swipe horizontally on an episode details page to navigate
between episodes of the same show:

  • Swipe left to open the next episode.
  • Swipe right to open the previous episode.

The gesture should preserve the user's position within the same show and
season where possible, while also allowing navigation across season
boundaries when a valid previous or next episode exists.

A short transition animation or page indicator could make the navigation
direction clear. The existing navigation controls should remain available as
an alternative.

3. Pull up to reveal viewing history

Allow users to pull the watch-next episode list upward to reveal their recently
watched episode history.

TV Time presents the watch-next list and viewing history as two vertically
connected views. Pulling upward from the watch-next list reveals the watched
history, while returning in the opposite direction brings the user back to the
episodes that are available to watch next.

A similar interaction in Trakt could provide quick access to recently watched
episodes without requiring users to leave the current screen or navigate
through additional menus.

The transition should include a clear visual indicator or section label so
that users can distinguish between:

  • Watch next — episodes that are ready or expected to be watched.
  • Watched history — episodes that were recently marked as watched.

This gesture should complement, rather than replace, the existing history
screen or navigation entry. The full history should remain accessible through
the current interface, while the pull-up interaction could provide a convenient
preview or shortcut to recent activity.

A visible handle, label, or subtle animation could help make the interaction
discoverable. The interface should also avoid conflicting with ordinary
vertical scrolling when the user is navigating a long episode list.

Expected benefits

These interactions would:

  • Reduce the number of taps required for frequent episode actions.
  • Provide a genuinely quick “watched just now” action without opening the
    watched-date selection flow.
  • Give users a choice between postponing a show and dropping it completely.
  • Prevent accidental show removal by presenting the available options before
    applying a destructive action.
  • Make it faster to update several episodes.
  • Provide quicker access to recently watched episodes.
  • Make moving between the watch-next list and viewing history feel more
    natural.
  • Improve one-handed mobile use.
  • Make browsing consecutive episodes feel more fluid.
  • Provide immediate visual feedback for common actions.
  • Make the transition from TV Time to Trakt more familiar.
  • Improve the overall UI and UX without removing the existing interaction
    methods.

Describe alternatives you have considered

The existing buttons and menus could remain as the only way to perform these
actions, and previous/next episode buttons could be added to the episode
details page.

However, these alternatives require additional taps and are less fluid when
managing or browsing several episodes. Swipe gestures would work best as an
additional interaction method rather than a replacement for the existing
controls.

The swipe-to-watch action could open the existing watched-date selection menu,
but that would reduce the benefit of a quick gesture. Recording the episode as
watched “Just now” would keep the interaction fast, while the existing flow
would remain available for selecting another date, the release date, or an
unknown date.

An optional setting could also allow users to disable or customize the
gestures if accidental swipes or conflicts with platform navigation gestures
are a concern.

The opposite swipe could immediately drop the show, but this would increase
the risk of accidental removal and would not distinguish between users who
want to postpone a show and users who want to stop watching it completely.
Opening a small action menu with “Watch later” and “Drop show” would provide
both options without making the gesture destructive by default.

Viewing history could remain accessible only through its existing dedicated
screen. However, a pull-up shortcut from the watch-next list would make recent
history faster to reach while preserving the full history screen for users who
need more detail. A visible history button or expandable section could also be
considered if a vertical gesture would conflict with normal list scrolling or
platform navigation behavior.

Additional context

TV Time currently provides similar gesture-based interactions, and they are
among the most convenient parts of its mobile episode-tracking experience.

In addition to marking episodes as watched and navigating horizontally between
episode details, TV Time uses gestures to distinguish between postponing and
dropping a show, and to provide quick access to viewing history from the
watch-next list.

The attached screenshots and screen recordings demonstrate the requested
behavior and indicate where similar interactions could be added in the Trakt
Android app.

Attached media

TV Time — episode list before swiping

This screenshot shows the TV Time episode list and the episode cards on which
the swipe actions are available.

Image

TV Time — swipe to mark an episode as watched

This screenshot shows an episode card swiped to reveal the green watched
action with a checkmark.

Image

TV Time — opposite swipe action

This screenshot shows an episode card swiped in the opposite direction to
reveal the secondary action for managing whether the show should remain in the
immediate watch-next workflow.

Image

TV Time — watch later or stop watching

After completing the opposite swipe, TV Time opens an action menu with two
choices:

  • Watch later, which postpones the show without abandoning it completely.
  • Stop watching, which removes the show from the user's current viewing
    progress.

This intermediate menu avoids immediately triggering a destructive action and
distinguishes between postponing a show and dropping it entirely.

Image

TV Time — episode swipe actions

This screen recording demonstrates the complete episode-card swipe workflow:

  • Swiping in one direction marks the episode as watched.
  • Swiping in the opposite direction opens the secondary show-management
    action.
  • Completing the secondary action presents the choice between watching the
    show later and stopping watching it entirely.

In Trakt, the corresponding watched action could immediately record the
episode as watched “Just now”, while the existing watched-date flow would
remain available for selecting another date, the release date, or an unknown
date.

tv-time-episode-swipe-actions.mp4

TV Time — pull up to reveal viewing history

This screenshot shows the viewing history revealed by pulling the watch-next
list upward. The interface allows users to move quickly between episodes they
plan to watch next and episodes they have already watched.

A similar interaction in Trakt could provide a quick view of recent watched
activity while keeping the existing full history screen available.

Image

TV Time — horizontal navigation between episode details

This screen recording demonstrates horizontal swiping between episodes from
the episode details page.

Screen_Recording_20260715_151818_TV.Time.mp4

Trakt — suggested location for episode swipe actions

This screenshot shows the Trakt Android screen where swipe actions could be
added to the episode cards.

Image

Trakt — suggested location for episode navigation

This screenshot shows the Trakt Android episode details page where horizontal
navigation between episodes could be added.

Image

These interactions should complement rather than replace the existing buttons
and menus. Keeping both methods would preserve accessibility and
discoverability while providing a faster workflow for users who are
comfortable with gestures.

Although this request is filed in the Android repository, the same interactions
could also improve the Trakt iOS experience. The exact gesture behavior,
animations, feedback, and safeguards could be adapted to the conventions of
each platform.

If the iOS implementation is tracked separately, this issue could also serve
as a reference for a corresponding request in the Trakt iOS repository.

Introducing these interactions would be particularly valuable while Trakt is
receiving users transitioning from TV Time. Familiar and efficient episode
management gestures could reduce friction for those users, while also
benefiting the wider Trakt community.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions