mirror of
https://github.com/kavishdevar/librepods.git
synced 2026-04-25 08:05:56 +03:00
[PR #180] [MERGED] android: add ability to launch digital assistant on long press #316
Labels
No labels
android
bug
documentation
enhancement
good first issue
help wanted
linux
pull-request
reverse-engineering
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/librepods#316
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/kavishdevar/librepods/pull/180
Author: @kavishdevar
Created: 7/13/2025
Status: ✅ Merged
Merged: 7/13/2025
Merged by: @kavishdevar
Base:
main← Head:dev📝 Commits (5)
8033214Initial planc9a13d1Implement BLE-only mode toggle and basic functionality6d78807Fix BLE-only mode compatibility issues and enhance MAC address handling04f941cAddress BLE-only mode feedback: hide renaming, add ear detection warning, ensure default is falsef2b52aaandroid: add support for invoking digital assistant on long press📊 Changes
20 files changed (+805 additions, -281 deletions)
View changed files
📝
android/app/src/main/java/me/kavishdevar/librepods/MainActivity.kt(+10 -10)📝
android/app/src/main/java/me/kavishdevar/librepods/QuickSettingsDialogActivity.kt(+3 -5)📝
android/app/src/main/java/me/kavishdevar/librepods/composables/BatteryView.kt(+4 -4)📝
android/app/src/main/java/me/kavishdevar/librepods/composables/ControlCenterNoiseControlSegmentedButton.kt(+1 -1)📝
android/app/src/main/java/me/kavishdevar/librepods/composables/IndependentToggle.kt(+1 -1)📝
android/app/src/main/java/me/kavishdevar/librepods/composables/NoiseControlSettings.kt(+2 -2)📝
android/app/src/main/java/me/kavishdevar/librepods/composables/PressAndHoldSettings.kt(+22 -2)📝
android/app/src/main/java/me/kavishdevar/librepods/constants/Packets.kt(+2 -115)➕
android/app/src/main/java/me/kavishdevar/librepods/constants/StemAction.kt(+42 -0)📝
android/app/src/main/java/me/kavishdevar/librepods/screens/AirPodsSettingsScreen.kt(+64 -39)📝
android/app/src/main/java/me/kavishdevar/librepods/screens/AppSettingsScreen.kt(+74 -0)📝
android/app/src/main/java/me/kavishdevar/librepods/screens/DebugScreen.kt(+2 -2)📝
android/app/src/main/java/me/kavishdevar/librepods/screens/PressAndHoldSettingsScreen.kt(+156 -46)📝
android/app/src/main/java/me/kavishdevar/librepods/services/AirPodsQSService.kt(+2 -2)📝
android/app/src/main/java/me/kavishdevar/librepods/services/AirPodsService.kt(+262 -20)📝
android/app/src/main/java/me/kavishdevar/librepods/utils/AACPManager.kt(+64 -4)📝
android/app/src/main/java/me/kavishdevar/librepods/utils/IslandWindow.kt(+21 -16)📝
android/app/src/main/java/me/kavishdevar/librepods/utils/MediaController.kt(+45 -0)📝
android/app/src/main/java/me/kavishdevar/librepods/utils/PopupWindow.kt(+18 -12)➕
android/app/src/main/res/drawable/settings_voice.xml(+10 -0)📄 Description
This pull request refactors the codebase by reorganizing constants, improving modularity, and enhancing the
PressAndHoldSettingsfunctionality. The most significant changes include moving constants fromutilsto a newconstantspackage, adding logic for customizable long-press actions, and cleaning up unused imports and code.Refactoring and Modularization:
AirPodsNotifications,NoiseControlMode, andBatteryfromutilsto a newconstantspackage for better organization (android/app/src/main/java/me/kavishdevar/librepods/constants/Packets.kt,android/app/src/main/java/me/kavishdevar/librepods/constants/StemAction.kt) [1] [2].Packetsfile during the refactor to streamline the codebase (android/app/src/main/java/me/kavishdevar/librepods/constants/Packets.kt).Enhancements to
PressAndHoldSettings:SharedPreferences. This includes support for actions like "Cycle Noise Control Modes" and "Digital Assistant" (android/app/src/main/java/me/kavishdevar/librepods/composables/PressAndHoldSettings.kt) [1] [2] [3].StemActionenum to define possible long-press actions (android/app/src/main/java/me/kavishdevar/librepods/constants/StemAction.kt).Import Cleanup:
constantspackage structure across multiple files (e.g.,MainActivity.kt,QuickSettingsDialogActivity.kt, andBatteryView.kt) [1] [2] [3].Minor Functional Updates:
bleOnlyModesetting inAirPodsSettingsScreento support BLE-only mode configuration (android/app/src/main/java/me/kavishdevar/librepods/screens/AirPodsSettingsScreen.kt).These changes improve code maintainability, enhance user customization options, and align with best practices for modularization.
^^ obviously ai :]
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.