1bc2ed2b3Sopenharmony_ci/* 2bc2ed2b3Sopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd. 3bc2ed2b3Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4bc2ed2b3Sopenharmony_ci * you may not use this file except in compliance with the License. 5bc2ed2b3Sopenharmony_ci * You may obtain a copy of the License at 6bc2ed2b3Sopenharmony_ci * 7bc2ed2b3Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8bc2ed2b3Sopenharmony_ci * 9bc2ed2b3Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10bc2ed2b3Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11bc2ed2b3Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12bc2ed2b3Sopenharmony_ci * See the License for the specific language governing permissions and 13bc2ed2b3Sopenharmony_ci * limitations under the License. 14bc2ed2b3Sopenharmony_ci */ 15bc2ed2b3Sopenharmony_ci#include "external_deps_proxy.h" 16bc2ed2b3Sopenharmony_ci 17bc2ed2b3Sopenharmony_cinamespace OHOS { 18bc2ed2b3Sopenharmony_cinamespace NFC { 19bc2ed2b3Sopenharmony_cibool ExternalDepsProxy::HandleAppAddOrChangedEvent(std::shared_ptr<EventFwk::CommonEventData> data) 20bc2ed2b3Sopenharmony_ci{ 21bc2ed2b3Sopenharmony_ci return AppDataParser::GetInstance().HandleAppAddOrChangedEvent(data); 22bc2ed2b3Sopenharmony_ci} 23bc2ed2b3Sopenharmony_ci 24bc2ed2b3Sopenharmony_cibool ExternalDepsProxy::HandleAppRemovedEvent(std::shared_ptr<EventFwk::CommonEventData> data) 25bc2ed2b3Sopenharmony_ci{ 26bc2ed2b3Sopenharmony_ci return AppDataParser::GetInstance().HandleAppRemovedEvent(data); 27bc2ed2b3Sopenharmony_ci} 28bc2ed2b3Sopenharmony_ci 29bc2ed2b3Sopenharmony_civoid ExternalDepsProxy::InitAppList() 30bc2ed2b3Sopenharmony_ci{ 31bc2ed2b3Sopenharmony_ci AppDataParser::GetInstance().InitAppList(); 32bc2ed2b3Sopenharmony_ci} 33bc2ed2b3Sopenharmony_ci 34bc2ed2b3Sopenharmony_cistd::vector<ElementName> ExternalDepsProxy::GetDispatchTagAppsByTech(std::vector<int> discTechList) 35bc2ed2b3Sopenharmony_ci{ 36bc2ed2b3Sopenharmony_ci return AppDataParser::GetInstance().GetDispatchTagAppsByTech(discTechList); 37bc2ed2b3Sopenharmony_ci} 38bc2ed2b3Sopenharmony_ci 39bc2ed2b3Sopenharmony_ci#ifdef VENDOR_APPLICATIONS_ENABLED 40bc2ed2b3Sopenharmony_cistd::vector<ElementName> ExternalDepsProxy::GetVendorDispatchTagAppsByTech(std::vector<int> discTechList) 41bc2ed2b3Sopenharmony_ci{ 42bc2ed2b3Sopenharmony_ci return AppDataParser::GetInstance().GetVendorDispatchTagAppsByTech(discTechList); 43bc2ed2b3Sopenharmony_ci} 44bc2ed2b3Sopenharmony_ci 45bc2ed2b3Sopenharmony_civoid ExternalDepsProxy::RegQueryApplicationCb(sptr<IQueryAppInfoCallback> callback) 46bc2ed2b3Sopenharmony_ci{ 47bc2ed2b3Sopenharmony_ci AppDataParser::GetInstance().RegQueryApplicationCb(callback); 48bc2ed2b3Sopenharmony_ci} 49bc2ed2b3Sopenharmony_ci 50bc2ed2b3Sopenharmony_civoid ExternalDepsProxy::RegCardEmulationNotifyCb(sptr<IOnCardEmulationNotifyCb> callback) 51bc2ed2b3Sopenharmony_ci{ 52bc2ed2b3Sopenharmony_ci AppDataParser::GetInstance().RegCardEmulationNotifyCb(callback); 53bc2ed2b3Sopenharmony_ci} 54bc2ed2b3Sopenharmony_ci 55bc2ed2b3Sopenharmony_cisptr<IOnCardEmulationNotifyCb> ExternalDepsProxy::GetNotifyCardEmulationCallback() 56bc2ed2b3Sopenharmony_ci{ 57bc2ed2b3Sopenharmony_ci return AppDataParser::GetInstance().GetNotifyCardEmulationCallback(); 58bc2ed2b3Sopenharmony_ci} 59bc2ed2b3Sopenharmony_ci#endif 60bc2ed2b3Sopenharmony_ci 61bc2ed2b3Sopenharmony_ciKITS::ErrorCode ExternalDepsProxy::NfcDataGetValue(Uri &uri, const std::string &column, int32_t &value) 62bc2ed2b3Sopenharmony_ci{ 63bc2ed2b3Sopenharmony_ci return NfcDataShareImpl::GetInstance()->GetValue(uri, column, value); 64bc2ed2b3Sopenharmony_ci} 65bc2ed2b3Sopenharmony_ci 66bc2ed2b3Sopenharmony_ciKITS::ErrorCode ExternalDepsProxy::NfcDataSetValue(Uri &uri, const std::string &column, int &value) 67bc2ed2b3Sopenharmony_ci{ 68bc2ed2b3Sopenharmony_ci return NfcDataShareImpl::GetInstance()->SetValue(uri, column, value); 69bc2ed2b3Sopenharmony_ci} 70bc2ed2b3Sopenharmony_ci 71bc2ed2b3Sopenharmony_civoid ExternalDepsProxy::NfcDataSetString(const std::string& key, const std::string& value) 72bc2ed2b3Sopenharmony_ci{ 73bc2ed2b3Sopenharmony_ci NfcPreferences::GetInstance().SetString(key, value); 74bc2ed2b3Sopenharmony_ci} 75bc2ed2b3Sopenharmony_ci 76bc2ed2b3Sopenharmony_cistd::string ExternalDepsProxy::NfcDataGetString(const std::string& key) 77bc2ed2b3Sopenharmony_ci{ 78bc2ed2b3Sopenharmony_ci return NfcPreferences::GetInstance().GetString(key); 79bc2ed2b3Sopenharmony_ci} 80bc2ed2b3Sopenharmony_ci 81bc2ed2b3Sopenharmony_civoid ExternalDepsProxy::NfcDataSetInt(const std::string& key, const int value) 82bc2ed2b3Sopenharmony_ci{ 83bc2ed2b3Sopenharmony_ci NfcPreferences::GetInstance().SetInt(key, value); 84bc2ed2b3Sopenharmony_ci} 85bc2ed2b3Sopenharmony_ci 86bc2ed2b3Sopenharmony_ciint ExternalDepsProxy::NfcDataGetInt(const std::string& key) 87bc2ed2b3Sopenharmony_ci{ 88bc2ed2b3Sopenharmony_ci return NfcPreferences::GetInstance().GetInt(key); 89bc2ed2b3Sopenharmony_ci} 90bc2ed2b3Sopenharmony_ci 91bc2ed2b3Sopenharmony_civoid ExternalDepsProxy::NfcDataClear() 92bc2ed2b3Sopenharmony_ci{ 93bc2ed2b3Sopenharmony_ci NfcPreferences::GetInstance().Clear(); 94bc2ed2b3Sopenharmony_ci} 95bc2ed2b3Sopenharmony_ci 96bc2ed2b3Sopenharmony_civoid ExternalDepsProxy::NfcDataDelete(const std::string& key) 97bc2ed2b3Sopenharmony_ci{ 98bc2ed2b3Sopenharmony_ci NfcPreferences::GetInstance().Delete(key); 99bc2ed2b3Sopenharmony_ci} 100bc2ed2b3Sopenharmony_ci 101bc2ed2b3Sopenharmony_civoid ExternalDepsProxy::UpdateNfcState(int newState) 102bc2ed2b3Sopenharmony_ci{ 103bc2ed2b3Sopenharmony_ci NfcParamUtil::UpdateNfcStateToParam(newState); 104bc2ed2b3Sopenharmony_ci} 105bc2ed2b3Sopenharmony_ci 106bc2ed2b3Sopenharmony_ciint ExternalDepsProxy::GetNfcStateFromParam() 107bc2ed2b3Sopenharmony_ci{ 108bc2ed2b3Sopenharmony_ci return NfcParamUtil::GetNfcStateFromParam(); 109bc2ed2b3Sopenharmony_ci} 110bc2ed2b3Sopenharmony_ci 111bc2ed2b3Sopenharmony_civoid ExternalDepsProxy::PublishNfcStateChanged(int newState) 112bc2ed2b3Sopenharmony_ci{ 113bc2ed2b3Sopenharmony_ci NfcEventPublisher::PublishNfcStateChanged(newState); 114bc2ed2b3Sopenharmony_ci} 115bc2ed2b3Sopenharmony_ci 116bc2ed2b3Sopenharmony_civoid ExternalDepsProxy::PublishNfcFieldStateChanged(bool isFieldOn) 117bc2ed2b3Sopenharmony_ci{ 118bc2ed2b3Sopenharmony_ci NfcEventPublisher::PublishNfcFieldStateChanged(isFieldOn); 119bc2ed2b3Sopenharmony_ci} 120bc2ed2b3Sopenharmony_ci 121bc2ed2b3Sopenharmony_civoid ExternalDepsProxy::WriteNfcFailedHiSysEvent(MainErrorCode mainErrorCode, SubErrorCode subErrorCode) 122bc2ed2b3Sopenharmony_ci{ 123bc2ed2b3Sopenharmony_ci NfcFailedParams nfcFailedParams; 124bc2ed2b3Sopenharmony_ci ExternalDepsProxy::GetInstance().BuildFailedParams(nfcFailedParams, mainErrorCode, subErrorCode); 125bc2ed2b3Sopenharmony_ci ExternalDepsProxy::GetInstance().WriteNfcFailedHiSysEvent(&nfcFailedParams); 126bc2ed2b3Sopenharmony_ci} 127bc2ed2b3Sopenharmony_ci 128bc2ed2b3Sopenharmony_civoid ExternalDepsProxy::WriteNfcFailedHiSysEvent(const NfcFailedParams* failedParams) 129bc2ed2b3Sopenharmony_ci{ 130bc2ed2b3Sopenharmony_ci NfcHisysEvent::WriteNfcFailedHiSysEvent(failedParams); 131bc2ed2b3Sopenharmony_ci} 132bc2ed2b3Sopenharmony_ci 133bc2ed2b3Sopenharmony_civoid ExternalDepsProxy::WriteOpenAndCloseHiSysEvent(int openRequestCnt, int openFailCnt, 134bc2ed2b3Sopenharmony_ci int closeRequestCnt, int closeFailCnt) 135bc2ed2b3Sopenharmony_ci{ 136bc2ed2b3Sopenharmony_ci NfcHisysEvent::WriteOpenAndCloseHiSysEvent(openRequestCnt, openFailCnt, 137bc2ed2b3Sopenharmony_ci closeRequestCnt, closeFailCnt); 138bc2ed2b3Sopenharmony_ci} 139bc2ed2b3Sopenharmony_ci 140bc2ed2b3Sopenharmony_civoid ExternalDepsProxy::WriteHceSwipeResultHiSysEvent(const std::string &appPackageName, int hceSwipeCnt) 141bc2ed2b3Sopenharmony_ci{ 142bc2ed2b3Sopenharmony_ci NfcHisysEvent::WriteHceSwipeResultHiSysEvent(appPackageName, hceSwipeCnt); 143bc2ed2b3Sopenharmony_ci} 144bc2ed2b3Sopenharmony_ci 145bc2ed2b3Sopenharmony_civoid ExternalDepsProxy::WriteDefaultPaymentAppChangeHiSysEvent(const std::string &oldAppPackageName, 146bc2ed2b3Sopenharmony_ci const std::string &newAppPackageName) 147bc2ed2b3Sopenharmony_ci{ 148bc2ed2b3Sopenharmony_ci NfcHisysEvent::WriteDefaultPaymentAppChangeHiSysEvent(oldAppPackageName, newAppPackageName); 149bc2ed2b3Sopenharmony_ci} 150bc2ed2b3Sopenharmony_ci 151bc2ed2b3Sopenharmony_civoid ExternalDepsProxy::WriteForegroundAppChangeHiSysEvent(const std::string &appPackageName) 152bc2ed2b3Sopenharmony_ci{ 153bc2ed2b3Sopenharmony_ci NfcHisysEvent::WriteForegroundAppChangeHiSysEvent(appPackageName); 154bc2ed2b3Sopenharmony_ci} 155bc2ed2b3Sopenharmony_ci 156bc2ed2b3Sopenharmony_civoid ExternalDepsProxy::WriteTagFoundHiSysEvent(const std::vector<int>& techList) 157bc2ed2b3Sopenharmony_ci{ 158bc2ed2b3Sopenharmony_ci NfcHisysEvent::WriteTagFoundHiSysEvent(techList); 159bc2ed2b3Sopenharmony_ci} 160bc2ed2b3Sopenharmony_ci 161bc2ed2b3Sopenharmony_civoid ExternalDepsProxy::WritePassiveListenHiSysEvent(int requestCnt, int failCnt) 162bc2ed2b3Sopenharmony_ci{ 163bc2ed2b3Sopenharmony_ci NfcHisysEvent::WritePassiveListenHiSysEvent(requestCnt, failCnt); 164bc2ed2b3Sopenharmony_ci} 165bc2ed2b3Sopenharmony_ci 166bc2ed2b3Sopenharmony_civoid ExternalDepsProxy::WriteFirmwareUpdateHiSysEvent(int requestCnt, int failCnt) 167bc2ed2b3Sopenharmony_ci{ 168bc2ed2b3Sopenharmony_ci NfcHisysEvent::WriteFirmwareUpdateHiSysEvent(requestCnt, failCnt); 169bc2ed2b3Sopenharmony_ci} 170bc2ed2b3Sopenharmony_ci 171bc2ed2b3Sopenharmony_civoid ExternalDepsProxy::BuildFailedParams(NfcFailedParams &nfcFailedParams, 172bc2ed2b3Sopenharmony_ci MainErrorCode mainErrorCode, 173bc2ed2b3Sopenharmony_ci SubErrorCode subErrorCode) 174bc2ed2b3Sopenharmony_ci{ 175bc2ed2b3Sopenharmony_ci NfcHisysEvent::BuildFailedParams(nfcFailedParams, mainErrorCode, subErrorCode); 176bc2ed2b3Sopenharmony_ci} 177bc2ed2b3Sopenharmony_ci 178bc2ed2b3Sopenharmony_civoid ExternalDepsProxy::WriteDefaultRouteChangeHiSysEvent(int oldRoute, int newRoute) 179bc2ed2b3Sopenharmony_ci{ 180bc2ed2b3Sopenharmony_ci NfcHisysEvent::WriteDefaultRouteChangeHiSysEvent(oldRoute, newRoute); 181bc2ed2b3Sopenharmony_ci} 182bc2ed2b3Sopenharmony_ci 183bc2ed2b3Sopenharmony_civoid ExternalDepsProxy::WriteAppBehaviorHiSysEvent(SubErrorCode behaviorCode, const std::string &appName) 184bc2ed2b3Sopenharmony_ci{ 185bc2ed2b3Sopenharmony_ci NfcHisysEvent::WriteAppBehaviorHiSysEvent(behaviorCode, appName); 186bc2ed2b3Sopenharmony_ci} 187bc2ed2b3Sopenharmony_ci 188bc2ed2b3Sopenharmony_cibool ExternalDepsProxy::IsGranted(std::string permission) 189bc2ed2b3Sopenharmony_ci{ 190bc2ed2b3Sopenharmony_ci return NfcPermissionChecker::IsGranted(permission); 191bc2ed2b3Sopenharmony_ci} 192bc2ed2b3Sopenharmony_ci 193bc2ed2b3Sopenharmony_civoid ExternalDepsProxy::DispatchTagAbility(std::shared_ptr<KITS::TagInfo> tagInfo, 194bc2ed2b3Sopenharmony_ci OHOS::sptr<IRemoteObject> tagServiceIface) 195bc2ed2b3Sopenharmony_ci{ 196bc2ed2b3Sopenharmony_ci TAG::TagAbilityDispatcher::DispatchTagAbility(tagInfo, tagServiceIface); 197bc2ed2b3Sopenharmony_ci} 198bc2ed2b3Sopenharmony_ci 199bc2ed2b3Sopenharmony_civoid ExternalDepsProxy::DispatchAppGallery(OHOS::sptr<IRemoteObject> tagServiceIface, std::string appGalleryBundleName) 200bc2ed2b3Sopenharmony_ci{ 201bc2ed2b3Sopenharmony_ci TAG::TagAbilityDispatcher::DispatchAppGallery(tagServiceIface, appGalleryBundleName); 202bc2ed2b3Sopenharmony_ci} 203bc2ed2b3Sopenharmony_ci 204bc2ed2b3Sopenharmony_civoid ExternalDepsProxy::StartVibratorOnce() 205bc2ed2b3Sopenharmony_ci{ 206bc2ed2b3Sopenharmony_ci TAG::TagAbilityDispatcher::StartVibratorOnce(); 207bc2ed2b3Sopenharmony_ci} 208bc2ed2b3Sopenharmony_ci 209bc2ed2b3Sopenharmony_civoid ExternalDepsProxy::GetPaymentAbilityInfos(std::vector<AbilityInfo>& paymentAbilityInfos) 210bc2ed2b3Sopenharmony_ci{ 211bc2ed2b3Sopenharmony_ci AppDataParser::GetInstance().GetPaymentAbilityInfos(paymentAbilityInfos); 212bc2ed2b3Sopenharmony_ci} 213bc2ed2b3Sopenharmony_ci 214bc2ed2b3Sopenharmony_civoid ExternalDepsProxy::GetHceAppsByAid(const std::string& aid, std::vector<AppDataParser::HceAppAidInfo>& hceApps) 215bc2ed2b3Sopenharmony_ci{ 216bc2ed2b3Sopenharmony_ci AppDataParser::GetInstance().GetHceAppsByAid(aid, hceApps); 217bc2ed2b3Sopenharmony_ci} 218bc2ed2b3Sopenharmony_ci 219bc2ed2b3Sopenharmony_civoid ExternalDepsProxy::GetHceApps(std::vector<AppDataParser::HceAppAidInfo>& hceApps) 220bc2ed2b3Sopenharmony_ci{ 221bc2ed2b3Sopenharmony_ci AppDataParser::GetInstance().GetHceApps(hceApps); 222bc2ed2b3Sopenharmony_ci} 223bc2ed2b3Sopenharmony_cibool ExternalDepsProxy::IsSystemApp(uint32_t uid) 224bc2ed2b3Sopenharmony_ci{ 225bc2ed2b3Sopenharmony_ci return AppDataParser::GetInstance().IsSystemApp(uid); 226bc2ed2b3Sopenharmony_ci} 227bc2ed2b3Sopenharmony_ci 228bc2ed2b3Sopenharmony_cibool ExternalDepsProxy::IsHceApp(const ElementName& elementName) 229bc2ed2b3Sopenharmony_ci{ 230bc2ed2b3Sopenharmony_ci return AppDataParser::GetInstance().IsHceApp(elementName); 231bc2ed2b3Sopenharmony_ci} 232bc2ed2b3Sopenharmony_ci 233bc2ed2b3Sopenharmony_cibool ExternalDepsProxy::IsBundleInstalled(const std::string& bundleName) 234bc2ed2b3Sopenharmony_ci{ 235bc2ed2b3Sopenharmony_ci return AppDataParser::GetInstance().IsBundleInstalled(bundleName); 236bc2ed2b3Sopenharmony_ci} 237bc2ed2b3Sopenharmony_ci 238bc2ed2b3Sopenharmony_cibool ExternalDepsProxy::GetBundleInfo(AppExecFwk::BundleInfo& bundleInfo, const std::string& bundleName) 239bc2ed2b3Sopenharmony_ci{ 240bc2ed2b3Sopenharmony_ci return AppDataParser::GetInstance().GetBundleInfo(bundleInfo, bundleName); 241bc2ed2b3Sopenharmony_ci} 242bc2ed2b3Sopenharmony_ci 243bc2ed2b3Sopenharmony_civoid ExternalDepsProxy::SetWantExtraParam(std::shared_ptr<KITS::TagInfo> &tagInfo, AAFwk::Want &want) 244bc2ed2b3Sopenharmony_ci{ 245bc2ed2b3Sopenharmony_ci TAG::TagAbilityDispatcher::SetWantExtraParam(tagInfo, want); 246bc2ed2b3Sopenharmony_ci} 247bc2ed2b3Sopenharmony_ci 248bc2ed2b3Sopenharmony_cistd::string ExternalDepsProxy::GetBundleNameByUid(uint32_t uid) 249bc2ed2b3Sopenharmony_ci{ 250bc2ed2b3Sopenharmony_ci std::string bundleName = AppDataParser::GetInstance().GetBundleNameByUid(uid); 251bc2ed2b3Sopenharmony_ci if (bundleName == "") { 252bc2ed2b3Sopenharmony_ci // system abilities have no bundle name, should return UID. 253bc2ed2b3Sopenharmony_ci bundleName = std::to_string(uid); 254bc2ed2b3Sopenharmony_ci } 255bc2ed2b3Sopenharmony_ci return bundleName; 256bc2ed2b3Sopenharmony_ci} 257bc2ed2b3Sopenharmony_ci 258bc2ed2b3Sopenharmony_civoid ExternalDepsProxy::PublishNfcNotification(int notificationId, const std::string &name, int balance) 259bc2ed2b3Sopenharmony_ci{ 260bc2ed2b3Sopenharmony_ci TAG::NfcNotificationPublisher::GetInstance().PublishNfcNotification(notificationId, name, balance); 261bc2ed2b3Sopenharmony_ci} 262bc2ed2b3Sopenharmony_ci 263bc2ed2b3Sopenharmony_civoid ExternalDepsProxy::RegNotificationCallback(std::weak_ptr<NfcService> nfcService) 264bc2ed2b3Sopenharmony_ci{ 265bc2ed2b3Sopenharmony_ci TAG::NfcNotificationPublisher::GetInstance().RegNotificationCallback(nfcService); 266bc2ed2b3Sopenharmony_ci} 267bc2ed2b3Sopenharmony_ci} // namespace NFC 268bc2ed2b3Sopenharmony_ci} // OHOS