Skip to content

Commit

Permalink
Partial refactory preload.js
Browse files Browse the repository at this point in the history
  • Loading branch information
everoddandeven committed Feb 11, 2025
1 parent 218bb49 commit d199474
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 32 deletions.
8 changes: 4 additions & 4 deletions app/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -528,9 +528,9 @@ try {

// #endregion

ipcMain.handle('is-on-battery-power', async (event: IpcMainInvokeEvent) => {
ipcMain.handle('is-on-battery-power', async (event: IpcMainInvokeEvent, params: { eventId: string; }) => {
const onBattery = await BatteryUtils.isOnBatteryPower();
win?.webContents.send('on-is-on-battery-power', onBattery);
win?.webContents.send(params.eventId, onBattery);
});

powerMonitor.on('on-ac', () => win?.webContents.send('on-ac'));
Expand Down Expand Up @@ -802,8 +802,8 @@ try {
}
});

ipcMain.handle('get-battery-level', async (event: IpcMainInvokeEvent) => {
win?.webContents.send('on-get-battery-level', await BatteryUtils.getLevel());
ipcMain.handle('get-battery-level', async (event: IpcMainInvokeEvent, params: { eventId: string; }) => {
win?.webContents.send(params.eventId, await BatteryUtils.getLevel());
});

ipcMain.handle('disable-auto-launch', async (event: IpcMainInvokeEvent) => {
Expand Down
33 changes: 17 additions & 16 deletions app/preload.js
Original file line number Diff line number Diff line change
Expand Up @@ -45,30 +45,31 @@ contextBridge.exposeInMainWorld('electronAPI', {
ipcRenderer.on(eventId, handler);
ipcRenderer.invoke('http-get', params);
},
getBatteryLevel: () => {
ipcRenderer.invoke('get-battery-level');
},
onGetBatteryLevel: (callback) => {
ipcRenderer.on('on-get-battery-level', callback);
},
isOnBatteryPower: () => {
ipcRenderer.invoke('is-on-battery-power');
},
onIsOnBatteryPower: (callback) => {
ipcRenderer.on('on-is-on-battery-power', callback);
getBatteryLevel: (callback) => {
const eventId = `on-get-battery-level-${newId()};`
const handler = (event, result) => {
ipcRenderer.off(eventId, handler);
callback(result);
};
ipcRenderer.on(eventId, handler);
ipcRenderer.invoke('get-battery-level', { eventId });
},
unregisterOnIsOnBatteryPower: () => {
ipcRenderer.removeAllListeners('on-is-on-battery-power');
isOnBatteryPower: (callback) => {
const eventId = `on-is-on-battery-power-${newId()};`
const handler = (event, result) => {
ipcRenderer.off(eventId);
callback(result);
};

ipcRenderer.on('on-is-on-battery-power', handler);
ipcRenderer.invoke('is-on-battery-power', { eventId });
},
onAc: (callback) => {
ipcRenderer.on('on-ac', callback);
},
onBattery: (callback) => {
ipcRenderer.on('on-battery', callback);
},
unregisterOnGetBatteryLevel: () => {
ipcRenderer.removeAllListeners('on-get-battery-level');
},
copyToClipboard: (content) => {
ipcRenderer.invoke('copy-to-clipboard', content);
},
Expand Down
2 changes: 2 additions & 0 deletions app/process/I2pdProcess.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,6 @@ export class I2pdProcess extends AppChildProcess {
public static async isValidPath(path: string): Promise<boolean> {
return false;
}


}
9 changes: 2 additions & 7 deletions src/app/core/services/electron/electron.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -76,27 +76,22 @@ export class ElectronService {

public async isOnBatteryPower(): Promise<boolean> {
const promise = new Promise<boolean>((resolve) => {
window.electronAPI.onIsOnBatteryPower((event: any, onBattery: boolean) => {
window.electronAPI.unregisterOnIsOnBatteryPower();
window.electronAPI.isOnBatteryPower((onBattery: boolean) => {
resolve(onBattery);
});
});

window.electronAPI.isOnBatteryPower();

return await promise;
}

public async getBatteryLevel(): Promise<number> {
const promise = new Promise<number>((resolve) => {
window.electronAPI.onGetBatteryLevel((event: any, level: number) => {
window.electronAPI.getBatteryLevel((level: number) => {
window.electronAPI.unregisterOnGetBatteryLevel();
resolve(level);
});
});

window.electronAPI.getBatteryLevel();

return (await promise)*100;
}

Expand Down
7 changes: 2 additions & 5 deletions src/polyfills.ts
Original file line number Diff line number Diff line change
Expand Up @@ -156,13 +156,10 @@ declare global {
setTrayItemEnabled: (id: string, enabled: boolean) => void;
setTrayToolTip: (toolTip: string) => void;

getBatteryLevel: () => void;
onGetBatteryLevel: (callback: (event: any, level: number) => void) => void;
getBatteryLevel: (callback: (level: number) => void) => void;
unregisterOnGetBatteryLevel: () => void;

isOnBatteryPower: () => void;
onIsOnBatteryPower: (callback: (event: any, onBattery: boolean) => void) => void;
unregisterOnIsOnBatteryPower: () => void;
isOnBatteryPower: (callback: (onBattery: boolean) => void) => void;
onBattery: (callback: (event: any) => void) => void;
onAc: (callback: (event: any) => void) => void;

Expand Down

0 comments on commit d199474

Please sign in to comment.