Commit Graph
100 Commits
Author SHA1 Message Date
Kavish Devar 672e65ad36 ci: rename linux ci 2026-05-15 23:39:42 +05:30
Kavish Devar 4a9a2e7b64 linux-rust: handle disconnections and fix rename 2026-04-20 15:42:37 +05:30
Kavish Devar 2f1208ca87 linux-rust: bump dependencies and clean up media_controller 2026-04-06 13:54:33 +05:30
Kavish Devar 6f0323ee6b linux-rust: parse single battery of AirPods Max 2025-11-23 00:35:09 +05:30
Kavish Devar 4737cbfc2c linux-rust: add battery to window and add option for text in tray 2025-11-20 18:56:17 +05:30
Kavish Devar 093554da07 linux-rust: add v0.1.0 to flatpak manifest 2025-11-10 14:26:26 +05:30
Kavish Devar a01e16792a linux-rust: take version in justfile 2025-11-10 13:32:47 +05:30
Kavish Devar 253ed65afc linux-rust: add gitignore 2025-11-10 13:32:47 +05:30
Kavish Devar b1f3856d0f linux-rust: update justfile for last two files 2025-11-10 13:32:47 +05:30
Kavish Devar 99a689a0f8 linux-rust: update desktop entry to use rDNS icon name 2025-11-10 13:32:47 +05:30
Kavish Devar 0c9a2bd743 linux-rust: rename binary 2025-11-10 13:32:47 +05:30
Kavish Devar 6585cf648c linux-rust: add session-bus to flatpak manifest for tray 2025-11-10 13:32:47 +05:30
Kavish Devar 99e5b71676 linux-rust: fix source name flatpak manifest 2025-11-10 13:32:47 +05:30
Kavish Devar 47f02136cd linux-rust: add metainfo for flatpak 2025-11-10 13:32:47 +05:30
Kavish Devar 29c422528a linux-rust: add just file to build appimage 2025-11-10 13:32:47 +05:30
Kavish Devar 9d10eed85d linux-rust: add desktop file 2025-11-10 13:32:47 +05:30
Kavish Devar 9f7f4347ec linux-rust: decrease icon size to 256x256 2025-11-10 13:32:47 +05:30
Kavish Devar b7cd80edac linux-rust: cargo update 2025-11-10 13:32:47 +05:30
Kavish Devar 2049431817 linux-rust: parse encrypted ble info 2025-11-10 13:32:47 +05:30
Kavish Devar 23cf5728e9 linux-rust: add anc control for nothing device 2025-11-10 13:32:47 +05:30
Kavish Devar 381b09725b linux-rust: try enabling adaptive volume 2025-11-10 13:32:47 +05:30
Kavish Devar 3853e8ec9a linux-rust: add listening mode picker for airpods 2025-11-10 13:32:47 +05:30
Kavish Devar bf6630dbd1 linux-rust: implement bluetooth logic with ui
finally! only copying all ui from android to first release
2025-11-10 13:32:47 +05:30
Kavish Devar a2cda688d4 linux-rust: add skeleton for other devices 2025-11-10 13:32:47 +05:30
Kavish Devar 934df2419a linux-rust: add bt communication to ui 2025-11-10 13:32:47 +05:30
Kavish Devar 64470c4d34 linux-rust: show device info in UI 2025-11-10 13:32:47 +05:30
Kavish Devar fa8bc11060 linux-rust: parse and store device info 2025-11-10 13:32:47 +05:30
Kavish Devar c5a824c384 linux-rust: remove unused features from iced 2025-11-10 13:32:47 +05:30
Kavish Devar 99beeb5907 linux-rust: add --start-minimized 2025-11-10 13:32:47 +05:30
Kavish Devar 17b545481e linux-rust: fix conv detect 2025-11-10 13:32:47 +05:30
Kavish Devar 320964e9d7 linux-rust: add dummy UI 2025-11-10 13:32:47 +05:30
Kavish Devar 51b3d4692a linux-rust: fix conv-detect and add le auto-connect 2025-11-10 13:32:47 +05:30
Kavish Devar 3a0cc2e7f4 linux-rust: remove sampling period from LE scanner
tbh, I did not want to get results right away; batching would have been fine. But, BlueR seems to give the first scan result only after 10s if I set sampling period.
2025-11-10 13:32:47 +05:30
Kavish Devar 26cee5c8a5 linux-rust: show battery info from LE in tray
should probably have an indication when not connected
2025-11-10 13:32:47 +05:30
Kavish Devar a007d9cd80 linux-rust: parse encrypted ble info 2025-11-10 13:32:47 +05:30
Kavish Devar b47469803b linux-rust: parse encrypted ble info 2025-11-10 13:32:47 +05:30
Kavish Devar 925c930073 linux-rust: add ble skeleton 2025-11-10 13:32:47 +05:30
Kavish Devar ccee82026d linux-rust: store irk and enc keys 2025-11-10 13:32:47 +05:30
Kavish Devar 99940b98ae linux-rust: add font 2025-11-10 13:32:47 +05:30
Kavish Devar fec226336c linux-rust: catch errors 2025-11-10 13:32:47 +05:30
Kavish Devar e5c2419ef6 linux-rust: optimize for size and add cli options 2025-11-10 13:32:47 +05:30
Kavish Devar 221680ff32 linux-rust: remove ATT temporarily 2025-11-10 13:32:47 +05:30
Kavish Devar 9da4c938ed linux-rust: add tipi 2025-11-10 13:32:47 +05:30
Kavish Devar 7dd029faa6 linux-rust: add att 2025-11-10 13:32:47 +05:30
Kavish Devar ae5a701257 linux-rust: fix battery parsing 2025-11-10 13:32:47 +05:30
Kavish Devar 0f04290fba linux-rust: fix conv-detect toggle in tray menu 2025-11-10 13:32:47 +05:30
Kavish Devar b0561e96df linux-rust: add conversational awareness 2025-11-10 13:32:47 +05:30
Kavish Devar c0ae061cc7 linux-rust: remove percent character from tray 2025-11-10 13:32:47 +05:30
Kavish Devar cf2a242d7c linux-rust: add tray icon 2025-11-10 13:32:47 +05:30
Kavish Devar 43bfbda21e linux-rust: implement basic connections 2025-11-10 13:32:47 +05:30
Kavish Devar 34f60699b8 ci: use just to build tarball 2025-11-10 13:32:40 +05:30
Kavish Devar a38ebd213b ci: fix indendation in linux ci 2025-11-10 12:02:24 +05:30
Kavish Devar 142e0c5e37 ci: upload appimage and binary separately 2025-11-10 12:00:24 +05:30
Kavish Devar a8963ecef5 ci: add libfuse in ci for appimage 2025-11-10 11:50:49 +05:30
Kavish Devar 53f5626914 ci: build appimage and vendored tarball for flatpak 2025-11-10 11:37:37 +05:30
Kavish Devar bc5bcd81b3 ci: run android CI only when android src is changed 2025-10-27 17:51:28 +05:30
Kavish Devar b72680a1c4 ci: build rust rewrite 2025-10-27 17:47:45 +05:30
Kavish Devar 816048f1f8 linux: parse enroled/enabled false as hearing aid disabled 2025-10-27 15:29:31 +05:30
Kavish Devar d6b98b70e8 linux: fix hearing aid control cmd value
closes #236
2025-10-27 15:26:41 +05:30
Kavish Devar f62a57c888 android: fix find replace mess-up 2025-10-27 15:19:10 +05:30
Kavish Devar f7bb1ce6fc docs: update readme 2025-10-27 15:19:10 +05:30
Kavish Devar 9bf3e64b20 docs: update readme 2025-10-26 21:34:41 +05:30
Kavish Devar 217455fecb android: bump version 2025-10-26 21:10:44 +05:30
Kavish Devar 84d5fa466e stop linux ci
development for the old version is stopped. rewrite wip
2025-10-26 21:10:35 +05:30
Kavish Devar 8eb6eba049 android: multidevice capabilites and accessiblity features (and "liquid glass") (#202)
many thanks to @rithvikvibhu for help with the hearing aids feature

adds:
hearing aid
two-device connection
new UI
transparency mode customization

commits:
* android: add accessibility stuff

adds option for customizing transparency mode, amplification, tone, etc.

* docs: update transparency mode format

* android: don't 'start' service every time MainActivity is launched

* android: add basic multidevice capabilities

use at your own risk, may or may not work

* android: clean up a bit of AI gen'd code

* android: clean up main service and remove minimum API on head gestures

* android: clean up a lot of stuff

* android: implement the accessiblity settings page

* android: add EQ settings for phone and media

* android: add toggle for DID hook

* docs: add 'has ownership' control cmd

* android: fix balance NaN error when amplification L/R is both zero

* android: bring back some accessiblity settings and add listeners for all config

* android: add header to ATTManager

* android: use device name sent by the connected device in island

* android: fix track color in tone volume

* android: remove unused composable

* android: update eq sliders style

* android: fix text color in selectors

* android: add delay before starting head tracking again

* android: add a few options

ik not the right branch/pr but, eh, i am not merging this hook until i test further, and if i don't merge, conflicts, a lot of 'em

* android: a small ui fix

* docs: a few more control cmds

* android: add microphone setting

also, un-hardcoded strings, and updated text sizes

* android: improve dropdowns

ai generated

* android: move attmanager to service to avoid trying to connect multiple times

* android: add ui for hearing stuff

mostly copied from the transparency settings, which are now updated to match ios <26 ui

* android: add media assist options in hearing aid

ui only

* android: add hearing aid adjustments

* android: liquidglass sliders

* android: improve liquid glass sliders

* android: little more liquid glass

* android: fix hearing aid parsing

* android: remove customdeviceactivity from manifest

* android: remove unused strings

* android: small ui tweaks

* android: a very big commit

refactoring ui, mostly

* android: move padding to StyledScaffold's content

because haze needs it

* android: revert accidental capitalization on toggle label

* android: update usages for toggle

* android: liquidglass, maybe?

the switch and icon button took quite a while. i forgot the order of modifiers matters!

* remove bleonly mode, use CAPod instead

* remove bleonly mode, use CAPod instead

* android: fix switch styling

* android: remove fade from transition

* android: add A16's new bluetooth identifier for log collection

just why...

* android: fix crash in head gestures screen

* android: show head gestures status in the navigation button

* android: don't crash if att not available

* android: use lazycolumn in airpods settings for better performance and navigation transitions

* android: fix text color in troubshooting button and pressandhold settings

* android: bring back original confirmation dialog

too lazy to fix/implement properly the glassy one

* android: prevent hearing aid turning off itself

* android: hide media assist, not implemented

* docs: update README with new features

* docs: add demo video

* docs: add new screenshots for android

* docs: update demo video position

* docs: app3 compatibility

* docs: new control cmds '25 (again)

* docs: change section title in control cmd doc

Updated section title from 'Control Commands' to 'Identifiers and details'.

* android: ui tweaks

* android: update styled slider thumb

* android: add accessiblity service for camera control

* android: add camera control, finally

i got too lazy to find out how to listen to app openings earlier, wasn't too hard

* android: add option to change camera app id

* android: not use relative paths for executing commands

i hope it's the same across all skins

* android: fix transparency and noise cancellation flags

huh... was it always like this?

* android: revert to using relative paths for su

compatibility issues with magisk

* android: bump version

* android: don't crash if self MAC is not available

* android: remove unused LOCAL_ADDRESS permission

* android: add opensource licenses

should've done this a long time ago!

* android: move navigation button to activity level

* android: update animation time on switch tap

* android: implement setting hearing test results

* android: update title in hearing test screen

* docs: add screenshot for hearing test

* android: fix haze for dialog when enabling hearing aid

* android: parse device info

* android: add support for various models

still need to update images or find a way to fetch from apple's cdn

* android: fix a2dp connection

* android: remove stray eq config in accessibility settings

* android: improve connection handling

* android: add a (very important) support dialog

to not be invasive, this only shows up once, and never again.

* docs: add note for DID hook on android
2025-10-26 21:03:49 +05:30
Kavish Devar e437572355 linux: remove specific qt version requirement 2025-10-20 14:50:23 +05:30
Kavish Devar f062eb43b3 linux: hearing aid support (#230)
* linux: add hearing aid

it's just a simple python script, with a toggle in the main app. i dont want to mess with the main app because it uses ATT instead of the AACP protocol which is implemented in the app.

* linux: implement adding hearing aid test results

* docs: add linux screenshot

* docs: add linux hearing aid script

* linux: add reset button for hearing aid adjustments

* linux: remove MAC address logging for security
2025-10-16 12:13:57 +05:30
Kavish Devar b5d1ad0dd5 linux: add support for multiple media players (#222)
also add wait for setting card profiles to complete
2025-10-02 12:06:44 +05:30
Kavish Devar a6d6e0e13c linux: fix name for preferred a2dp profile in mediacontroller 2025-10-02 11:33:23 +05:30
Kavish Devar fe774d565d linux: replace pactl calls with libpulse (#221) 2025-10-02 11:25:41 +05:30
Kavish Devar 120681541f docs: remove instructions for phone mac address
Removed instructions for setting PHONE_MAC_ADDRESS, handled in UI.
2025-10-02 00:47:40 +05:30
Kavish Devar b732c66962 linux: add desktop entry file (#204) 2025-09-23 10:12:37 +05:30
Kavish Devar 802c2e0220 linux: fix app name 2025-09-03 13:48:57 +05:30
Kavish Devar f547cc13c0 linux: fix conversational awareness check for phone MAC 2025-09-03 03:28:59 +05:30
Kavish Devar 73e55a02d6 add instructions for windows for prox keys script 2025-09-03 03:21:41 +05:30
Kavish Devar 325ef1e953 add cross-platform tool for retrieving proxmity key 2025-09-03 03:17:25 +05:30
Kavish Devar 75fa80c17e android,linux: fix random volume jumps (#192)
* android: update feature flags packet data byte to remove adaptive volume
* linux: update feature flags to prevent volume jumps
2025-08-25 21:25:29 +05:30
Kavish Devar 46071f17d7 android: remove broken volume panel hook
Removed volume panel hooking logic and related classes.
2025-08-25 17:41:53 +05:30
Kavish Devar 13ab2d1feb docs: add more control commands ('25)
auto-pause when sleeping, system siri message, set recv raw gestures, 2 eq settings, in-case tone volume, allow auto-connect, disable button input
2025-08-14 10:33:52 +05:30
Kavish Devarkavishdevarcopilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
24686da1f3 android: add ability to launch digital assistant on long press (#180)
* Initial plan

* Implement BLE-only mode toggle and basic functionality

Co-authored-by: kavishdevar <46088622+kavishdevar@users.noreply.github.com>

* Fix BLE-only mode compatibility issues and enhance MAC address handling

Co-authored-by: kavishdevar <46088622+kavishdevar@users.noreply.github.com>

* Address BLE-only mode feedback: hide renaming, add ear detection warning, ensure default is false

Co-authored-by: kavishdevar <46088622+kavishdevar@users.noreply.github.com>

* android: add support for invoking digital assistant on long press

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2025-07-13 19:51:37 +05:30
Kavish Devar 3b20540c34 android: fix duplicate screenshot in readme 2025-06-05 18:25:43 +05:30
Kavish Devar 595797c703 android: hook libbluetooth_qti.so too 2025-06-05 18:03:09 +05:30
Kavish Devar 0d582d890b android: add irk and encryption key from a qr 2025-06-05 13:13:49 +05:30
Kavish Devar dcb25e2e52 [ImgBot] Optimize images 2025-06-04 17:15:18 +05:30
Kavish Devar 5dc7e512ae update readme 2025-06-03 20:35:29 +05:30
Kavish Devar b8e9765aff merge linux changes with local 2025-06-03 20:12:47 +05:30
Kavish Devar 62aabe80c1 android: add support for settings hook on A16 2025-06-03 20:12:25 +05:30
Kavish Devar dc0b06a369 android: remove volume panel hook
I've moved away from AOSP and I can't maintain the hook for pixel/AOSP ROMs
2025-06-03 20:11:08 +05:30
Kavish Devar 96baebee28 Update name in linux README 2025-06-03 14:22:57 +05:30
Kavish Devar b783b86b7a android: add update config for root module 2025-05-30 17:33:47 +05:30
Kavish Devar 445c999208 android: start head gestures after auto-connect 2025-05-30 17:30:30 +05:30
Kavish Devar 96e63cf35e android: fix head gestures not working 2025-05-21 21:52:41 +05:30
Kavish Devar 5472e09293 android: fix island not closing 2025-05-20 22:31:53 +05:30
Kavish Devar e852182b48 android: use encrypted data from BLE broadcast for accurate battery levels when not connected over AACP 2025-05-20 14:52:05 +05:30
Kavish Devar 5eb13ace0c android: improve ble-based autoconnection 2025-05-20 09:54:18 +05:30
Kavish Devar 2b1fb5b71e android: use broadcasted battery data if not connected via l2cap for popup 2025-05-19 18:26:44 +05:30
Kavish Devar c95a619465 android: bump version 2025-05-19 17:39:55 +05:30
Kavish Devar c4bc47c48a merge the a11 fix with local 2025-05-19 17:28:30 +05:30
Kavish Devar 6a026ebab0 android: refactor AACP and add autoconnect based on BLE broadcasts 2025-05-19 17:24:41 +05:30
Kavish Devar f3ed3bbc70 [Linux] Add One Bud ANC Mode setting (#128) 2025-05-16 18:10:20 +05:30