1/* 2 * Copyright (c) 2022-2023 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16import { MediaDataSource } from '@ohos/common/src/main/ets/default/model/browser/photo/MediaDataSource'; 17import type { PhotoDataImpl } from '@ohos/common/src/main/ets/default/model/browser/photo/PhotoDataImpl'; 18import type { BrowserDataInterface } from '@ohos/common/src/main/ets/default/interface/BrowserDataInterface'; 19import { MediaItem } from '@ohos/common'; 20import SmartPickerConstants from './SmartPickerConstants'; 21 22export class PickerMediaDataSource extends MediaDataSource { 23 constructor(windowSize: number, photoDataImpl?: PhotoDataImpl) { 24 super(windowSize, photoDataImpl); 25 } 26 27 changeDataImpl(dataImpl: BrowserDataInterface): void { 28 this.photoDataImpl = dataImpl; 29 } 30 31 updateMediaData(requestTime: number, start: number, mediaItems: MediaItem[], onInit?: boolean): void { 32 super.updateMediaData(requestTime, start, mediaItems); 33 if (onInit) { 34 this.broadCast?.emit(SmartPickerConstants.PICKER_INIT_DATA_FIRST_QUERY_FINISH, []); 35 } 36 } 37} 38 39 40