1e41f4b71Sopenharmony_ci# Telephony Subsystem Changelog
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci## cl.telephony.1 VoNRState Enum Value Change of setVoNState
6e41f4b71Sopenharmony_ci
7e41f4b71Sopenharmony_ciChanged the **VoNRState** enum values of the **setVoNState** API. The values value of **VONR_STATE_ON** is changed from **0** to **1** and that of **VONR_STATE_OFF** is defined as **0** to keep consistency with boolean values.
8e41f4b71Sopenharmony_ci
9e41f4b71Sopenharmony_ci**Change Impact**
10e41f4b71Sopenharmony_ci
11e41f4b71Sopenharmony_ciThe new **VoNRState** enum values need to be used when **setVoNState** is called. The API function remains unchanged.
12e41f4b71Sopenharmony_ci
13e41f4b71Sopenharmony_ci**Key API/Component Changes**
14e41f4b71Sopenharmony_ci
15e41f4b71Sopenharmony_ciBefore change:
16e41f4b71Sopenharmony_ci
17e41f4b71Sopenharmony_ci```js
18e41f4b71Sopenharmony_cifunction setVoNRState(slotId: number, state: VoNRState, callback: AsyncCallback<void>): void;
19e41f4b71Sopenharmony_ci
20e41f4b71Sopenharmony_ci/**
21e41f4b71Sopenharmony_ci * @systemapi Hide this for inner system use.
22e41f4b71Sopenharmony_ci * @since 10
23e41f4b71Sopenharmony_ci */
24e41f4b71Sopenharmony_ciexport enum VoNRState {
25e41f4b71Sopenharmony_ci    /** Indicates the VoNR switch is on */
26e41f4b71Sopenharmony_ci    VONR_STATE_ON = 0,
27e41f4b71Sopenharmony_ci}
28e41f4b71Sopenharmony_ci```
29e41f4b71Sopenharmony_ci
30e41f4b71Sopenharmony_ciAfter change:
31e41f4b71Sopenharmony_ci
32e41f4b71Sopenharmony_ci```js
33e41f4b71Sopenharmony_cifunction setVoNRState(slotId: number, state: VoNRState, callback: AsyncCallback<void>): void;
34e41f4b71Sopenharmony_ci
35e41f4b71Sopenharmony_ci/**
36e41f4b71Sopenharmony_ci * Indicates the VoNR state.
37e41f4b71Sopenharmony_ci *
38e41f4b71Sopenharmony_ci * @enum { number }
39e41f4b71Sopenharmony_ci * @syscap SystemCapability.Telephony.CallManager
40e41f4b71Sopenharmony_ci * @systemapi Hide this for inner system use.
41e41f4b71Sopenharmony_ci * @since 10
42e41f4b71Sopenharmony_ci */
43e41f4b71Sopenharmony_ciexport enum VoNRState {
44e41f4b71Sopenharmony_ci    /**
45e41f4b71Sopenharmony_ci     * Indicates the VoNR switch is off.
46e41f4b71Sopenharmony_ci     *
47e41f4b71Sopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
48e41f4b71Sopenharmony_ci     * @systemapi Hide this for inner system use.
49e41f4b71Sopenharmony_ci     * @since 10
50e41f4b71Sopenharmony_ci     */
51e41f4b71Sopenharmony_ci    VONR_STATE_OFF = 0,
52e41f4b71Sopenharmony_ci
53e41f4b71Sopenharmony_ci    /**
54e41f4b71Sopenharmony_ci     * Indicates the VoNR switch is on.
55e41f4b71Sopenharmony_ci     *
56e41f4b71Sopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
57e41f4b71Sopenharmony_ci     * @systemapi Hide this for inner system use.
58e41f4b71Sopenharmony_ci     * @since 10
59e41f4b71Sopenharmony_ci     */
60e41f4b71Sopenharmony_ci    VONR_STATE_ON = 1,
61e41f4b71Sopenharmony_ci}
62e41f4b71Sopenharmony_ci```
63e41f4b71Sopenharmony_ci
64e41f4b71Sopenharmony_ci
65e41f4b71Sopenharmony_ci**Adaptation Guide**
66e41f4b71Sopenharmony_ci
67e41f4b71Sopenharmony_ciWhen calling **setVoNState**, use the new **VoNRState** enum values. The sample code is as follows:
68e41f4b71Sopenharmony_ci
69e41f4b71Sopenharmony_ci
70e41f4b71Sopenharmony_ci```js
71e41f4b71Sopenharmony_cicall.setVoNRState( 0, VONR_STATE_ON, (err) => {
72e41f4b71Sopenharmony_ci    if (err) {
73e41f4b71Sopenharmony_ci        console.log(`callback: err->${JSON.stringify(err)}`);
74e41f4b71Sopenharmony_ci    }
75e41f4b71Sopenharmony_ci    
76e41f4b71Sopenharmony_ci});
77e41f4b71Sopenharmony_cicall.setVoNRState( 0, VONR_STATE_OFF, (err) => {
78e41f4b71Sopenharmony_ci    console.log(`callback: err->${JSON.stringify(err)}`);
79e41f4b71Sopenharmony_ci});
80e41f4b71Sopenharmony_ci```
81e41f4b71Sopenharmony_ci
82e41f4b71Sopenharmony_ci
83e41f4b71Sopenharmony_ci## cl.telephony.2 Callback Value Change of setVoNState
84e41f4b71Sopenharmony_ci
85e41f4b71Sopenharmony_ciChanged the callback value of **setVoNState** from a boolean value to **void**.
86e41f4b71Sopenharmony_ci
87e41f4b71Sopenharmony_ci**Change Impact**
88e41f4b71Sopenharmony_ci
89e41f4b71Sopenharmony_ciThe callback value needs to be set to **void** when **setVoNState** is called.
90e41f4b71Sopenharmony_ci
91e41f4b71Sopenharmony_ci**Key API/Component Changes**
92e41f4b71Sopenharmony_ci
93e41f4b71Sopenharmony_ciBefore change:
94e41f4b71Sopenharmony_ci
95e41f4b71Sopenharmony_ci```js
96e41f4b71Sopenharmony_cifunction setVoNRState(slotId: number, state: VoNRState, callback: AsyncCallback<boolean>): void;
97e41f4b71Sopenharmony_cifunction setVoNRState(slotId: number, state: VoNRState): Promise<boolean>;
98e41f4b71Sopenharmony_ci
99e41f4b71Sopenharmony_ci```
100e41f4b71Sopenharmony_ci
101e41f4b71Sopenharmony_ciAfter change:
102e41f4b71Sopenharmony_ci
103e41f4b71Sopenharmony_ci```js
104e41f4b71Sopenharmony_cifunction setVoNRState(slotId: number, state: VoNRState, callback: AsyncCallback<void>): void;
105e41f4b71Sopenharmony_cifunction setVoNRState(slotId: number, state: VoNRState): Promise<void>;
106e41f4b71Sopenharmony_ci```
107e41f4b71Sopenharmony_ci
108e41f4b71Sopenharmony_ci**Adaptation Guide**
109e41f4b71Sopenharmony_ci
110e41f4b71Sopenharmony_ciSet the callback value to **void** when calling **setVoNState**. The sample code is as follows:
111e41f4b71Sopenharmony_ci
112e41f4b71Sopenharmony_ci```js
113e41f4b71Sopenharmony_cicall.setVoNRState( 0, VONR_STATE_ON, (err) => {
114e41f4b71Sopenharmony_ci    if (err) {
115e41f4b71Sopenharmony_ci        console.log(`callback: err->${JSON.stringify(err)}`);
116e41f4b71Sopenharmony_ci    }
117e41f4b71Sopenharmony_ci    
118e41f4b71Sopenharmony_ci});
119e41f4b71Sopenharmony_cicall.setVoNRState( 0, VONR_STATE_OFF, (err) => {
120e41f4b71Sopenharmony_ci    console.log(`callback: err->${JSON.stringify(err)}`);
121e41f4b71Sopenharmony_ci});
122e41f4b71Sopenharmony_ci```
123