Commit Graph

498 Commits

Author SHA1 Message Date
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
Ozan Durgut 574c193a6d linux: improve conversation detect logging (#302)
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>
2025-11-23 00:42:00 +05:30
Sergio LM 10bf2fe68c android(i18n): add Spanish translations (#310) 2025-11-22 21:47:08 +05:30
albanobattistella e192dc114b android(i18n): add Italian translation (#307)
Added Italian localization strings for the app.
2025-11-22 21:46:34 +05:30
Kavish Devar de82cdd8c2 android(fix): parse and send hearing aid data properly (#286) 2025-11-22 10:57:58 +05:30
Gabriel Oliveira a06c673400 android(i18n): add pt translation (#297) 2025-11-21 23:48:06 +05:30
Subhrajyoti Sen a80680ff73 docs: fix broken link to hearing aid gist (#304)
Without `https://`, URLs are treated as relative paths.
2025-11-21 23:37:54 +05:30
İbrahim Erdoğan 36c55169f1 android(i18n): add tr-TR (#303) 2025-11-21 23:36:58 +05:30
Brad 93ac06b8e3 linux(docs): add missing dependencies (#300) 2025-11-21 22:59:24 +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
Tyrone 8a5d6087c9 linux: AirPods Max battery status support (#272) 2025-11-20 13:14:40 +05:30
Kavish Devar f12fe90134 docs: clarify root requirement for oxygen/coloros 2025-11-20 12:31:27 +05:30
Iscle 8fbdfd879c android(refactor): remove unused textColor property and related preferences (#266) 2025-11-20 12:20:14 +05:30
Miko 0a608afbe6 refactor: Add Python type annotations wherever appropriate (#269)
* Add Python type annotations wherever appropriate

* Might as well annotate this too
2025-11-20 00:29:32 +05:30
ternera be362c5079 docs: fixed grammar in AAP definitions (#287)
minor typo corrections
2025-11-20 00:28:57 +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
unpleased 1dbb36a2aa docs: fix grammar in README (#277) 2025-11-19 20:56:22 +05:30
callie 938f0d5448 docs: Add Airpods Max to README (#260)
docs: update README
2025-11-18 02:04: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
Victor Adossi ("vados") 3696a4e729 docs(linux): use GitHub warning text for warning note (#248) 2025-11-16 09:20:24 +05:30
Mathias S. 7356e57878 linux: Use white text for tray icon battery percentage (#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
2025-11-13 14:46:18 +05:30
Hen acf2b9bea7 android(i18n): added ukrainian translation (#245)
feat(i18n): added ukrainian translation with extracting of some string to resources. Auto generation of locale config
2025-11-13 07:51:18 +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
imgbot[bot] 89782d9b7c [ImgBot] Optimize images (#237)
*Total -- 2,162.84kb -> 1,856.20kb (14.18%)

/android/imgs/hearing-test.png -- 72.02kb -> 32.69kb (54.62%)
/android/imgs/customizations-1.png -- 187.73kb -> 147.89kb (21.22%)
/android/imgs/accessibility.png -- 175.15kb -> 139.03kb (20.62%)
/android/imgs/transparency.png -- 142.45kb -> 114.67kb (19.5%)
/android/imgs/hearing-aid-adjustments.png -- 118.17kb -> 95.98kb (18.78%)
/android/imgs/long-press.png -- 89.79kb -> 74.73kb (16.77%)
/linux/imgs/main-app.png -- 32.58kb -> 27.15kb (16.67%)
/android/imgs/settings-2.png -- 265.03kb -> 221.76kb (16.33%)
/android/imgs/hearing-aid.png -- 73.45kb -> 61.93kb (15.68%)
/android/imgs/customizations-2.png -- 300.41kb -> 264.08kb (12.09%)
/android/imgs/settings-1.png -- 199.67kb -> 186.42kb (6.64%)
/android/imgs/head-tracking-and-gestures.png -- 142.86kb -> 134.84kb (5.61%)
/android/app/src/main/res-apple/drawable/airpods_pro_3_case.png -- 51.93kb -> 50.72kb (2.34%)
/android/app/src/main/res-apple/drawable/airpods_4_case.png -- 51.93kb -> 50.72kb (2.34%)
/android/app/src/main/res-apple/drawable/airpods_2_case.png -- 51.93kb -> 50.72kb (2.34%)
/android/app/src/main/res-apple/drawable/airpods_pro_2_case.png -- 51.93kb -> 50.72kb (2.34%)
/android/app/src/main/res-apple/drawable/airpods_3_case.png -- 51.93kb -> 50.72kb (2.34%)
/android/app/src/main/res-apple/drawable/airpods_pro_1_case.png -- 51.93kb -> 50.72kb (2.34%)
/android/app/src/main/res-apple/drawable/airpods_1_case.png -- 51.93kb -> 50.72kb (2.34%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
Co-authored-by: ImgBotApp <ImgBotHelp@gmail.com>
2025-11-10 10:08:44 +05:30
汞齐 283f841855 android(i18n): Add complete Chinese translation (#240)
This pull request is purely a localization effort and **does not add any new features or UI elements** to the Android application. Its sole purpose is to enable a complete Chinese (zh-CN) display in a Chinese Android environment.

Changes:
- All translatable strings from  now have corresponding translated entries in .
- This significantly improves the user experience for Chinese-speaking users.
2025-11-05 19:19:09 +05:30
Marek Veselý 4c8ebe27bc android: Add missing HEAD_GESTURES capability to the Airpods Pro 3 (#239)
fix: Add missing HEAD_GESTURES capability to the Airpods Pro 3
2025-10-27 20:00:40 +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