pass if update is downloaded info to show update dialog callback

This commit is contained in:
Abhinav 2022-10-31 17:32:25 +05:30
parent 8e963aa85a
commit e3febd0c48
3 changed files with 19 additions and 13 deletions

View file

@ -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 = () => {

View file

@ -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();

View file

@ -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),
},
]
: []),