From b7dd4257d676f53021876d37789c79d8ff2db8d9 Mon Sep 17 00:00:00 2001 From: Beaudan Brown Date: Tue, 12 Nov 2019 09:53:31 +1100 Subject: [PATCH] Disable microphone button when you have disabled permissions --- js/views/conversation_view.js | 7 ++++++- main.js | 3 +++ preload.js | 4 ++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/js/views/conversation_view.js b/js/views/conversation_view.js index 4a30c98d8..490b389e4 100644 --- a/js/views/conversation_view.js +++ b/js/views/conversation_view.js @@ -189,6 +189,9 @@ this.removeLinkPreview(); } }); + Whisper.events.on('mediaPermissionsChanged', () => + this.toggleMicrophone() + ); const getHeaderProps = () => { const expireTimer = this.model.get('expireTimer'); @@ -648,8 +651,10 @@ } }, - toggleMicrophone() { + async toggleMicrophone() { + const allowMicrophone = await window.getMediaPermissions(); if ( + !allowMicrophone || this.$('.send-message').val().length > 0 || this.fileInput.hasFiles() ) { diff --git a/main.js b/main.js index f5e608004..0dd1780c0 100644 --- a/main.js +++ b/main.js @@ -1140,6 +1140,9 @@ ipc.on('set-media-permissions', (event, value) => { installPermissionsHandler({ session, userConfig }); event.sender.send('set-success-media-permissions', null); + if (mainWindow && mainWindow.webContents) { + mainWindow.webContents.send('mediaPermissionsChanged'); + } }); ipc.on('on-unblock-number', (event, number) => { diff --git a/preload.js b/preload.js index 90403b466..16ae02e22 100644 --- a/preload.js +++ b/preload.js @@ -124,6 +124,10 @@ window.restart = () => { // collection on the main window from the settings window. window.onUnblockNumber = number => ipc.send('on-unblock-number', number); +ipc.on('mediaPermissionsChanged', () => { + Whisper.events.trigger('mediaPermissionsChanged'); +}); + ipc.on('on-unblock-number', (event, number) => { // Unblock the number if (window.BlockedNumberController) {