161847f8eSopenharmony_ci/*
261847f8eSopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd.
361847f8eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
461847f8eSopenharmony_ci * you may not use this file except in compliance with the License.
561847f8eSopenharmony_ci * You may obtain a copy of the License at
661847f8eSopenharmony_ci *
761847f8eSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
861847f8eSopenharmony_ci *
961847f8eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
1061847f8eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
1161847f8eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1261847f8eSopenharmony_ci * See the License for the specific language governing permissions and
1361847f8eSopenharmony_ci * limitations under the License.
1461847f8eSopenharmony_ci */
1561847f8eSopenharmony_ci
1661847f8eSopenharmony_ci/**
1761847f8eSopenharmony_ci * @file
1861847f8eSopenharmony_ci */
1961847f8eSopenharmony_ci
2061847f8eSopenharmony_ciimport { AsyncCallback, Callback } from './@ohos.base';
2161847f8eSopenharmony_ciimport { WantAgent } from './@ohos.wantAgent';
2261847f8eSopenharmony_ciimport Context from './application/BaseContext';
2361847f8eSopenharmony_ci
2461847f8eSopenharmony_ci/**
2561847f8eSopenharmony_ci * Manages background tasks.
2661847f8eSopenharmony_ci *
2761847f8eSopenharmony_ci * @namespace backgroundTaskManager
2861847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask
2961847f8eSopenharmony_ci * @since 7
3061847f8eSopenharmony_ci * @deprecated since 9
3161847f8eSopenharmony_ci * @useinstead ohos.resourceschedule.backgroundTaskManager
3261847f8eSopenharmony_ci */
3361847f8eSopenharmony_cideclare namespace backgroundTaskManager {
3461847f8eSopenharmony_ci  /**
3561847f8eSopenharmony_ci   * The info of delay suspend.
3661847f8eSopenharmony_ci   *
3761847f8eSopenharmony_ci   * @name DelaySuspendInfo
3861847f8eSopenharmony_ci   * @interface DelaySuspendInfo
3961847f8eSopenharmony_ci   * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask
4061847f8eSopenharmony_ci   * @since 7
4161847f8eSopenharmony_ci   * @deprecated since 9
4261847f8eSopenharmony_ci   * @useinstead ohos.resourceschedule.backgroundTaskManager.DelaySuspendInfo
4361847f8eSopenharmony_ci   */
4461847f8eSopenharmony_ci  interface DelaySuspendInfo {
4561847f8eSopenharmony_ci    /**
4661847f8eSopenharmony_ci     * The unique identifier of the delay request.
4761847f8eSopenharmony_ci     *
4861847f8eSopenharmony_ci     * @type { number }
4961847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask
5061847f8eSopenharmony_ci     * @since 7
5161847f8eSopenharmony_ci     * @deprecated since 9
5261847f8eSopenharmony_ci     * @useinstead ohos.resourceschedule.backgroundTaskManager.DelaySuspendInfo
5361847f8eSopenharmony_ci     */
5461847f8eSopenharmony_ci    requestId: number;
5561847f8eSopenharmony_ci    /**
5661847f8eSopenharmony_ci     * The actual delay duration (ms).
5761847f8eSopenharmony_ci     *
5861847f8eSopenharmony_ci     * @type { number }
5961847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask
6061847f8eSopenharmony_ci     * @since 7
6161847f8eSopenharmony_ci     * @deprecated since 9
6261847f8eSopenharmony_ci     * @useinstead ohos.resourceschedule.backgroundTaskManager.DelaySuspendInfo
6361847f8eSopenharmony_ci     */
6461847f8eSopenharmony_ci    actualDelayTime: number;
6561847f8eSopenharmony_ci  }
6661847f8eSopenharmony_ci
6761847f8eSopenharmony_ci  /**
6861847f8eSopenharmony_ci   * Cancels delayed transition to the suspended state.
6961847f8eSopenharmony_ci   *
7061847f8eSopenharmony_ci   * @param { number } requestId Indicates the identifier of the delay request.
7161847f8eSopenharmony_ci   * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask
7261847f8eSopenharmony_ci   * @since 7
7361847f8eSopenharmony_ci   * @deprecated since 9
7461847f8eSopenharmony_ci   * @useinstead ohos.resourceschedule.backgroundTaskManager.cancelSuspendDelay
7561847f8eSopenharmony_ci   */
7661847f8eSopenharmony_ci  function cancelSuspendDelay(requestId: number): void;
7761847f8eSopenharmony_ci
7861847f8eSopenharmony_ci  /**
7961847f8eSopenharmony_ci   * Obtains the remaining time before an application enters the suspended state.
8061847f8eSopenharmony_ci   *
8161847f8eSopenharmony_ci   * @param { number } requestId Indicates the identifier of the delay request.
8261847f8eSopenharmony_ci   * @param { AsyncCallback<number> } callback - The callback of the remaining delay time.
8361847f8eSopenharmony_ci   * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask
8461847f8eSopenharmony_ci   * @since 7
8561847f8eSopenharmony_ci   * @deprecated since 9
8661847f8eSopenharmony_ci   * @useinstead ohos.resourceschedule.backgroundTaskManager.getRemainingDelayTime
8761847f8eSopenharmony_ci   */
8861847f8eSopenharmony_ci  function getRemainingDelayTime(requestId: number, callback: AsyncCallback<number>): void;
8961847f8eSopenharmony_ci
9061847f8eSopenharmony_ci  /**
9161847f8eSopenharmony_ci   * Obtains the remaining time before an application enters the suspended state.
9261847f8eSopenharmony_ci   *
9361847f8eSopenharmony_ci   * @param { number } requestId Indicates the identifier of the delay request.
9461847f8eSopenharmony_ci   * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask
9561847f8eSopenharmony_ci   * @since 7
9661847f8eSopenharmony_ci   * @deprecated since 9
9761847f8eSopenharmony_ci   * @useinstead ohos.resourceschedule.backgroundTaskManager.getRemainingDelayTime
9861847f8eSopenharmony_ci   */
9961847f8eSopenharmony_ci  function getRemainingDelayTime(requestId: number): Promise<number>;
10061847f8eSopenharmony_ci
10161847f8eSopenharmony_ci  /**
10261847f8eSopenharmony_ci   * Requests delayed transition to the suspended state.
10361847f8eSopenharmony_ci   *
10461847f8eSopenharmony_ci   * @param { string } reason Indicates the reason for delayed transition to the suspended state.
10561847f8eSopenharmony_ci   * @param { Callback<void> } callback The callback delay time expired.
10661847f8eSopenharmony_ci   * @returns { DelaySuspendInfo } Info of delay request
10761847f8eSopenharmony_ci   * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask
10861847f8eSopenharmony_ci   * @since 7
10961847f8eSopenharmony_ci   * @deprecated since 9
11061847f8eSopenharmony_ci   * @useinstead ohos.resourceschedule.backgroundTaskManager.requestSuspendDelay
11161847f8eSopenharmony_ci   */
11261847f8eSopenharmony_ci  function requestSuspendDelay(reason: string, callback: Callback<void>): DelaySuspendInfo;
11361847f8eSopenharmony_ci
11461847f8eSopenharmony_ci  /**
11561847f8eSopenharmony_ci   * Service ability uses this method to request start running in background.
11661847f8eSopenharmony_ci   * system will publish a notification related to the this service.
11761847f8eSopenharmony_ci   *
11861847f8eSopenharmony_ci   * @permission ohos.permission.KEEP_BACKGROUND_RUNNING
11961847f8eSopenharmony_ci   * @param { Context } context app running context.
12061847f8eSopenharmony_ci   * @param { BackgroundMode } bgMode Indicates which background mode to request.
12161847f8eSopenharmony_ci   * @param { WantAgent } wantAgent Indicates which ability to start when user click the notification bar.
12261847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of the function.
12361847f8eSopenharmony_ci   * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask
12461847f8eSopenharmony_ci   * @since 8
12561847f8eSopenharmony_ci   * @deprecated since 9
12661847f8eSopenharmony_ci   * @useinstead ohos.resourceschedule.backgroundTaskManager.startBackgroundRunning
12761847f8eSopenharmony_ci   */
12861847f8eSopenharmony_ci  function startBackgroundRunning(context: Context, bgMode: BackgroundMode, wantAgent: WantAgent, callback: AsyncCallback<void>): void;
12961847f8eSopenharmony_ci
13061847f8eSopenharmony_ci  /**
13161847f8eSopenharmony_ci   * Service ability uses this method to request start running in background.
13261847f8eSopenharmony_ci   * system will publish a notification related to the this service.
13361847f8eSopenharmony_ci   *
13461847f8eSopenharmony_ci   * @permission ohos.permission.KEEP_BACKGROUND_RUNNING
13561847f8eSopenharmony_ci   * @param { Context } context app running context.
13661847f8eSopenharmony_ci   * @param { BackgroundMode } bgMode Indicates which background mode to request.
13761847f8eSopenharmony_ci   * @param { WantAgent } wantAgent Indicates which ability to start when user click the notification bar.
13861847f8eSopenharmony_ci   * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask
13961847f8eSopenharmony_ci   * @since 8
14061847f8eSopenharmony_ci   * @deprecated since 9
14161847f8eSopenharmony_ci   * @useinstead ohos.resourceschedule.backgroundTaskManager.startBackgroundRunning
14261847f8eSopenharmony_ci   */
14361847f8eSopenharmony_ci  function startBackgroundRunning(context: Context, bgMode: BackgroundMode, wantAgent: WantAgent): Promise<void>;
14461847f8eSopenharmony_ci
14561847f8eSopenharmony_ci  /**
14661847f8eSopenharmony_ci   * Service ability uses this method to request stop running in background.
14761847f8eSopenharmony_ci   *
14861847f8eSopenharmony_ci   * @param { Context } context - App running context.
14961847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of the function.
15061847f8eSopenharmony_ci   * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask
15161847f8eSopenharmony_ci   * @since 8
15261847f8eSopenharmony_ci   * @deprecated since 9
15361847f8eSopenharmony_ci   * @useinstead ohos.resourceschedule.backgroundTaskManager.stopBackgroundRunning
15461847f8eSopenharmony_ci   */
15561847f8eSopenharmony_ci  function stopBackgroundRunning(context: Context, callback: AsyncCallback<void>): void;
15661847f8eSopenharmony_ci
15761847f8eSopenharmony_ci  /**
15861847f8eSopenharmony_ci   * Service ability uses this method to request stop running in background.
15961847f8eSopenharmony_ci   *
16061847f8eSopenharmony_ci   * @param { Context } context - App running context.
16161847f8eSopenharmony_ci   * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask
16261847f8eSopenharmony_ci   * @since 8
16361847f8eSopenharmony_ci   * @deprecated since 9
16461847f8eSopenharmony_ci   * @useinstead ohos.resourceschedule.backgroundTaskManager.stopBackgroundRunning
16561847f8eSopenharmony_ci   */
16661847f8eSopenharmony_ci  function stopBackgroundRunning(context: Context): Promise<void>;
16761847f8eSopenharmony_ci
16861847f8eSopenharmony_ci  /**
16961847f8eSopenharmony_ci   * Supported background mode.
17061847f8eSopenharmony_ci   *
17161847f8eSopenharmony_ci   * @enum { number }
17261847f8eSopenharmony_ci   * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask
17361847f8eSopenharmony_ci   * @since 8
17461847f8eSopenharmony_ci   * @deprecated since 9
17561847f8eSopenharmony_ci   * @useinstead ohos.resourceschedule.backgroundTaskManager.BackgroundMode
17661847f8eSopenharmony_ci   */
17761847f8eSopenharmony_ci  export enum BackgroundMode {
17861847f8eSopenharmony_ci    /**
17961847f8eSopenharmony_ci     * data transfer mode
18061847f8eSopenharmony_ci     *
18161847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask
18261847f8eSopenharmony_ci     * @since 8
18361847f8eSopenharmony_ci     * @deprecated since 9
18461847f8eSopenharmony_ci     */
18561847f8eSopenharmony_ci    DATA_TRANSFER = 1,
18661847f8eSopenharmony_ci
18761847f8eSopenharmony_ci    /**
18861847f8eSopenharmony_ci     * audio playback mode
18961847f8eSopenharmony_ci     *
19061847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask
19161847f8eSopenharmony_ci     * @since 8
19261847f8eSopenharmony_ci     * @deprecated since 9
19361847f8eSopenharmony_ci     */
19461847f8eSopenharmony_ci    AUDIO_PLAYBACK = 2,
19561847f8eSopenharmony_ci
19661847f8eSopenharmony_ci    /**
19761847f8eSopenharmony_ci     * audio recording mode
19861847f8eSopenharmony_ci     *
19961847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask
20061847f8eSopenharmony_ci     * @since 8
20161847f8eSopenharmony_ci     * @deprecated since 9
20261847f8eSopenharmony_ci     */
20361847f8eSopenharmony_ci    AUDIO_RECORDING = 3,
20461847f8eSopenharmony_ci
20561847f8eSopenharmony_ci    /**
20661847f8eSopenharmony_ci     * location mode
20761847f8eSopenharmony_ci     *
20861847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask
20961847f8eSopenharmony_ci     * @since 8
21061847f8eSopenharmony_ci     * @deprecated since 9
21161847f8eSopenharmony_ci     */
21261847f8eSopenharmony_ci    LOCATION = 4,
21361847f8eSopenharmony_ci
21461847f8eSopenharmony_ci    /**
21561847f8eSopenharmony_ci     * bluetooth interaction mode
21661847f8eSopenharmony_ci     *
21761847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask
21861847f8eSopenharmony_ci     * @since 8
21961847f8eSopenharmony_ci     * @deprecated since 9
22061847f8eSopenharmony_ci     */
22161847f8eSopenharmony_ci    BLUETOOTH_INTERACTION = 5,
22261847f8eSopenharmony_ci
22361847f8eSopenharmony_ci    /**
22461847f8eSopenharmony_ci     * multi-device connection mode
22561847f8eSopenharmony_ci     *
22661847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask
22761847f8eSopenharmony_ci     * @since 8
22861847f8eSopenharmony_ci     * @deprecated since 9
22961847f8eSopenharmony_ci     */
23061847f8eSopenharmony_ci    MULTI_DEVICE_CONNECTION = 6,
23161847f8eSopenharmony_ci
23261847f8eSopenharmony_ci    /**
23361847f8eSopenharmony_ci     * wifi interaction mode
23461847f8eSopenharmony_ci     *
23561847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask
23661847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
23761847f8eSopenharmony_ci     * @since 8
23861847f8eSopenharmony_ci     * @deprecated since 9
23961847f8eSopenharmony_ci     */
24061847f8eSopenharmony_ci    WIFI_INTERACTION = 7,
24161847f8eSopenharmony_ci
24261847f8eSopenharmony_ci    /**
24361847f8eSopenharmony_ci     * Voice over Internet Phone mode
24461847f8eSopenharmony_ci     *
24561847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask
24661847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
24761847f8eSopenharmony_ci     * @since 8
24861847f8eSopenharmony_ci     * @deprecated since 9
24961847f8eSopenharmony_ci     */
25061847f8eSopenharmony_ci    VOIP = 8,
25161847f8eSopenharmony_ci
25261847f8eSopenharmony_ci    /**
25361847f8eSopenharmony_ci     * background continuous calculate mode, for example 3D render.
25461847f8eSopenharmony_ci     * only supported in particular device
25561847f8eSopenharmony_ci     *
25661847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask
25761847f8eSopenharmony_ci     * @since 8
25861847f8eSopenharmony_ci     * @deprecated since 9
25961847f8eSopenharmony_ci     */
26061847f8eSopenharmony_ci    TASK_KEEPING = 9,
26161847f8eSopenharmony_ci  }
26261847f8eSopenharmony_ci}
26361847f8eSopenharmony_ci
26461847f8eSopenharmony_ciexport default backgroundTaskManager;
265