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;