16e80583aSopenharmony_ci/** 26e80583aSopenharmony_ci * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 36e80583aSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 46e80583aSopenharmony_ci * you may not use this file except in compliance with the License. 56e80583aSopenharmony_ci * You may obtain a copy of the License at 66e80583aSopenharmony_ci * 76e80583aSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 86e80583aSopenharmony_ci * 96e80583aSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 106e80583aSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 116e80583aSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 126e80583aSopenharmony_ci * See the License for the specific language governing permissions and 136e80583aSopenharmony_ci * limitations under the License. 146e80583aSopenharmony_ci */ 156e80583aSopenharmony_ci 166e80583aSopenharmony_ciimport { Log } from '../utils/Log'; 176e80583aSopenharmony_ciimport { amsMissionManager }from '../manager/AmsMissionManager'; 186e80583aSopenharmony_ci 196e80583aSopenharmony_ciconst TAG = 'RecentMissionsModel'; 206e80583aSopenharmony_ci 216e80583aSopenharmony_ci/** 226e80583aSopenharmony_ci * Recent missions data model. 236e80583aSopenharmony_ci */ 246e80583aSopenharmony_ciexport class RecentMissionsModel { 256e80583aSopenharmony_ci 266e80583aSopenharmony_ci private constructor() { 276e80583aSopenharmony_ci } 286e80583aSopenharmony_ci 296e80583aSopenharmony_ci /** 306e80583aSopenharmony_ci * Return an instance of RecentMissionsModel. 316e80583aSopenharmony_ci * 326e80583aSopenharmony_ci * @return {object} the model. 336e80583aSopenharmony_ci */ 346e80583aSopenharmony_ci static getInstance(): RecentMissionsModel { 356e80583aSopenharmony_ci if (globalThis.RecentMissionsModelInstance == null) { 366e80583aSopenharmony_ci globalThis.RecentMissionsModelInstance = new RecentMissionsModel(); 376e80583aSopenharmony_ci } 386e80583aSopenharmony_ci return globalThis.RecentMissionsModelInstance; 396e80583aSopenharmony_ci } 406e80583aSopenharmony_ci 416e80583aSopenharmony_ci /** 426e80583aSopenharmony_ci * Get recent missions list. 436e80583aSopenharmony_ci * 446e80583aSopenharmony_ci * @return {Array} the missions list. 456e80583aSopenharmony_ci */ 466e80583aSopenharmony_ci async getRecentMissionsList() { 476e80583aSopenharmony_ci Log.showInfo(TAG, 'getRecentMissionsList start'); 486e80583aSopenharmony_ci const recentMissionsList = await amsMissionManager.getRecentMissionsList(); 496e80583aSopenharmony_ci Log.showInfo(TAG, `getRecentMissionsList length: ${recentMissionsList.length}`); 506e80583aSopenharmony_ci return recentMissionsList; 516e80583aSopenharmony_ci } 526e80583aSopenharmony_ci}