Coverage for src/bluetooth_sig/gatt/services/generic_voice_assistant.py: 100%

6 statements  

« prev     ^ index     » next       coverage.py v7.14.3, created at 2026-06-28 01:26 +0000

1"""Generic Voice Assistant Service implementation.""" 

2 

3from __future__ import annotations 

4 

5from typing import ClassVar 

6 

7from ..characteristics.registry import CharacteristicName 

8from .base import BaseGattService 

9 

10 

11class GenericVoiceAssistantService(BaseGattService): 

12 """Generic Voice Assistant Service implementation (0x185F). 

13 

14 Per VAS spec Section 2.6: GVAS uses the same characteristic requirements 

15 as VAS (Table 3.1) for the device's default voice assistant instance. 

16 """ 

17 

18 service_characteristics: ClassVar[dict[CharacteristicName, bool]] = { 

19 CharacteristicName.VOICE_ASSISTANT_NAME: True, 

20 CharacteristicName.VOICE_ASSISTANT_UUID: True, 

21 CharacteristicName.VOICE_ASSISTANT_SERVICE_CONTROL_POINT: True, 

22 CharacteristicName.CONTENT_CONTROL_ID: True, 

23 CharacteristicName.VOICE_ASSISTANT_SESSION_STATE: True, 

24 CharacteristicName.VOICE_ASSISTANT_SUPPORTED_FEATURES: True, 

25 CharacteristicName.INSTALLED_LOCATION: False, 

26 CharacteristicName.VOICE_ASSISTANT_SESSION_FLAG: False, 

27 CharacteristicName.VOICE_ASSISTANT_SUPPORTED_LANGUAGES: False, 

28 }