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}