• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/**
2 * Copyright (c) 2021 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 */
15import ConfigData from './ConfigData';
16import CommonEvent from '@ohos.commonevent';
17import LogUtil from './LogUtil'
18
19let mCommonEventSubscribeInfo = {
20  events: ['BRIGHTNESS_VALUE_SYSTEM_UI']
21};
22
23let mCommonEventSubscriber = null;
24let mCustomStatusSubscriberCallBack = null;
25
26/**
27 * broadcast
28 */
29export class SubscriberUtils {
30  /**
31   * Send broadcast
32   *
33   * @param value - value
34   * @param broadcastName - broadcastName
35   */
36  sendEvent(value, broadcastName) {
37    let commonEventPublishData = {
38      data: value
39    };
40    CommonEvent.publish(broadcastName, commonEventPublishData, (err, data) => {
41      LogUtil.info(ConfigData.TAG + `SubscriberUtils sendEvent ets ${JSON.stringify(err)}`);
42      LogUtil.info(ConfigData.TAG + `SubscriberUtils sendEvent ets ${JSON.stringify(data)}`);
43    });
44    LogUtil.info(ConfigData.TAG + `SubscriberUtils sendEvent ets out`);
45  }
46
47  /**
48   * Register to broadcast
49   */
50  registerStatusListener(pCommonEventSubscribeInfo?, pCallback?) {
51    LogUtil.info(ConfigData.TAG + `SubscriberUtils Subscriberregister status listener in`);
52
53    mCustomStatusSubscriberCallBack = pCallback;
54
55    var subscribeInfo = pCommonEventSubscribeInfo ? pCommonEventSubscribeInfo : mCommonEventSubscribeInfo;
56    CommonEvent.createSubscriber(
57      subscribeInfo,
58      this.createStatusSubscriberCallBack.bind(this)
59    );
60
61    LogUtil.info(ConfigData.TAG + `SubscriberUtils Subscriberregister status listener out`);
62  }
63
64  createStatusSubscriberCallBack(err, data) {
65    LogUtil.info(ConfigData.TAG +
66      `SubscriberUtils Subscriberregister in ets ${JSON.stringify(err)} ${JSON.stringify(data)}`);
67    mCommonEventSubscriber = data;
68    CommonEvent.subscribe(mCommonEventSubscriber, this.statusSubscriberCallBack.bind(this));
69    LogUtil.info(ConfigData.TAG + `SubscriberUtils Subscriberregister in`);
70  }
71
72  statusSubscriberCallBack(err, data) {
73    LogUtil.info(ConfigData.TAG + `SubscriberUtils statusSubscriberCallBack data ets : ${JSON.stringify(data)}`);
74    LogUtil.info(ConfigData.TAG + `SubscriberUtils statusSubscriberCallBack err ets : ${JSON.stringify(err)}`);
75    LogUtil.info(ConfigData.TAG + `SubscriberUtils statusSubscriberCallBack data.event ets : ${data.event} `);
76    if (mCustomStatusSubscriberCallBack) {
77      mCustomStatusSubscriberCallBack(err, data);
78    }
79    if (err) {
80      LogUtil.info(ConfigData.TAG + `SubscriberUtils statusSubscriberCallBack error : ${err}`)
81      return;
82    }
83    LogUtil.info(ConfigData.TAG + `SubscriberUtils statusSubscriberCallBack out`);
84  }
85
86  /**
87   * unRegister to broadcast
88   */
89  unSubscriberListener() {
90    CommonEvent.unsubscribe(mCommonEventSubscriber, () => {
91      LogUtil.info(ConfigData.TAG + 'SubscriberUtils unSubscriberListener');
92    });
93  }
94}
95
96let subscriberUtils = new SubscriberUtils();
97export default subscriberUtils as SubscriberUtils;