• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2022 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License"),
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16import type accessibility from './@ohos.accessibility';
17import type { AsyncCallback, Callback } from './basic';
18
19/**
20 * Configuration of the accessibility.
21 *
22 * @namespace config
23 * @syscap SystemCapability.BarrierFree.Accessibility.Core
24 * @systemapi
25 * @since 9
26 */
27declare namespace config {
28  /**
29   * Indicates the configuration of high-contrast text.
30   *
31   * @syscap SystemCapability.BarrierFree.Accessibility.Core
32   * @systemapi
33   * @since 9
34   */
35  let highContrastText: Config<boolean>;
36  /**
37   * Indicates the configuration of invert color.
38   *
39   * @syscap SystemCapability.BarrierFree.Accessibility.Core
40   * @systemapi
41   * @since 9
42   */
43  let invertColor: Config<boolean>;
44  /**
45   * Indicates the configuration of daltonization color filter.
46   *
47   * @syscap SystemCapability.BarrierFree.Accessibility.Core
48   * @systemapi
49   * @since 9
50   */
51  let daltonizationColorFilter: Config<DaltonizationColorFilter>;
52  /**
53   * Indicates the configuration of content timeout.
54   *
55   * @syscap SystemCapability.BarrierFree.Accessibility.Core
56   * @systemapi
57   * @since 9
58   */
59  let contentTimeout: Config<number>;
60  /**
61   * Indicates the configuration of animation state.
62   *
63   * @syscap SystemCapability.BarrierFree.Accessibility.Core
64   * @systemapi
65   * @since 9
66   */
67  let animationOff: Config<boolean>;
68  /**
69   * Indicates the configuration of brightness discount.
70   *
71   * @syscap SystemCapability.BarrierFree.Accessibility.Core
72   * @systemapi
73   * @since 9
74   */
75  let brightnessDiscount: Config<number>;
76  /**
77   * Indicates the configuration of screen magnifier.
78   *
79   * @syscap SystemCapability.BarrierFree.Accessibility.Core
80   * @systemapi
81   * @since 9
82   */
83  let screenMagnifier: Config<boolean>;
84  /**
85   * Indicates the configuration of audio mono.
86   *
87   * @syscap SystemCapability.BarrierFree.Accessibility.Core
88   * @systemapi
89   * @since 9
90   */
91  let audioMono: Config<boolean>;
92  /**
93   * Indicates the configuration of audio balance.
94   *
95   * @syscap SystemCapability.BarrierFree.Accessibility.Core
96   * @systemapi
97   * @since 9
98   */
99  let audioBalance: Config<number>;
100  /**
101   * Indicates the configuration of mouse key state.
102   *
103   * @syscap SystemCapability.BarrierFree.Accessibility.Core
104   * @systemapi
105   * @since 9
106   */
107  let mouseKey: Config<boolean>;
108  /**
109   * Indicates the configuration of mouse auto click.
110   *
111   * @syscap SystemCapability.BarrierFree.Accessibility.Core
112   * @systemapi
113   * @since 9
114   */
115  let mouseAutoClick: Config<number>;
116  /**
117   * Indicates the configuration of short key state.
118   *
119   * @syscap SystemCapability.BarrierFree.Accessibility.Core
120   * @systemapi
121   * @since 9
122   */
123  let shortkey: Config<boolean>;
124  /**
125   * Indicates the configuration of short key target.
126   *
127   * @syscap SystemCapability.BarrierFree.Accessibility.Core
128   * @systemapi
129   * @since 9
130   */
131  let shortkeyTarget: Config<string>;
132  /**
133   * Indicates the configuration of captions state.
134   *
135   * @syscap SystemCapability.BarrierFree.Accessibility.Core
136   * @systemapi
137   * @since 9
138   */
139  let captions: Config<boolean>;
140  /**
141   * Indicates the configuration of captions style.
142   *
143   * @syscap SystemCapability.BarrierFree.Accessibility.Core
144   * @systemapi
145   * @since 9
146   */
147  let captionsStyle: Config<accessibility.CaptionsStyle>;
148
149  /**
150   * Enable the accessibility extension ability.
151   *
152   * @param { string } name Indicates the accessibility extension name, in "bundleName/abilityName" format.
153   * @param { Array<accessibility.Capability> } capability Indicates the ability.
154   * @returns { Promise<void> }
155   * @throws { BusinessError } 201 - Permission denied.
156   * @throws { BusinessError } 401 - Input parameter error.
157   * @throws { BusinessError } 9300001 - Invalid bundle name or ability name.
158   * @throws { BusinessError } 9300002 - Target ability already enabled.
159   * @syscap SystemCapability.BarrierFree.Accessibility.Core
160   * @systemapi
161   * @since 9
162   */
163  function enableAbility(name: string, capability: Array<accessibility.Capability>): Promise<void>;
164
165  /**
166   * Enable the accessibility extension ability.
167   *
168   * @param { string } name Indicates the accessibility extension name, in "bundleName/abilityName" format.
169   * @param { Array<accessibility.Capability> } capability Indicates the ability.
170   * @param { AsyncCallback<void> } callback
171   * @throws { BusinessError } 201 - Permission denied.
172   * @throws { BusinessError } 202 - Not system App.
173   * @throws { BusinessError } 401 - Input parameter error.
174   * @throws { BusinessError } 9300001 - Invalid bundle name or ability name.
175   * @throws { BusinessError } 9300002 - Target ability already enabled.
176   * @syscap SystemCapability.BarrierFree.Accessibility.Core
177   * @systemapi
178   * @since 9
179   */
180  function enableAbility(
181    name: string,
182    capability: Array<accessibility.Capability>,
183    callback: AsyncCallback<void>
184  ): void;
185
186  /**
187   * Disable the accessibility extension ability.
188   *
189   * @param { string } name Indicates the accessibility extension name, in "bundleName/abilityName" format.
190   * @returns { Promise<void> }
191   * @throws { BusinessError } 201 - Permission denied.
192   * @throws { BusinessError } 401 - Input parameter error.
193   * @throws { BusinessError } 9300001 - Invalid bundle name or ability name.
194   * @syscap SystemCapability.BarrierFree.Accessibility.Core
195   * @systemapi
196   * @since 9
197   */
198  function disableAbility(name: string): Promise<void>;
199
200  /**
201   * Disable the accessibility extension ability.
202   *
203   * @param { string } name Indicates the accessibility extension name, in "bundleName/abilityName" format.
204   * @param { AsyncCallback<void> } callback
205   * @throws { BusinessError } 201 - Permission denied.
206   * @throws { BusinessError } 202 - Not system App.
207   * @throws { BusinessError } 401 - Input parameter error.
208   * @throws { BusinessError } 9300001 - Invalid bundle name or ability name.
209   * @syscap SystemCapability.BarrierFree.Accessibility.Core
210   * @systemapi
211   * @since 9
212   */
213  function disableAbility(name: string, callback: AsyncCallback<void>): void;
214
215  /**
216   * Register the listener that watches for changes in the enabled status of accessibility extensions.
217   *
218   * @param { 'enabledAccessibilityExtensionListChange' } type Indicates the type of event.
219   * @param { Callback<void> } callback Indicates the listener.
220   * @throws { BusinessError } 401 - Input parameter error.
221   * @syscap SystemCapability.BarrierFree.Accessibility.Core
222   * @systemapi
223   * @since 9
224   */
225  function on(type: 'enabledAccessibilityExtensionListChange', callback: Callback<void>): void;
226
227  /**
228   * Deregister listener that watches for changes in the enabled status of accessibility extensions.
229   *
230   * @param { 'enabledAccessibilityExtensionListChange' } type Indicates the type of event.
231   * @param { Callback<void> } callback Indicates the listener.
232   * @throws { BusinessError } 401 - Input parameter error.
233   * @syscap SystemCapability.BarrierFree.Accessibility.Core
234   * @systemapi
235   * @since 9
236   */
237  function off(type: 'enabledAccessibilityExtensionListChange', callback?: Callback<void>): void;
238
239  /**
240   * Indicates setting, getting, and listening to changes in configuration.
241   *
242   * @typedef Config
243   * @syscap SystemCapability.BarrierFree.Accessibility.Core
244   * @systemapi
245   * @since 9
246   */
247  interface Config<T> {
248    /**
249     * Setting configuration value.
250     *
251     * @param { T } value Indicates the value.
252     * @returns { Promise<void> }
253     * @throws { BusinessError } 201 - Permission denied.
254     * @throws { BusinessError } 401 - Input parameter error.
255     * @syscap SystemCapability.BarrierFree.Accessibility.Core
256     * @systemapi
257     * @since 9
258     */
259    set(value: T): Promise<void>;
260
261    /**
262     * Setting configuration value.
263     *
264     * @param { T } value Indicates the value.
265     * @param { AsyncCallback<void> } callback
266     * @throws { BusinessError } 201 - Permission denied.
267     * @throws { BusinessError } 202 - Not system App.
268     * @throws { BusinessError } 401 - Input parameter error.
269     * @syscap SystemCapability.BarrierFree.Accessibility.Core
270     * @systemapi
271     * @since 9
272     */
273    set(value: T, callback: AsyncCallback<void>): void;
274
275    /**
276     * Getting configuration value.
277     *
278     * @returns { Promise<T> }
279     * @throws { BusinessError } 201 - Permission denied.
280     * @syscap SystemCapability.BarrierFree.Accessibility.Core
281     * @systemapi
282     * @since 9
283     */
284    get(): Promise<T>;
285
286    /**
287     * Getting configuration value.
288     *
289     * @param { AsyncCallback<T> } callback
290     * @throws { BusinessError } 201 - Permission denied.
291     * @throws { BusinessError } 202 - Not system App.
292     * @syscap SystemCapability.BarrierFree.Accessibility.Core
293     * @systemapi
294     * @since 9
295     */
296    get(callback: AsyncCallback<T>): void;
297
298    /**
299     * Register the listener to listen for configuration changes.
300     *
301     * @param { Callback<T> } callback Indicates the listener.
302     * @throws { BusinessError } 201 - Permission denied.
303     * @throws { BusinessError } 401 - Input parameter error.
304     * @syscap SystemCapability.BarrierFree.Accessibility.Core
305     * @systemapi
306     * @since 9
307     */
308    on(callback: Callback<T>): void;
309
310    /**
311     * Deregister the listener to listen for configuration changes.
312     *
313     * @param { Callback<T> } callback Indicates the listener.
314     * @syscap SystemCapability.BarrierFree.Accessibility.Core
315     * @systemapi
316     * @since 9
317     */
318    off(callback?: Callback<T>): void;
319  }
320
321  /**
322   * Indicates the type of daltonization color filter.
323   *
324   * @systemapi
325   */
326  type DaltonizationColorFilter = 'Normal' | 'Protanomaly' | 'Deuteranomaly' | 'Tritanomaly';
327}
328export default config;
329