199552fe9Sopenharmony_ci/*
299552fe9Sopenharmony_ci * Copyright (c) 2023-2024 Huawei Device Co., Ltd.
399552fe9Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
499552fe9Sopenharmony_ci * you may not use this file except in compliance with the License.
599552fe9Sopenharmony_ci * You may obtain a copy of the License at
699552fe9Sopenharmony_ci *
799552fe9Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
899552fe9Sopenharmony_ci *
999552fe9Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
1099552fe9Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
1199552fe9Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1299552fe9Sopenharmony_ci * See the License for the specific language governing permissions and
1399552fe9Sopenharmony_ci * limitations under the License.
1499552fe9Sopenharmony_ci */
1599552fe9Sopenharmony_ci
1699552fe9Sopenharmony_ci#include "timed_task.h"
1799552fe9Sopenharmony_ci#include "ability_manager_helper.h"
1899552fe9Sopenharmony_ci#include "app_mgr_helper.h"
1999552fe9Sopenharmony_ci#include "bundle_manager_helper.h"
2099552fe9Sopenharmony_ci#include "common_event_observer.h"
2199552fe9Sopenharmony_ci#ifdef ENABLE_BACKGROUND_TASK_MGR
2299552fe9Sopenharmony_ci#include "background_task_helper.h"
2399552fe9Sopenharmony_ci#endif
2499552fe9Sopenharmony_ci#include "ibundle_manager_helper.h"
2599552fe9Sopenharmony_ci
2699552fe9Sopenharmony_cinamespace {
2799552fe9Sopenharmony_ci    static constexpr char TEST_DEFAULT_BUNDLE[]  = "bundleName";
2899552fe9Sopenharmony_ci    static constexpr int32_t EXEMPT_ALL_RESOURCES = 100;
2999552fe9Sopenharmony_ci    bool g_mockGetAllRunningProcesses = true;
3099552fe9Sopenharmony_ci    bool g_mockGetRunningSystemProcess = true;
3199552fe9Sopenharmony_ci    bool g_mockGetBackgroundTask = true;
3299552fe9Sopenharmony_ci    bool g_mockSubscribeObserver = true;
3399552fe9Sopenharmony_ci}
3499552fe9Sopenharmony_ci
3599552fe9Sopenharmony_cinamespace OHOS {
3699552fe9Sopenharmony_cinamespace DevStandbyMgr {
3799552fe9Sopenharmony_cinamespace {
3899552fe9Sopenharmony_ci    std::shared_ptr<IBundleManagerHelper> bundleManagerHelperMock;
3999552fe9Sopenharmony_ci}
4099552fe9Sopenharmony_ci
4199552fe9Sopenharmony_civoid SetBundleManagerHelper(std::shared_ptr<IBundleManagerHelper> mock)
4299552fe9Sopenharmony_ci{
4399552fe9Sopenharmony_ci    bundleManagerHelperMock = mock;
4499552fe9Sopenharmony_ci}
4599552fe9Sopenharmony_ci
4699552fe9Sopenharmony_civoid CleanBundleManagerHelper()
4799552fe9Sopenharmony_ci{
4899552fe9Sopenharmony_ci    bundleManagerHelperMock.reset();
4999552fe9Sopenharmony_ci}
5099552fe9Sopenharmony_ci
5199552fe9Sopenharmony_cibool BundleManagerHelper::GetApplicationInfo(const std::string &appName, const AppExecFwk::ApplicationFlag flag,
5299552fe9Sopenharmony_ci    const int userId, AppExecFwk::ApplicationInfo &appInfo)
5399552fe9Sopenharmony_ci{
5499552fe9Sopenharmony_ci    bool ret {true};
5599552fe9Sopenharmony_ci    if (bundleManagerHelperMock) {
5699552fe9Sopenharmony_ci        ret = bundleManagerHelperMock->GetApplicationInfo(appName, flag, userId, appInfo);
5799552fe9Sopenharmony_ci    } else {
5899552fe9Sopenharmony_ci        appInfo.resourcesApply = { EXEMPT_ALL_RESOURCES };
5999552fe9Sopenharmony_ci    }
6099552fe9Sopenharmony_ci    return ret;
6199552fe9Sopenharmony_ci}
6299552fe9Sopenharmony_ci
6399552fe9Sopenharmony_ciuint64_t TimedTask::CreateTimer(bool repeat, uint64_t interval, bool isExact, bool isIdle,
6499552fe9Sopenharmony_ci    const std::function<void()>& callBack)
6599552fe9Sopenharmony_ci{
6699552fe9Sopenharmony_ci    return 1;
6799552fe9Sopenharmony_ci}
6899552fe9Sopenharmony_ci
6999552fe9Sopenharmony_cibool TimedTask::StartDayNightSwitchTimer(uint64_t& timeId)
7099552fe9Sopenharmony_ci{
7199552fe9Sopenharmony_ci    return true;
7299552fe9Sopenharmony_ci}
7399552fe9Sopenharmony_ci
7499552fe9Sopenharmony_cibool AbilityManagerHelper::GetRunningSystemProcess(std::list<SystemProcessInfo>& systemProcessInfos)
7599552fe9Sopenharmony_ci{
7699552fe9Sopenharmony_ci    systemProcessInfos.emplace_back(SystemProcessInfo{});
7799552fe9Sopenharmony_ci    return g_mockGetRunningSystemProcess;
7899552fe9Sopenharmony_ci}
7999552fe9Sopenharmony_ci
8099552fe9Sopenharmony_cibool AppMgrHelper::GetAllRunningProcesses(std::vector<AppExecFwk::RunningProcessInfo>& allAppProcessInfos)
8199552fe9Sopenharmony_ci{
8299552fe9Sopenharmony_ci    allAppProcessInfos.emplace_back(AppExecFwk::RunningProcessInfo{});
8399552fe9Sopenharmony_ci    return g_mockGetAllRunningProcesses;
8499552fe9Sopenharmony_ci}
8599552fe9Sopenharmony_ci
8699552fe9Sopenharmony_cibool AppMgrHelper::GetForegroundApplications(std::vector<AppExecFwk::AppStateData>& fgApps)
8799552fe9Sopenharmony_ci{
8899552fe9Sopenharmony_ci    return g_mockGetAllRunningProcesses;
8999552fe9Sopenharmony_ci}
9099552fe9Sopenharmony_ci
9199552fe9Sopenharmony_ci
9299552fe9Sopenharmony_cibool AppMgrHelper::Connect()
9399552fe9Sopenharmony_ci{
9499552fe9Sopenharmony_ci    return true;
9599552fe9Sopenharmony_ci}
9699552fe9Sopenharmony_ci
9799552fe9Sopenharmony_cibool AppMgrHelper::GetAppRunningStateByBundleName(const std::string &bundleName, bool& isRunning)
9899552fe9Sopenharmony_ci{
9999552fe9Sopenharmony_ci    isRunning = true;
10099552fe9Sopenharmony_ci    return true;
10199552fe9Sopenharmony_ci}
10299552fe9Sopenharmony_ci
10399552fe9Sopenharmony_cistd::string BundleManagerHelper::GetClientBundleName(int32_t uid)
10499552fe9Sopenharmony_ci{
10599552fe9Sopenharmony_ci    return TEST_DEFAULT_BUNDLE;
10699552fe9Sopenharmony_ci}
10799552fe9Sopenharmony_ci
10899552fe9Sopenharmony_cibool BundleManagerHelper::Connect()
10999552fe9Sopenharmony_ci{
11099552fe9Sopenharmony_ci    return true;
11199552fe9Sopenharmony_ci}
11299552fe9Sopenharmony_ci
11399552fe9Sopenharmony_cibool CommonEventObserver::Subscribe()
11499552fe9Sopenharmony_ci{
11599552fe9Sopenharmony_ci    return true;
11699552fe9Sopenharmony_ci}
11799552fe9Sopenharmony_ci
11899552fe9Sopenharmony_cibool CommonEventObserver::Unsubscribe()
11999552fe9Sopenharmony_ci{
12099552fe9Sopenharmony_ci    return true;
12199552fe9Sopenharmony_ci}
12299552fe9Sopenharmony_ci
12399552fe9Sopenharmony_ci#ifdef ENABLE_BACKGROUND_TASK_MGR
12499552fe9Sopenharmony_cibool BackgroundTaskHelper::GetContinuousTaskApps(std::vector<std::shared_ptr<ContinuousTaskCallbackInfo>> &list)
12599552fe9Sopenharmony_ci{
12699552fe9Sopenharmony_ci    return g_mockGetBackgroundTask;
12799552fe9Sopenharmony_ci}
12899552fe9Sopenharmony_ci
12999552fe9Sopenharmony_cibool BackgroundTaskHelper::GetTransientTaskApps(std::vector<std::shared_ptr<TransientTaskAppInfo>> &list)
13099552fe9Sopenharmony_ci{
13199552fe9Sopenharmony_ci    return g_mockGetBackgroundTask;
13299552fe9Sopenharmony_ci}
13399552fe9Sopenharmony_ci#endif
13499552fe9Sopenharmony_ci
13599552fe9Sopenharmony_cibool AppMgrHelper::SubscribeObserver(const sptr<AppExecFwk::IApplicationStateObserver> &observer)
13699552fe9Sopenharmony_ci{
13799552fe9Sopenharmony_ci    return g_mockSubscribeObserver;
13899552fe9Sopenharmony_ci}
13999552fe9Sopenharmony_ci
14099552fe9Sopenharmony_cibool AppMgrHelper::UnsubscribeObserver(const sptr<AppExecFwk::IApplicationStateObserver> &observer)
14199552fe9Sopenharmony_ci{
14299552fe9Sopenharmony_ci    return g_mockSubscribeObserver;
14399552fe9Sopenharmony_ci}
14499552fe9Sopenharmony_ci
14599552fe9Sopenharmony_civoid IBundleManagerHelper::MockGetAllRunningProcesses(bool mockRet)
14699552fe9Sopenharmony_ci{
14799552fe9Sopenharmony_ci    g_mockGetAllRunningProcesses = mockRet;
14899552fe9Sopenharmony_ci}
14999552fe9Sopenharmony_ci
15099552fe9Sopenharmony_civoid IBundleManagerHelper::MockGetRunningSystemProcess(bool mockRet)
15199552fe9Sopenharmony_ci{
15299552fe9Sopenharmony_ci    g_mockGetRunningSystemProcess = mockRet;
15399552fe9Sopenharmony_ci}
15499552fe9Sopenharmony_ci
15599552fe9Sopenharmony_civoid IBundleManagerHelper::MockGetBackgroundTask(bool mockRet)
15699552fe9Sopenharmony_ci{
15799552fe9Sopenharmony_ci    g_mockGetBackgroundTask = mockRet;
15899552fe9Sopenharmony_ci}
15999552fe9Sopenharmony_ci
16099552fe9Sopenharmony_civoid IBundleManagerHelper::MockSubscribeObserver(bool mockRet)
16199552fe9Sopenharmony_ci{
16299552fe9Sopenharmony_ci    g_mockSubscribeObserver = mockRet;
16399552fe9Sopenharmony_ci}
16499552fe9Sopenharmony_ci}  // namespace DevStandbyMgr
16599552fe9Sopenharmony_ci}  // namespace OHOS