element-x-android icon indicating copy to clipboard operation
element-x-android copied to clipboard

Feature: Add minimized video service (YouTube-style PiP)

Open aliIsazadeh opened this issue 2 months ago • 5 comments

What’s Changed

  • Introduced a minimized video service, similar to YouTube’s PiP experience.
  • Allows users to keep watching videos while navigating the app.
  • Designed within Element X’s architecture constraints, since implementing it like Telegram/WhatsApp is not straightforward.
  • Ensures smooth transitions between fullscreen and minimized modes.

Why This Matters

Many modern messengers (e.g. Telegram, WhatsApp) already support minimized video.
Element X’s structure makes this challenging, but this approach provides a practical way to implement it while staying close to the app’s design principles.

Demo

Closes #5421

Notes

This was really fun to implement, and I believe it can improve the user experience a lot. 🚀
Also — I’m open to remote Android opportunities. If anyone is interested in collaborating or has a project/position where I can contribute, feel free to reach out: [[email protected]]

aliIsazadeh avatar Sep 27 '25 08:09 aliIsazadeh

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 2 committers have signed the CLA.

:white_check_mark: aliIsazadeh
:x: jesus


jesus seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

CLAassistant avatar Sep 27 '25 08:09 CLAassistant

Thank you for your contribution! Here are a few things to check in the PR to ensure it's reviewed as quickly as possible:

  • Your branch should be based on origin/develop, at least when it was created.
  • The title of the PR will be used for release notes, so it needs to describe the change visible to the user.
  • The test pass locally running ./gradlew test.
  • The code quality check suite pass locally running ./gradlew runQualityChecks.
  • If you modified anything related to the UI, including previews, you'll have to run the Record screenshots GH action in your forked repo: that will generate compatible new screenshots. However, given Github Actions limitations, it will prevent the CI from running temporarily, until you upload a new commit after that one. To do so, just pull the latest changes and push an empty commit.

github-actions[bot] avatar Sep 27 '25 08:09 github-actions[bot]

such a cool checks

aliIsazadeh avatar Sep 30 '25 07:09 aliIsazadeh

for play and pause just tap on the video

aliIsazadeh avatar Oct 17 '25 15:10 aliIsazadeh

Thanks for the detailed review. I’ll apply these changes and I really appreciate the explanations.

aliIsazadeh avatar Nov 04 '25 16:11 aliIsazadeh

I wanted to give you a quick update on the minimized-video branch. While trying to merge develop into minimized-video and handle conflicts, I accidentally merged the two branches. Now both branches are identical.

I also tried to fix the history via rebase, but it didn’t work as expected. I plan to attempt a proper rebase and cleanup later to restore a clean commit history.

I’ll update you once it’s resolved.

Thanks for your understanding.

aliIsazadeh avatar Nov 27 '25 15:11 aliIsazadeh