feat: improve linux/rust librepods experience#601
Conversation
feat(i18n): added ukrainian translation with extracting of some string to resources. Auto generation of locale config
…#243) * docs: add troubleshooting section for media controls not working * always use white text for the battery percentage in the system tray icon which matches what other applications like Bluetooth battery indicators do in Plasma * init librepods asset * remove update script for librepods
dk why i added it in the first place
yay! finally some OEM fixed it
docs: update README
…-org#253) This makes the app run without issues on OxygenOS/ColorOS16 without root. * android(fix): add missing HEAD_GESTURES capability on app2 * android(fix): catch att initial read exceptions in toggle * android(refactor): remove navcontroller from head gestures screen * android(fix): do not crash when connected devices list is sent empty had never seen this before, this was the first time airpods saying zero connected devices * android(fix): do not crash if phone's MAC not available also removed crossdevice code * android: skip sdp hook check if setup skipped
minor typo corrections
…-org#269) * Add Python type annotations wherever appropriate * Might as well annotate this too
no idea where i got manufacturerid from
I haven't been able to figure out a workaround for pre-A13
hiding it, rather than removing it entirely
Without `https://`, URLs are treated as relative paths.
Added Italian localization strings for the app.
media: correct AirPods conversational awareness state handling Fix incorrect detection of conversational awareness events. The previous implementation treated all non-0x01 packets as "disabled", which caused wrong behavior when the user manually enabled/disabled the feature or when voice-end events were received. Adds full decoding for packet types: - 0x01 → voice detected - 0x06/others → voice ended - 0x08 → feature disabled - 0x09 → feature enabled Signed-off-by: ozan956 <ozandurgut.2001@hotmail.com>
…hProfile (librepods-org#313) this prevents android from trying to reconnect to audio itself after we disconnect. this is essentially the same as toggling the 'Media Audio' and 'Phone Calls' settings in the android settings
… move off mode toggle to settings
|
quick update: due to upcoming exams and study pressures, i won't be able to actively make changes to this PR, and most of my implementations will either delayed or skipped. |
fixed popups interrupting media playback
Google's statements were ambiguous on if the workaround will be available on A17 or still on OEM to implement this specific patch. But the app does work on OneUI 9
will be released into stable as soon as I implement capability parsing
|
Quick update: Due to exams and a lack of Linux hardware at the moment, I won't be adding the remaining planned features to this PR. I've updated the description to reflect only the functionality that's already implemented. The remaining ideas can be tackled in separate PRs in the future. Although the branch history became a bit messy after syncing with upstream a few times, the actual changes in this PR are complete and compile successfully. If there's anything you'd like split out or reworked, I'm happy to do that when I have access to a Linux development environment again. Thanks for taking a look! :) |


this pr focuses on improving the new linux/rust app ui, overall airpods experience, and adding some new features/functionality, mainly tested using airpods 4 anc on fedora linux 44 kde (amd64).
a lot of this is based on issues/limitations i noticed while daily driving librepods for a while now, along with some followup improvements related to the new linux app rewrite (#241) and my previous scrollable ui fix pr (#586).
currently some parts of the ui still feel a bit cramped/incomplete compared to the experience on apple devices, especially stuff like battery indicators, disconnected states, listening mode controls, and visibility of sensitive information.
also noticed some weird behavior/issues while using the app daily, mainly around ear detection/playback handling and media controls on my setup, so this pr will also include fixes/improvements related to that wherever possible.
improvements/features for this pr:
Quick update
Due to exams and a lack of Linux hardware at the moment, I won't be adding the remaining planned features to this PR.
I've updated the description to reflect only the functionality that's already implemented. The remaining ideas can be tackled in separate PRs in the future.
Although the branch history became a bit messy after syncing with upstream a few times, the actual changes in this PR are complete and compile successfully. If there's anything you'd like split out or reworked, I'm happy to do that when I have access to a Linux development environment again.
Thanks for taking a look! :)
AI Usage
AI was used only as a writing assistant for parts of this pull request, including the PR description, commit messages, and some discussion/comments.
The implementation itself—including all code, debugging, testing, investigation, and design decisions—was done by me.