Migrate app to TypeScript (#1637)
* Initial setup and migrated src/common * WIP * WIP * WIP * Main module basically finished * Renderer process migrated * Added CI step and some fixes * Fixed remainder of issues and added proper ESLint config * Fixed a couple issues * Progress! * Some more fixes * Fixed a test * Fix build step * PR feedback
This commit is contained in:
51
src/main/AutoLauncher.ts
Normal file
51
src/main/AutoLauncher.ts
Normal file
@@ -0,0 +1,51 @@
|
||||
// Copyright (c) 2015-2016 Yuya Ochiai
|
||||
// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import AutoLaunch from 'auto-launch';
|
||||
import {app} from 'electron';
|
||||
import isDev from 'electron-is-dev';
|
||||
import log from 'electron-log';
|
||||
|
||||
export default class AutoLauncher {
|
||||
appLauncher: AutoLaunch;
|
||||
|
||||
constructor() {
|
||||
this.appLauncher = new AutoLaunch({
|
||||
name: app.name,
|
||||
isHidden: true,
|
||||
});
|
||||
}
|
||||
|
||||
isEnabled() {
|
||||
return this.appLauncher.isEnabled();
|
||||
}
|
||||
|
||||
async blankPromise() {
|
||||
return null;
|
||||
}
|
||||
|
||||
async enable() {
|
||||
if (isDev) {
|
||||
log.warn('In development mode, autostart config never effects');
|
||||
return this.blankPromise();
|
||||
}
|
||||
const enabled = await this.isEnabled();
|
||||
if (!enabled) {
|
||||
return this.appLauncher.enable();
|
||||
}
|
||||
return this.blankPromise();
|
||||
}
|
||||
|
||||
async disable() {
|
||||
if (isDev) {
|
||||
log.warn('In development mode, autostart config never effects');
|
||||
return this.blankPromise();
|
||||
}
|
||||
const enabled = await this.isEnabled();
|
||||
if (enabled) {
|
||||
return this.appLauncher.disable();
|
||||
}
|
||||
return this.blankPromise();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user