mirror of
https://github.com/bitwarden/browser
synced 2025-12-16 08:13:42 +00:00
move lock service interval to init
This commit is contained in:
@@ -10,12 +10,24 @@ import { PlatformUtilsService } from '../abstractions/platformUtils.service';
|
|||||||
import { StorageService } from '../abstractions/storage.service';
|
import { StorageService } from '../abstractions/storage.service';
|
||||||
|
|
||||||
export class LockService implements LockServiceAbstraction {
|
export class LockService implements LockServiceAbstraction {
|
||||||
|
private inited = false;
|
||||||
|
|
||||||
constructor(private cipherService: CipherService, private folderService: FolderService,
|
constructor(private cipherService: CipherService, private folderService: FolderService,
|
||||||
private collectionService: CollectionService, private cryptoService: CryptoService,
|
private collectionService: CollectionService, private cryptoService: CryptoService,
|
||||||
private platformUtilsService: PlatformUtilsService, private storageService: StorageService,
|
private platformUtilsService: PlatformUtilsService, private storageService: StorageService,
|
||||||
private messagingService: MessagingService, private lockedCallback: Function) {
|
private messagingService: MessagingService, private lockedCallback: () => Promise<void>) {
|
||||||
this.checkLock();
|
}
|
||||||
setInterval(() => this.checkLock(), 10 * 1000); // check every 10 seconds
|
|
||||||
|
init(checkOnInterval: boolean) {
|
||||||
|
if (this.inited) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.inited = true;
|
||||||
|
if (checkOnInterval) {
|
||||||
|
this.checkLock();
|
||||||
|
setInterval(() => this.checkLock(), 10 * 1000); // check every 10 seconds
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async checkLock(): Promise<void> {
|
async checkLock(): Promise<void> {
|
||||||
@@ -60,7 +72,9 @@ export class LockService implements LockServiceAbstraction {
|
|||||||
this.cipherService.clearCache();
|
this.cipherService.clearCache();
|
||||||
this.collectionService.clearCache();
|
this.collectionService.clearCache();
|
||||||
this.messagingService.send('locked');
|
this.messagingService.send('locked');
|
||||||
this.lockedCallback();
|
if (this.lockedCallback != null) {
|
||||||
|
await this.lockedCallback();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async setLockOption(lockOption: number): Promise<void> {
|
async setLockOption(lockOption: number): Promise<void> {
|
||||||
|
|||||||
Reference in New Issue
Block a user