pass if update is downloaded info to show update dialog callback
This commit is contained in:
parent
8e963aa85a
commit
e3febd0c48
|
@ -10,11 +10,16 @@ export const reloadWindow = () => {
|
|||
ipcRenderer.send('reload-window');
|
||||
};
|
||||
|
||||
export const registerUpdateEventListener = (showUpdateDialog: () => void) => {
|
||||
export const registerUpdateEventListener = (
|
||||
showUpdateDialog: (updateInfo: { uploadDownloaded: boolean }) => void
|
||||
) => {
|
||||
ipcRenderer.removeAllListeners('show-update-dialog');
|
||||
ipcRenderer.on('show-update-dialog', () => {
|
||||
showUpdateDialog();
|
||||
});
|
||||
ipcRenderer.on(
|
||||
'show-update-dialog',
|
||||
(_, updateInfo: { uploadDownloaded: boolean }) => {
|
||||
showUpdateDialog(updateInfo);
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
export const updateAndRestart = () => {
|
||||
|
|
|
@ -3,7 +3,6 @@ import { autoUpdater } from 'electron-updater';
|
|||
import log from 'electron-log';
|
||||
import { setIsAppQuitting, setIsUpdateAvailable } from '../main';
|
||||
import { buildContextMenu } from '../utils/menu';
|
||||
import { showUpdateDialog } from '../utils/appUpdate';
|
||||
|
||||
const LATEST_SUPPORTED_AUTO_UPDATE_VERSION = '1.6.12';
|
||||
|
||||
|
@ -14,10 +13,6 @@ class AppUpdater {
|
|||
autoUpdater.autoDownload = false;
|
||||
}
|
||||
|
||||
getUpdateDownloaded() {
|
||||
return this.updateDownloaded;
|
||||
}
|
||||
|
||||
async checkForUpdate(tray: Tray, mainWindow: BrowserWindow) {
|
||||
const updateCheckResult = await autoUpdater.checkForUpdatesAndNotify();
|
||||
log.info(updateCheckResult);
|
||||
|
@ -26,12 +21,12 @@ class AppUpdater {
|
|||
LATEST_SUPPORTED_AUTO_UPDATE_VERSION
|
||||
) {
|
||||
this.updateDownloaded = false;
|
||||
showUpdateDialog(mainWindow);
|
||||
this.showUpdateDialog(mainWindow);
|
||||
} else {
|
||||
autoUpdater.downloadUpdate();
|
||||
autoUpdater.on('update-downloaded', () => {
|
||||
this.updateDownloaded = true;
|
||||
showUpdateDialog(mainWindow);
|
||||
this.showUpdateDialog(mainWindow);
|
||||
setIsUpdateAvailable(true);
|
||||
tray.setContextMenu(buildContextMenu(mainWindow));
|
||||
});
|
||||
|
@ -42,6 +37,12 @@ class AppUpdater {
|
|||
setIsAppQuitting(true);
|
||||
autoUpdater.quitAndInstall();
|
||||
};
|
||||
|
||||
showUpdateDialog = (mainWindow: BrowserWindow) => {
|
||||
mainWindow.webContents.send('show-update-dialog', {
|
||||
updateDownloaded: this.updateDownloaded,
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
export default new AppUpdater();
|
||||
|
|
|
@ -12,7 +12,7 @@ import {
|
|||
import { isUpdateAvailable, setIsAppQuitting } from '../main';
|
||||
import autoLauncher from '../services/autoLauncher';
|
||||
import { isPlatformMac } from './main';
|
||||
import { showUpdateDialog } from '../services/appUpdater';
|
||||
import appUpdater from '../services/appUpdater';
|
||||
|
||||
export function buildContextMenu(
|
||||
mainWindow: BrowserWindow,
|
||||
|
@ -29,7 +29,7 @@ export function buildContextMenu(
|
|||
? [
|
||||
{
|
||||
label: 'Update available',
|
||||
click: () => showUpdateDialog(mainWindow),
|
||||
click: () => appUpdater.showUpdateDialog(mainWindow),
|
||||
},
|
||||
]
|
||||
: []),
|
||||
|
|
Loading…
Reference in a new issue