• 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  */
15 
16 #include "main_ability.h"
17 #include "hilog_wrapper.h"
18 #include "test_utils.h"
19 
20 namespace OHOS {
21 namespace AppExecFwk {
22 using namespace OHOS::EventFwk;
23 namespace {
24 const int MainAbilityACode = 100;
25 constexpr int index_f = 0;
26 constexpr int index_s = 1;
27 constexpr int index_t = 2;
28 constexpr int numThree = 3;
29 }
30 
Init(const std::shared_ptr<AbilityInfo> & abilityInfo,const std::shared_ptr<OHOSApplication> & application,std::shared_ptr<AbilityHandler> & handler,const sptr<IRemoteObject> & token)31 void MainAbility::Init(const std::shared_ptr<AbilityInfo> &abilityInfo,
32     const std::shared_ptr<OHOSApplication> &application, std::shared_ptr<AbilityHandler> &handler,
33     const sptr<IRemoteObject> &token)
34 {
35     HILOG_INFO("MainAbility::Init");
36     Ability::Init(abilityInfo, application, handler, token);
37 }
38 
~MainAbility()39 MainAbility::~MainAbility()
40 {
41     CommonEventManager::UnSubscribeCommonEvent(subscriber_);
42 }
43 
OnStart(const Want & want)44 void MainAbility::OnStart(const Want &want)
45 {
46     HILOG_INFO("MainAbility::onStart");
47     SubscribeEvent();
48     Ability::OnStart(want);
49     TestUtils::PublishEvent(g_EVENT_RESP_FIRST_LIFECYCLE, MainAbilityACode, "onStart");
50 }
51 
OnStop()52 void MainAbility::OnStop()
53 {
54     HILOG_INFO("MainAbility::OnStop");
55     Ability::OnStop();
56     CommonEventManager::UnSubscribeCommonEvent(subscriber_);
57     TestUtils::PublishEvent(g_EVENT_RESP_FIRST_LIFECYCLE, MainAbilityACode, "OnStop");
58 }
59 
OnActive()60 void MainAbility::OnActive()
61 {
62     HILOG_INFO("MainAbility::OnActive");
63     Ability::OnActive();
64     TestUtils::PublishEvent(g_EVENT_RESP_FIRST_LIFECYCLE, MainAbilityACode, "OnActive");
65 }
66 
OnInactive()67 void MainAbility::OnInactive()
68 {
69     HILOG_INFO("MainAbility::OnInactive");
70     Ability::OnInactive();
71     TestUtils::PublishEvent(g_EVENT_RESP_FIRST_LIFECYCLE, MainAbilityACode, "OnInactive");
72 }
73 
OnBackground()74 void MainAbility::OnBackground()
75 {
76     HILOG_INFO("MainAbility::OnBackground");
77     Ability::OnBackground();
78     TestUtils::PublishEvent(g_EVENT_RESP_FIRST_LIFECYCLE, MainAbilityACode, "OnBackground");
79 }
80 
OnForeground(const Want & want)81 void MainAbility::OnForeground(const Want &want)
82 {
83     HILOG_INFO("MainAbility::OnForeground");
84     Ability::OnForeground(want);
85     TestUtils::PublishEvent(g_EVENT_RESP_FIRST_LIFECYCLE, MainAbilityACode, "OnForeground");
86 }
87 
OnAbilityResult(int requestCode,int resultCode,const Want & resultData)88 void MainAbility::OnAbilityResult(int requestCode, int resultCode, const Want &resultData)
89 {
90     HILOG_INFO("MainAbility::OnAbilityResult");
91     Ability::OnAbilityResult(requestCode, resultCode, resultData);
92     TestUtils::PublishEvent(g_EVENT_RESP_FIRST_ON_ABILITY_RESULT, 0, resultData.ToUri());
93 }
94 
OnBackPressed()95 void MainAbility::OnBackPressed()
96 {
97     HILOG_INFO("MainAbility::OnBackPressed");
98     Ability::OnBackPressed();
99     TestUtils::PublishEvent(g_EVENT_RESP_FIRST_ON_BACK_PRESSED, 0, "");
100 }
101 
OnNewWant(const Want & want)102 void MainAbility::OnNewWant(const Want &want)
103 {
104     HILOG_INFO("MainAbility::OnNewWant");
105     Ability::OnNewWant(want);
106     TestUtils::PublishEvent(g_EVENT_RESP_FIRST_ON_NEW_WANT, 0, want.ToUri());
107 }
108 
SubscribeEvent()109 void MainAbility::SubscribeEvent()
110 {
111     std::vector<std::string> eventList = {
112         g_EVENT_REQU_FIRST,
113     };
114     MatchingSkills matchingSkills;
115     for (const auto &e : eventList) {
116         matchingSkills.AddEvent(e);
117     }
118     CommonEventSubscribeInfo subscribeInfo(matchingSkills);
119     subscribeInfo.SetPriority(1);
120     subscriber_ = std::make_shared<FirstEventSubscriber>(subscribeInfo);
121     subscriber_->mainAbility = this;
122     CommonEventManager::SubscribeCommonEvent(subscriber_);
123 }
124 
OnReceiveEvent(const CommonEventData & data)125 void FirstEventSubscriber::OnReceiveEvent(const CommonEventData &data)
126 {
127     HILOG_INFO("FirstEventSubscriber::OnReceiveEvent:event=%{public}s", data.GetWant().GetAction().c_str());
128     HILOG_INFO("FirstEventSubscriber::OnReceiveEvent:data=%{public}s", data.GetData().c_str());
129     HILOG_INFO("FirstEventSubscriber::OnReceiveEvent:code=%{public}d", data.GetCode());
130     auto eventName = data.GetWant().GetAction();
131     if (std::strcmp(eventName.c_str(), g_EVENT_REQU_FIRST.c_str()) == 0) {
132         auto target = data.GetData();
133         auto caseInfo = TestUtils::split(target, "_");
134         if (caseInfo.size() < numThree) {
135             return;
136         }
137         if (mapTestFunc_.find(caseInfo[index_f]) != mapTestFunc_.end()) {
138             mapTestFunc_[caseInfo[index_f]](std::stoi(caseInfo[index_s]), std::stoi(caseInfo[index_t]), data.GetCode());
139         } else {
140             HILOG_INFO("OnReceiveEvent: CommonEventData error(%{public}s)", target.c_str());
141         }
142     }
143 }
144 
TestAbility(int apiIndex,int caseIndex,int code)145 void MainAbility::TestAbility(int apiIndex, int caseIndex, int code)
146 {
147     HILOG_INFO("MainAbility::TestAbility");
148     if (mapCase_.find(apiIndex) != mapCase_.end()) {
149         if (caseIndex < (int)mapCase_[apiIndex].size()) {
150             mapCase_[apiIndex][caseIndex](code);
151         }
152     }
153 }
154 
GetApplicationInfoCase1(int code)155 void MainAbility::GetApplicationInfoCase1(int code)
156 {
157     auto appInfo = AbilityContext::GetApplicationInfo();
158     string result = "";
159     if (appInfo != nullptr) {
160         result = appInfo->name;
161     }
162 
163     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, result);
164 }
GetApplicationInfoCase2(int code)165 void MainAbility::GetApplicationInfoCase2(int code)
166 {
167     auto appInfo = AbilityContext::GetApplicationInfo();
168     string result = "";
169     if (appInfo != nullptr) {
170         result = appInfo->name;
171     }
172 
173     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, result);
174 }
GetApplicationInfoCase3(int code)175 void MainAbility::GetApplicationInfoCase3(int code)
176 {
177     auto appInfo = AbilityContext::GetApplicationInfo();
178     string result = "";
179     if (appInfo != nullptr) {
180         result = appInfo->name;
181     }
182 
183     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, result);
184 }
185 
GetCacheDirCase1(int code)186 void MainAbility::GetCacheDirCase1(int code)
187 {
188     string cacheDir = AbilityContext::GetCacheDir();
189     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, cacheDir);
190 }
GetCacheDirCase2(int code)191 void MainAbility::GetCacheDirCase2(int code)
192 {
193     string cacheDir = AbilityContext::GetCacheDir();
194     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, cacheDir);
195 }
GetCacheDirCase3(int code)196 void MainAbility::GetCacheDirCase3(int code)
197 {
198     string cacheDir = AbilityContext::GetCacheDir();
199     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, cacheDir);
200 }
201 
GetDatabaseDirCase1(int code)202 void MainAbility::GetDatabaseDirCase1(int code)
203 {
204     string databaseDir = AbilityContext::GetDatabaseDir();
205     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, databaseDir);
206 }
GetDatabaseDirCase2(int code)207 void MainAbility::GetDatabaseDirCase2(int code)
208 {
209     string databaseDir = AbilityContext::GetDatabaseDir();
210     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, databaseDir);
211 }
GetDatabaseDirCase3(int code)212 void MainAbility::GetDatabaseDirCase3(int code)
213 {
214     string databaseDir = AbilityContext::GetDatabaseDir();
215     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, databaseDir);
216 }
217 
GetDataDirCase1(int code)218 void MainAbility::GetDataDirCase1(int code)
219 {
220     string dataDir = AbilityContext::GetDataDir();
221     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, dataDir);
222 }
223 
GetDataDirCase2(int code)224 void MainAbility::GetDataDirCase2(int code)
225 {
226     string dataDir = AbilityContext::GetDataDir();
227     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, dataDir);
228 }
229 
GetDataDirCase3(int code)230 void MainAbility::GetDataDirCase3(int code)
231 {
232     string dataDir = AbilityContext::GetDataDir();
233     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, dataDir);
234 }
235 
GetDirCase1(int code)236 void MainAbility::GetDirCase1(int code)
237 {
238     string name = "getDir";
239     string dir = AbilityContext::GetDir(name, 0);
240     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, dir);
241 }
242 
GetDirCase2(int code)243 void MainAbility::GetDirCase2(int code)
244 {
245     string name = "getDir";
246     string dir = AbilityContext::GetDir(name, 0);
247     dir = AbilityContext::GetDir(name, 0);
248     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, dir);
249 }
250 
GetDirCase3(int code)251 void MainAbility::GetDirCase3(int code)
252 {
253     string name = "getDir";
254     string dir = AbilityContext::GetDir(name, 0);
255     dir = AbilityContext::GetDir(name, 0);
256     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, dir);
257 }
258 
GetNoBackupFilesDirCase1(int code)259 void MainAbility::GetNoBackupFilesDirCase1(int code)
260 {}
261 
GetBundleManagerCase1(int code)262 void MainAbility::GetBundleManagerCase1(int code)
263 {
264     auto bundleManger = AbilityContext::GetBundleManager();
265     int result = 1;
266     if (bundleManger == nullptr)
267         result = 0;
268     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, std::to_string(result));
269 }
270 
VerifyCallingPermissionCase1(int code)271 void MainAbility::VerifyCallingPermissionCase1(int code)
272 {}
273 
VerifyPermissionCase1(int code)274 void MainAbility::VerifyPermissionCase1(int code)
275 {}
276 
VerifySelfPermissionCase1(int code)277 void MainAbility::VerifySelfPermissionCase1(int code)
278 {}
279 
GetBundleCodePathCase1(int code)280 void MainAbility::GetBundleCodePathCase1(int code)
281 {
282     string bundleCodePath = AbilityContext::GetBundleCodePath();
283     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, bundleCodePath);
284 }
285 
GetBundleCodePathCase2(int code)286 void MainAbility::GetBundleCodePathCase2(int code)
287 {
288     string bundleCodePath = AbilityContext::GetBundleCodePath();
289     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, bundleCodePath);
290 }
291 
GetBundleCodePathCase3(int code)292 void MainAbility::GetBundleCodePathCase3(int code)
293 {
294     string bundleCodePath = AbilityContext::GetBundleCodePath();
295     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, bundleCodePath);
296 }
297 
GetBundleNameCase1(int code)298 void MainAbility::GetBundleNameCase1(int code)
299 {
300     string bundleName = AbilityContext::GetBundleName();
301     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, bundleName);
302 }
303 
GetBundleNameCase2(int code)304 void MainAbility::GetBundleNameCase2(int code)
305 {
306     string bundleName = AbilityContext::GetBundleName();
307     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, bundleName);
308 }
309 
GetBundleNameCase3(int code)310 void MainAbility::GetBundleNameCase3(int code)
311 {
312     string bundleName = AbilityContext::GetBundleName();
313     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, bundleName);
314 }
315 
GetBundleResourcePathCase1(int code)316 void MainAbility::GetBundleResourcePathCase1(int code)
317 {
318     string bundleResourcePath = AbilityContext::GetBundleResourcePath();
319     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, bundleResourcePath);
320 }
321 
GetBundleResourcePathCase2(int code)322 void MainAbility::GetBundleResourcePathCase2(int code)
323 {
324     string bundleResourcePath = AbilityContext::GetBundleResourcePath();
325     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, bundleResourcePath);
326 }
327 
GetBundleResourcePathCase3(int code)328 void MainAbility::GetBundleResourcePathCase3(int code)
329 {
330     string bundleResourcePath = AbilityContext::GetBundleResourcePath();
331     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, bundleResourcePath);
332 }
333 
CanRequestPermissionCase1(int code)334 void MainAbility::CanRequestPermissionCase1(int code)
335 {}
336 
GetCallingAbilityCase1(int code)337 void MainAbility::GetCallingAbilityCase1(int code)
338 {
339     string targetBundle = "com.ohos.amsst.AppKitA";
340     string targetAbility = "SecondAbility";
341     Want want;
342     want.SetElementName(targetBundle, targetAbility);
343     want.SetParam("operator", 0);
344     StartAbility(want);
345 }
346 
GetCallingAbilityCase2(int code)347 void MainAbility::GetCallingAbilityCase2(int code)
348 {
349     string targetBundle1 = "com.ohos.amsst.AppKitA";
350     string targetAbility1 = "SecondAbility";
351     Want want;
352     want.SetElementName(targetBundle1, targetAbility1);
353     want.SetParam("operator", 0);
354     StartAbility(want);
355 
356     string targetBundle2 = "com.ohos.amsst.AppKitB";
357     string targetAbility2 = "MainAbility";
358     want.SetElementName(targetBundle2, targetAbility2);
359     want.SetParam("operator", 0);
360     StartAbility(want);
361 }
362 
GetCallingAbilityCase3(int code)363 void MainAbility::GetCallingAbilityCase3(int code)
364 {
365     string targetBundle = "com.ohos.amsst.AppKitA";
366     string targetAbility = "SecondAbility";
367     Want want;
368     want.SetElementName(targetBundle, targetAbility);
369     want.SetParam("operator", 0);
370     StartAbility(want);
371 }
372 
GetContextCase1(int code)373 void MainAbility::GetContextCase1(int code)
374 {
375     auto context = AbilityContext::GetContext();
376     string result = "0";
377     if (context != nullptr)
378         result = "1";
379     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, result);
380 }
381 
GetAbilityManagerCase1(int code)382 void MainAbility::GetAbilityManagerCase1(int code)
383 {
384     auto abilityManger = AbilityContext::GetAbilityManager();
385     string result = "0";
386     if (abilityManger != nullptr)
387         result = "1";
388     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, result);
389 }
390 
GetProcessInfoCase1(int code)391 void MainAbility::GetProcessInfoCase1(int code)
392 {
393     auto processInfo = AbilityContext::GetProcessInfo();
394     string result = "";
395     if (processInfo != nullptr) {
396         result = processInfo->GetProcessName();
397     }
398 
399     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, result);
400 }
401 
GetProcessInfoCase2(int code)402 void MainAbility::GetProcessInfoCase2(int code)
403 {
404     auto processInfo = AbilityContext::GetProcessInfo();
405     string result = "";
406     if (processInfo != nullptr) {
407         result = processInfo->GetProcessName();
408     }
409 
410     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, result);
411 }
412 
GetProcessInfoCase3(int code)413 void MainAbility::GetProcessInfoCase3(int code)
414 {
415     auto processInfo = AbilityContext::GetProcessInfo();
416     string result = "";
417     if (processInfo != nullptr) {
418         result = processInfo->GetProcessName();
419     }
420 
421     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, result);
422 }
423 
GetAppTypeCase1(int code)424 void MainAbility::GetAppTypeCase1(int code)
425 {
426     string appType = AbilityContext::GetAppType();
427     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, appType);
428 }
429 
GetAppTypeCase2(int code)430 void MainAbility::GetAppTypeCase2(int code)
431 {
432     string appType = AbilityContext::GetAppType();
433     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, appType);
434 }
435 
GetAppTypeCase3(int code)436 void MainAbility::GetAppTypeCase3(int code)
437 {
438     string appType = AbilityContext::GetAppType();
439     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, appType);
440 }
441 
GetCallingBundleCase1(int code)442 void MainAbility::GetCallingBundleCase1(int code)
443 {
444     string targetBundle = "com.ohos.amsst.AppKitA";
445     string targetAbility = "SecondAbility";
446     Want want;
447     want.SetElementName(targetBundle, targetAbility);
448     want.SetParam("operator", 0);
449     StartAbility(want);
450 }
451 
GetCallingBundleCase2(int code)452 void MainAbility::GetCallingBundleCase2(int code)
453 {
454     string targetBundle1 = "com.ohos.amsst.AppKitA";
455     string targetAbility1 = "SecondAbility";
456     Want want;
457     want.SetElementName(targetBundle1, targetAbility1);
458     want.SetParam("operator", 0);
459     StartAbility(want);
460 
461     string targetBundle2 = "com.ohos.amsst.AppKitB";
462     string targetAbility2 = "MainAbility";
463     want.SetElementName(targetBundle2, targetAbility2);
464     want.SetParam("operator", 0);
465     StartAbility(want);
466 }
467 
GetCallingBundleCase3(int code)468 void MainAbility::GetCallingBundleCase3(int code)
469 {
470     string targetBundle = "com.ohos.amsst.AppKitA";
471     string targetAbility = "SecondAbility";
472     Want want;
473     want.SetElementName(targetBundle, targetAbility);
474     want.SetParam("operator", 0);
475     StartAbility(want);
476 }
477 
StartAbilityCase1(int code)478 void MainAbility::StartAbilityCase1(int code)
479 {
480     std::map<std::string, std::string> params;
481     Want want = TestUtils::MakeWant("", "SecondAbility", "com.ohos.amsst.AppKitA", params);
482     AbilityContext::StartAbility(want, 1);
483     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, "startAbility");
484 }
485 
StartAbilityCase2(int code)486 void MainAbility::StartAbilityCase2(int code)
487 {
488     std::map<std::string, std::string> params;
489     Want want = TestUtils::MakeWant("", "MainAbility", "com.ohos.amsst.AppKitB", params);
490     AbilityContext::StartAbility(want, 1);
491     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, "startAbility");
492 }
493 
TerminateAbilityCase1(int code)494 void MainAbility::TerminateAbilityCase1(int code)
495 {
496     AbilityContext::TerminateAbility();
497     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, "TerminateAbility");
498 }
499 
GetElementNameCase1(int code)500 void MainAbility::GetElementNameCase1(int code)
501 {
502     auto elementName = AbilityContext::GetElementName();
503     string result = "";
504     if (elementName != nullptr)
505         result = elementName->GetBundleName();
506     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, result);
507 }
508 
GetElementNameCase2(int code)509 void MainAbility::GetElementNameCase2(int code)
510 {
511     auto elementName = AbilityContext::GetElementName();
512     string result = "";
513     if (elementName != nullptr)
514         result = elementName->GetBundleName();
515     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, result);
516 }
517 
GetElementNameCase3(int code)518 void MainAbility::GetElementNameCase3(int code)
519 {
520     auto elementName = AbilityContext::GetElementName();
521     string result = "";
522     if (elementName != nullptr)
523         result = elementName->GetBundleName();
524     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, result);
525 }
526 
GetHapModuleInfoCase1(int code)527 void MainAbility::GetHapModuleInfoCase1(int code)
528 {
529     auto elementName = AbilityContext::GetHapModuleInfo();
530     string result = "";
531     if (elementName != nullptr)
532         result = elementName->moduleName;
533     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, result);
534 }
535 
GetHapModuleInfoCase2(int code)536 void MainAbility::GetHapModuleInfoCase2(int code)
537 {
538     auto elementName = AbilityContext::GetHapModuleInfo();
539     string result = "";
540     if (elementName != nullptr)
541         result = elementName->moduleName;
542     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, result);
543 }
544 
GetHapModuleInfoCase3(int code)545 void MainAbility::GetHapModuleInfoCase3(int code)
546 {
547     auto elementName = AbilityContext::GetHapModuleInfo();
548     string result = "";
549     if (elementName != nullptr)
550         result = elementName->moduleName;
551     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, result);
552 }
553 
GetCodeCacheDirCase1(int code)554 void MainAbility::GetCodeCacheDirCase1(int code)
555 {
556     string codeCacheDir = AbilityContext::GetCodeCacheDir();
557     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, codeCacheDir);
558 }
GetCodeCacheDirCase2(int code)559 void MainAbility::GetCodeCacheDirCase2(int code)
560 {
561     string codeCacheDir = AbilityContext::GetCodeCacheDir();
562     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, codeCacheDir);
563 }
GetCodeCacheDirCase3(int code)564 void MainAbility::GetCodeCacheDirCase3(int code)
565 {
566     string codeCacheDir = AbilityContext::GetCodeCacheDir();
567     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, codeCacheDir);
568 }
569 
GetApplicationContextCase1(int code)570 void MainAbility::GetApplicationContextCase1(int code)
571 {
572     auto elementName = AbilityContext::GetApplicationContext();
573     string result = "";
574     if (elementName != nullptr)
575         result = "1";
576     TestUtils::PublishEvent(g_EVENT_RESP_FIRST, code, result);
577 }
578 
579 REGISTER_AA(MainAbility)
580 }  // namespace AppExecFwk
581 }  // namespace OHOS
582