Add preferences for AirPods Identity and Encryption Keys

This commit introduces settings for users to input their AirPods' Identity Resolving Key (IRK) and Encryption Key. These keys, obtainable via a MacBook, allow CAPod to reliably identify the AirPods and decrypt detailed status information.

Key changes:
- Added new preferences in General Settings for IRK and Encryption Key.
- Implemented a custom dialog for key input, including validation and a link to a guide.
- Added a Moshi adapter for serializing/deserializing `ByteArray` to/from Base64 for storing the keys.
- Included new string resources for labels, descriptions, and explanations related to the keys.
- Added new icons for the key preferences.
This commit is contained in:
darken
2025-06-06 06:03:41 +02:00
committed by Matthias Urhahn
parent eb8a9b3b46
commit e8481cc8cd
11 changed files with 169 additions and 5 deletions
@@ -41,6 +41,18 @@
android:key="core.maindevice.model"
android:summary="@string/settings_maindevice_model_description"
android:title="@string/settings_maindevice_model_label" />
<Preference
android:icon="@drawable/ic_key_outline_24"
android:key="core.maindevice.identitykey"
android:summary="@string/settings_maindevice_identitykey_description"
android:title="@string/settings_maindevice_identitykey_label" />
<Preference
android:icon="@drawable/ic_key_24"
android:key="core.maindevice.encryptionkey"
android:summary="@string/settings_maindevice_encryptionkey_description"
android:title="@string/settings_maindevice_encryptionkey_label" />
</PreferenceCategory>
<PreferenceCategory