mirror of
https://github.com/openharmony/applications_mms.git
synced 2026-07-01 21:04:41 -04:00
7107b419ef
Signed-off-by: marenqing@huawei.com <marenqing@huawei.com>
74 lines
1.9 KiB
Plaintext
74 lines
1.9 KiB
Plaintext
/**
|
|
* Copyright (c) 2022 Huawei Device Co., Ltd.
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
import HiLog from '../utils/HiLog';
|
|
|
|
const TAG = 'BasicDataSource'
|
|
|
|
export default class BasicDataSource implements IDataSource {
|
|
private listeners: DataChangeListener[] = []
|
|
|
|
public totalCount(): number {
|
|
return 0
|
|
}
|
|
|
|
public getData(index: number): any {
|
|
return undefined
|
|
}
|
|
|
|
registerDataChangeListener(listener: DataChangeListener): void {
|
|
if (this.listeners.indexOf(listener) < 0) {
|
|
HiLog.i(TAG, 'add listener')
|
|
this.listeners.push(listener)
|
|
}
|
|
}
|
|
|
|
unregisterDataChangeListener(listener: DataChangeListener): void {
|
|
const pos = this.listeners.indexOf(listener);
|
|
if (pos >= 0) {
|
|
HiLog.i(TAG, 'remove listener')
|
|
this.listeners.splice(pos, 1)
|
|
}
|
|
}
|
|
|
|
notifyDataReload(): void {
|
|
this.listeners.forEach(listener => {
|
|
listener.onDataReloaded()
|
|
})
|
|
}
|
|
|
|
notifyDataAdd(index: number): void {
|
|
this.listeners.forEach(listener => {
|
|
listener.onDataAdded(index)
|
|
})
|
|
}
|
|
|
|
notifyDataChange(index: number): void {
|
|
this.listeners.forEach(listener => {
|
|
listener.onDataChanged(index)
|
|
})
|
|
}
|
|
|
|
notifyDataDelete(index: number): void {
|
|
this.listeners.forEach(listener => {
|
|
listener.onDataDeleted(index)
|
|
})
|
|
}
|
|
|
|
notifyDataMove(from: number, to: number): void {
|
|
this.listeners.forEach(listener => {
|
|
listener.onDataMoved(from, to)
|
|
})
|
|
}
|
|
} |