Inhibit idle and suspend during calls (#1233)

This commit is contained in:
Xavi92 2022-05-11 09:12:30 +00:00 committed by GitHub
parent baa4a6a1eb
commit 99c076254a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -22,6 +22,7 @@ public class Dino.Ui.CallWindowController : Object {
private bool window_size_changed = false; private bool window_size_changed = false;
private ulong[] call_window_handler_ids = new ulong[0]; private ulong[] call_window_handler_ids = new ulong[0];
private ulong[] bottom_bar_handler_ids = new ulong[0]; private ulong[] bottom_bar_handler_ids = new ulong[0];
private uint inhibit_cookie;
public CallWindowController(CallWindow call_window, CallState call_state, StreamInteractor stream_interactor) { public CallWindowController(CallWindow call_window, CallState call_state, StreamInteractor stream_interactor) {
this.call_window = call_window; this.call_window = call_window;
@ -118,6 +119,19 @@ public class Dino.Ui.CallWindowController : Object {
update_audio_device_choices(); update_audio_device_choices();
update_video_device_choices(); update_video_device_choices();
var app = GLib.Application.get_default() as Application;
inhibit_cookie = app.inhibit(call_window, IDLE | SUSPEND, "Ongoing call");
if (inhibit_cookie == 0) {
warning("suspend inhibit request failed or unsupported");
}
call_window.destroy.connect(() => {
if (inhibit_cookie != 0) {
app.uninhibit(inhibit_cookie);
}
});
} }
private void invite_button_clicked() { private void invite_button_clicked() {