bitwarden-estensione-browser/src/background/idle.background.ts

32 lines
976 B
TypeScript
Raw Normal View History

import ConstantsService from '../services/constants.service';
import LockService from '../services/lock.service';
import MainBackground from './main.background';
import { Abstractions } from '@bitwarden/jslib';
export default class IdleBackground {
private idle: any;
constructor(private main: MainBackground, private lockService: LockService,
private storageService: Abstractions.StorageService) {
this.idle = chrome.idle;
}
async init() {
if (!this.idle) {
return;
}
if (this.idle.onStateChanged) {
this.idle.onStateChanged.addListener(async (newState: string) => {
if (newState === 'locked') {
const lockOption = await this.storageService.get<number>(ConstantsService.lockOptionKey);
if (lockOption === -2) {
this.lockService.lock();
}
}
});
}
}
}