Use new settings API exposed directly through SyncClient

This commit is contained in:
Andras Schmelczer 2025-03-20 20:44:03 +00:00
parent a39e0886c7
commit d772cda164
No known key found for this signature in database
GPG key ID: FC8F2C3D3D1A718C
7 changed files with 50 additions and 72 deletions

View file

@ -50,15 +50,6 @@ export class Settings {
return this.settings;
}
public async setSettings(value: SyncSettings): Promise<void> {
const oldSettings = this.settings;
this.settings = value;
this.onSettingsChangeHandlers.forEach((handler) => {
handler(value, oldSettings);
});
await this.save();
}
public addOnSettingsChangeHandlers(
handler: (settings: SyncSettings, oldSettings: SyncSettings) => void
): void {
@ -74,6 +65,15 @@ export class Settings {
await this.setSettings(newSettings);
}
private async setSettings(value: SyncSettings): Promise<void> {
const oldSettings = this.settings;
this.settings = value;
this.onSettingsChangeHandlers.forEach((handler) => {
handler(value, oldSettings);
});
await this.save();
}
private async save(): Promise<void> {
await this.saveData(this.settings);
}