Commit Graph
100 Commits
Author SHA1 Message Date
Kavish Devar bf6a3cac4a android: add back troubleshooter for non-Play builds 2026-04-23 00:47:09 +05:30
Kavish Devar fce90cf88a android: add logs in xposed module 2026-04-23 00:46:06 +05:30
Kavish Devar 3346221569 android: remove camera control
accessibility service kept on disabling automatically
2026-04-23 00:08:01 +05:30
Kavish Devar 9355a0cef1 android: something 2026-04-23 00:08:00 +05:30
Kavish Devar 45915ca560 android: add demo mode; fix issues on UI start 2026-04-23 00:07:59 +05:30
Kavish Devar 78920ef486 android: remove backdrop libs 2026-04-23 00:07:59 +05:30
Kavish Devar 7d58fb502a android: 'testing' for Play relase
yeah... no big changes, unfortunately
2026-04-23 00:07:55 +05:30
Kavish Devar e2308387fa android: read listening mode status from service when picker is composed 2026-04-23 00:07:55 +05:30
Kavish Devar e3b1f4f93b android: remove duplicate assets & add stem controls for airpods4anc 2026-04-23 00:07:54 +05:30
Kavish Devar 08484e055d android: remove reset offsets button
no longer needed, offset is now found in the xposed module itself
2026-04-23 00:07:54 +05:30
Kavish Devar 05da27331f android: remove QS dialog mode
problems with scaling currently; it will be worked upon later
2026-04-23 00:07:54 +05:30
Kavish Devar 0087b871a1 android: assume off listening mode is available when the control command is not available 2026-04-23 00:07:54 +05:30
Kavish Devar 8469ce4984 android: parse optimized charging status
thanks @d4rken
2026-04-23 00:07:53 +05:30
Kavish Devar a24a8986e1 android: remove duplicate assets
will add actual ones later
2026-04-23 00:07:53 +05:30
Kavish Devar 28c5510417 remove unused hook 2026-04-23 00:07:53 +05:30
Kavish Devar 2cd35a7e77 remove dependency on hiddenapibypass 2026-04-23 00:07:52 +05:30
Kavish Devar 4cff153402 disable DI hook and dependant functions 2026-04-23 00:07:52 +05:30
Kavish Devar 01e43a8e29 add A16QPR3 constructor for ATT
i really need to clean this up
2026-04-23 00:07:52 +05:30
Kavish Devar e8b0e4538b actually bring back DI hook 2026-04-23 00:07:51 +05:30
Kavish Devar c7778e15be bump version 2026-04-23 00:07:51 +05:30
Kavish Devar 6ccd068da8 add A16QPR3 constructor
it's almost as if google is doing this deliberately doing this
2026-04-23 00:07:51 +05:30
Kavish Devar 9893181498 add back DI hook 2026-04-23 00:07:51 +05:30
Kavish Devar 61ff89e114 android: disable DI hook
for CI
2026-04-23 00:07:50 +05:30
Kavish Devar d9f7e84daa remove radare2 onboarding
mostly ai generated, but I've tested it.
2026-04-23 00:07:50 +05:30
Kavish Devar c9abe2a167 call original fcr_chk_chan to set preferred mode to BASIC 2026-04-23 00:07:47 +05:30
Kavish Devar 3c714c2a26 docs: add discord invite and other badges
Added badges for stars, license, release, downloads, and issues to the README.
2026-04-05 22:08:01 +05:30
Kavish Devar 7fbbe07320 docs: refactor and add alternates to README 2026-03-31 20:52:00 +05:30
Kavish Devar 8ef839d4c1 linux: update icon 2026-03-31 09:41:09 +05:30
Kavish Devar b81e420398 docs: update root requirements in README 2026-03-30 15:10:48 +05:30
Kavish Devar 339c478564 docs: fix typo in README date 2025-12-29 18:21:35 +05:30
Kavish Devar c9dd79bb82 docs: add development paused note in README 2025-12-28 17:31:26 +05:30
Kavish Devar 345b7b9051 android(fix): set HSP/HFP policy to allow when connecting to audio (#318)
* android: use setConnectionProfile instead of (dis)connect on BluetoothProfile

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

* android(fix): set HSP/HFP policy to allow when connecting to audio

forgot to change it
2025-11-24 14:59:01 +05:30
Kavish Devar 826e395379 android: use setConnectionProfile instead of (dis)connect on BluetoothProfile (#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
2025-11-23 12:13:14 +05:30
Kavish Devar de82cdd8c2 android(fix): parse and send hearing aid data properly (#286) 2025-11-22 10:57:58 +05:30
Kavish Devar aa0898a65a android: remove sponsor dialog
hiding it, rather than removing it entirely
2025-11-21 10:23:25 +05:30
Kavish Devar ecfbcd1c02 android: set min version to 13
I haven't been able to figure out a workaround for pre-A13
2025-11-21 02:55:51 +05:30
Kavish Devar 5231b12c71 docs: add supporters and acknowledgments to README 2025-11-20 17:03:15 +05:30
Kavish Devar 0123449d80 docs: it's vendorid not manufacturerid
no idea where i got manufacturerid from
2025-11-20 16:43:48 +05:30
Kavish Devar f12fe90134 docs: clarify root requirement for oxygen/coloros 2025-11-20 12:31:27 +05:30
Kavish Devar 141f1e7604 android(fix): do not require phone's MAC for service start (#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
2025-11-19 23:20:24 +05:30
Kavish Devar e3eab3e31e docs: update root requirement
yay! finally some OEM fixed it
2025-11-17 12:27:24 +05:30
Kavish Devar 55d1a69b21 docs: fix linux app pr link 2025-11-17 03:07:06 +05:30
Kavish Devar f4fbcc9e88 remove CoC and contributing
dk why i added it in the first place
2025-11-17 02:56:15 +05:30
Kavish Devar 944195b193 docs: add linux screenshots to readme 2025-11-17 02:55:10 +05:30
Kavish Devar e8e1650145 docs: add dark themed star history 2025-11-16 20:12:40 +05:30
Kavish Devar 4a4494121d update license to GPLv3 2025-11-16 20:09:32 +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
Kavish Devar fd917d3fd0 [Linux] Add more control commands (#127) 2025-05-16 16:51:09 +05:30
Kavish Devar b89d6d9dc2 android: fix support for A11 and lower 2025-05-16 04:46:25 +00:00
Kavish Devar 6985aa4a7b fix typo in AAP docs 2025-05-15 22:54:12 +05:30
Kavish Devar 4c0381968f docs: create control_commands.md 2025-05-15 02:16:02 +05:30