diff --git a/.gitignore b/.gitignore index 55d96d1..12c7d98 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ testing.py - +.DS_Store # Android Template # Gradle files diff --git a/AAP Definitions.md b/AAP Definitions.md index 2c6b69c..3f8fe9f 100644 --- a/AAP Definitions.md +++ b/AAP Definitions.md @@ -211,6 +211,33 @@ The level can be any value between 0 and 100, 0 to allow maximum noise (i.e. min *I find it quite funny how I have greater control over the noise control on the AirPods on non-Apple devices than on Apple devices, becuase on Apple Devices, there are just 3 options More Noise (0), Midway through (50), and Less Noise (100), but here I can set any value between 0 and 100.* +# To-Do List + +- [x] Receive Battery Information +- [x] Set/Receive ANC Modes +- [x] Set Adaptive Audio Noise settings +- [x] Receive In-Ear detection Status +- [ ] Personalized Volume (idk how this works, if it received data from icloud, or is purely from airpods) +- [x] Conversational Awareness +- [x] Ear Detection +- [ ] Head Gestures +- [ ] Siri (Voice assistant on long stem press) +- [ ] Hold and Press configuration (this is really weird, mac sends different packets based on what the current status is, instead of a fixed packet for what the current button state is, like common there's only so many to map out numbers to states) +- [ ] Head Tracking (i really want this, could be easy, could be difficult, i'll never know because i don't have a device with apple silicon 😭) +- [x] Case Charging Sounds +- [x] Rename AirPods +- [ ] Mute Unmute Calls +- Accessibilty + - [ ] Press Speed + - [ ] Press and hold duration + - [ ] Noise Cancellation with one AirPod + - [ ] Tone Volume + - [ ] Toggle Volume Control on Swipe (APP only, i believe) + - [ ] Volume Swipe (Normal/Longer/Longest) + - [ ] Headphone accomodation (I literally can't tell the difference between any samples played, lol, also, idk if this is something that the mac does) + - [ ] Audio Tuning (idk if this is also smth that mac does) + - [ ] Customize Transparency Mode (This is gonna take some while to parse, it is 103 bytes :(... probably all the 4 sliders and 1 switch under this is sent as a whole) + # Miscellaneous/Unknown ## Configure Stem Long Press diff --git a/README.md b/README.md index 06f23d5..168f36f 100644 --- a/README.md +++ b/README.md @@ -5,12 +5,37 @@ ## Currently supported device(s) - AirPods Pro 2 +## Implemented Features + +| Feature | Linux | Android | +| --- | --- | --- | +| Ear Detection | ✅ | ✅ | +| Conversational Awareness | ✅ | ✅ | +| Setting Noise Control | ✅ | ✅ | +| Battery Level | ✅ | ✅ | +| Rename AirPods | ✅ | ❌ | +| Adjust Adaptive Audio | ❌ | ✅ | + + ## Linux Check out the README file in [linux](/linux) folder for more info. +This tray app communicates with a daemon with the help of a UNIX socket. The daemon is responsible for the actual communication with the AirPods. The tray app is just a frontend for the daemon, that does ear-detection, conversational awareness, setting the noise-cancellation mode, and more. +![Linux](/linux/imgs/tray-icon-hover.png) +![Linux](/linux/imgs/tray-icon-menu.png) + ## Android -Download the APK, and you're off! +> Currently, there's a [bug on android](https://issuetracker.google.com/issues/371713238) that prevents this from working (psst, go upvote!) + +But once that's fixed, or you have fixed the issue using root, download the APK, and you're off! + +I don't know how to write READMEs for android apps, because they're just that, apps. So, here's a screenshot of the app: + +![Settings Screen](/android/imgs/settings.png) +![Debug Screen](/android/imgs/debug.png) + +> Quick Tile to toggle Conversational Awareness and to switch Noise Control modes, and Battery Widget (App and AndroidSystemIntelligence)/Notification coming soon!! # License diff --git a/android/README.md b/android/README.md new file mode 100644 index 0000000..04a026f --- /dev/null +++ b/android/README.md @@ -0,0 +1,9 @@ +# Android App for ALN + +> Sorry, I don't know how to write READMEs for android apps, because they're just that, apps. So, here are 2 screenshots of the app: + +## Settings Screen +![Settings Screen](/android/imgs/settings.png) + +## Debug Screen +![Debug Screen](/android/imgs/debug.png) \ No newline at end of file diff --git a/android/imgs/debug.png b/android/imgs/debug.png new file mode 100755 index 0000000..f2ca95e Binary files /dev/null and b/android/imgs/debug.png differ diff --git a/android/imgs/settings.png b/android/imgs/settings.png new file mode 100755 index 0000000..ac5cab9 Binary files /dev/null and b/android/imgs/settings.png differ