element-x-android
element-x-android copied to clipboard
Feature: Add minimized video service (YouTube-style PiP)
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]]
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.
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 screenshotsGH 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.
such a cool checks
for play and pause just tap on the video
Thanks for the detailed review. I’ll apply these changes and I really appreciate the explanations.
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.