18779efd5Sopenharmony_ci/** 28779efd5Sopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd. 38779efd5Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 48779efd5Sopenharmony_ci * you may not use this file except in compliance with the License. 58779efd5Sopenharmony_ci * You may obtain a copy of the License at 68779efd5Sopenharmony_ci * 78779efd5Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 88779efd5Sopenharmony_ci * 98779efd5Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 108779efd5Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 118779efd5Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 128779efd5Sopenharmony_ci * See the License for the specific language governing permissions and 138779efd5Sopenharmony_ci * limitations under the License. 148779efd5Sopenharmony_ci */ 158779efd5Sopenharmony_ci 168779efd5Sopenharmony_ciimport BasicDataSource from './BasicDataSource'; 178779efd5Sopenharmony_ciimport { HiLog } from '../../../../../../common/src/main/ets/util/HiLog'; 188779efd5Sopenharmony_ciimport { ArrayUtil } from '../../../../../../common/src/main/ets/util/ArrayUtil'; 198779efd5Sopenharmony_ci 208779efd5Sopenharmony_ciconst TAG = "DetailCallLogDataSource"; 218779efd5Sopenharmony_ci 228779efd5Sopenharmony_ciexport default class DetailCallLogDataSource extends BasicDataSource { 238779efd5Sopenharmony_ci private detailCallLogList: object[] = []; 248779efd5Sopenharmony_ci 258779efd5Sopenharmony_ci public totalCount(): number { 268779efd5Sopenharmony_ci return this.detailCallLogList.length; 278779efd5Sopenharmony_ci } 288779efd5Sopenharmony_ci 298779efd5Sopenharmony_ci public getData(index: number): any { 308779efd5Sopenharmony_ci HiLog.i(TAG, "getData index is %s" + index); 318779efd5Sopenharmony_ci if (ArrayUtil.isEmpty(this.detailCallLogList) || index >= this.detailCallLogList.length) { 328779efd5Sopenharmony_ci HiLog.i(TAG, "getData detailCallLogList is empty"); 338779efd5Sopenharmony_ci return null; 348779efd5Sopenharmony_ci } else { 358779efd5Sopenharmony_ci let callLog = this.detailCallLogList[index]; 368779efd5Sopenharmony_ci let showTitle = false; 378779efd5Sopenharmony_ci if (index == 0) { 388779efd5Sopenharmony_ci showTitle = true; 398779efd5Sopenharmony_ci } 408779efd5Sopenharmony_ci let item = { 418779efd5Sopenharmony_ci callLog: callLog, 428779efd5Sopenharmony_ci showTitle: showTitle 438779efd5Sopenharmony_ci } 448779efd5Sopenharmony_ci return item; 458779efd5Sopenharmony_ci } 468779efd5Sopenharmony_ci } 478779efd5Sopenharmony_ci 488779efd5Sopenharmony_ci public refresh(callLog) { 498779efd5Sopenharmony_ci HiLog.i(TAG, ' refresh!'); 508779efd5Sopenharmony_ci this.detailCallLogList = callLog; 518779efd5Sopenharmony_ci this.notifyDataReload(); 528779efd5Sopenharmony_ci } 538779efd5Sopenharmony_ci}