Improve device profile creation UI and fix navigation bar overlaps

- Fix navigation bar overlap issues in profile creation and list screens
- Add proper edge-to-edge handling with dynamic padding for navigation bars
- Improve paired device selection with "None" option and clear functionality
- Add localized error messages for key validation with proper placeholders
- Centralize default signal quality value in DeviceProfile companion object
- Add unsaved changes detection and confirmation dialogs
- Enhance drag handle touch target size with FrameLayout wrapper
- Restore device address in profile editing and improve change tracking
- Localize all user-facing strings following project guidelines
This commit is contained in:
darken
2025-09-29 13:37:01 +02:00
parent d6af8e21cc
commit b96d6ef4db
133 changed files with 1037 additions and 1007 deletions
+34 -48
View File
@@ -53,18 +53,6 @@
<string name="settings_compat_offloaded_batching_disabled_title">Disable hardware batching</string>
<string name="settings_compat_offloaded_batching_disabled_summary">Don\'t let the system group collected BLE data before forwarding it to us.</string>
<string name="settings_maindevice_address_label">Your device address</string>
<string name="settings_maindevice_address_description">The address of your paired device. The app uses this to determine when it is connected to your phone.</string>
<string name="settings_maindevice_address_none">None</string>
<string name="settings_maindevice_model_label">Your device model</string>
<string name="settings_maindevice_model_description">The model of your main device. This helps the app recognize your device when it is not connected to your phone.</string>
<string name="settings_maindevice_identitykey_label">Identity Key</string>
<string name="settings_maindevice_identitykey_description">Your device\'s Identity Resolving Key (IRK), which helps CAPod identify it among nearby devices.</string>
<string name="settings_maindevice_identitykey_explanation">AirPods frequently change their Bluetooth address for privacy. The IRK helps CAPod recognize your device. You need one-time access to a MacBook.</string>
<string name="settings_maindevice_encryptionkey_label">Encryption Key</string>
<string name="settings_maindevice_encryptionkey_description">Your device\'s encryption key, which allows CAPod to retrieve detailed status information.</string>
<string name="settings_maindevice_encryptionkey_explanation">AirPods send a status message, part of which is encrypted. The encryption key allows CAPod to decrypt the full message. You need one-time access to a MacBook.</string>
<string name="settings_onepod_mode_label">One pod mode</string>
<string name="settings_onepod_mode_description">Wearing both pods is not required, wearing a single pod is sufficient to trigger reactions.</string>
<string name="settings_popup_caseopen_label">Show case popup</string>
@@ -227,42 +215,40 @@
<string name="permission_post_notifications_description">"Allow CAPod to show notifications about your AirPods, e.g. their current status while connected."</string>
<!-- Device profiles -->
<string name="device_profiles_empty_title">No device profiles configured</string>
<string name="device_profiles_empty_description">Create device profiles to manage multiple devices with custom settings and priorities.</string>
<string name="device_profiles_add_action">Add profile</string>
<string name="device_profiles_create_title">Create Profile</string>
<string name="device_profiles_edit_title">Edit Profile</string>
<string name="device_profiles_name_label">Profile name</string>
<string name="device_profiles_name_hint">My AirPods Pro</string>
<string name="device_profiles_model_label">Device model</string>
<string name="device_profiles_model_hint">Select your device model</string>
<string name="device_profiles_paired_device_label">Paired device (optional)</string>
<string name="device_profiles_paired_device_hint">Select paired Bluetooth device</string>
<string name="device_profiles_priority_label">Priority</string>
<string name="device_profiles_priority_hint">0 (highest priority)</string>
<string name="device_profiles_priority_description">Lower numbers have higher priority. Use 0 for your main device.</string>
<string name="device_profiles_save_action">Save profile</string>
<string name="device_profiles_validation_name_required">Profile name is required</string>
<string name="device_profiles_validation_priority_invalid">Priority must be a number between 0 and 999</string>
<string name="device_profiles_priority_default">0</string>
<string name="device_profiles_identity_key_label">Identity Key: Not set</string>
<string name="device_profiles_identity_key_set">Configured</string>
<string name="device_profiles_encryption_key_label">Encryption Key: Not set</string>
<string name="device_profiles_encryption_key_set">Configured</string>
<string name="device_profiles_identity_key_title">Identity Key (IRK)</string>
<string name="device_profiles_identity_key_not_set">Not configured</string>
<string name="device_profiles_identity_key_description">Optional: Identity key for enhanced device recognition</string>
<string name="device_profiles_encryption_key_title">Proximity Encryption Key</string>
<string name="device_profiles_encryption_key_not_set">Not configured</string>
<string name="device_profiles_encryption_key_description">Optional: Encryption key for proximity data decryption</string>
<string name="device_profiles_drag_handle_description">Drag to reorder</string>
<string name="device_profiles_delete_title">Delete Profile</string>
<string name="device_profiles_delete_message">Are you sure you want to delete this profile? This action cannot be undone.</string>
<string name="device_profiles_delete_action">Delete</string>
<string name="device_profiles_basic_info_title">Device Information</string>
<string name="device_profiles_basic_info_description">Configure your device name, model, and optional Bluetooth pairing.</string>
<string name="device_profiles_signal_quality_title">Minimum Signal Quality</string>
<string name="device_profiles_signal_quality_description">Only detect devices with signal strength above this threshold. Lower values increase detection range but may cause false positives.</string>
<string name="profiles_empty_title">No device profiles configured</string>
<string name="profiles_empty_description">Create device profiles to manage multiple devices with custom settings and priorities.</string>
<string name="profiles_add_action">Add profile</string>
<string name="profiles_create_title">Create Profile</string>
<string name="profiles_name_label">Profile name</string>
<string name="profiles_name_default">My Headphones</string>
<string name="profiles_model_label">Device model</string>
<string name="profiles_paired_device_label">Paired device</string>
<string name="profiles_paired_device_none">None</string>
<string name="profiles_paired_device_none_description">No device selected</string>
<string name="profiles_save_action">Save profile</string>
<string name="profiles_drag_handle_description">Drag to reorder</string>
<string name="profiles_delete_title">Delete Profile</string>
<string name="profiles_delete_message">Are you sure you want to delete this profile? This action cannot be undone.</string>
<string name="profiles_delete_action">Delete</string>
<string name="profiles_basic_info_title">Device Information</string>
<string name="profiles_basic_info_description">Configure your device name, model, and optional Bluetooth pairing.</string>
<string name="profiles_signal_quality_title">Minimum Signal Quality</string>
<string name="profiles_signal_quality_description">Only detect devices with signal strength above this threshold. Lower values increase detection range but may cause false positives. Don\'t set this too high - Bluetooth reception is generally poor and varies with distance and obstacles.</string>
<string name="profiles_identitykey_label">Identity Key</string>
<string name="profilessettings_maindevice_identitykey_description">Your device\'s Identity Resolving Key (IRK), which helps CAPod identify it among nearby devices.</string>
<string name="profiles_maindevice_identitykey_explanation">AirPods frequently change their Bluetooth address for privacy. The IRK helps CAPod recognize your device. You need one-time access to a MacBook.</string>
<string name="profiles_maindevice_encryptionkey_label">Encryption Key</string>
<string name="profiles_maindevice_encryptionkey_description">Your device\'s encryption key, which allows CAPod to retrieve detailed status information.</string>
<string name="profiles_maindevice_encryptionkey_explanation">AirPods send a status message, part of which is encrypted. The encryption key allows CAPod to decrypt the full message. You need one-time access to a MacBook.</string>
<string name="profiles_key_invalid_format">Invalid key format</string>
<string name="profiles_key_expected_format">Expected format: %1$s</string>
<!-- Unsaved changes dialog -->
<string name="general_unsaved_changes_title">Unsaved Changes</string>
<string name="general_unsaved_changes_message">You have unsaved changes. What would you like to do?</string>
<string name="general_save_and_exit_action">Save &amp; Exit</string>
<string name="general_discard_action">Discard</string>
<string name="general_keep_editing_action">Keep Editing</string>
</resources>