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