1
0
mirror of https://gitlab.com/comunic/comunicmobile synced 2025-06-19 16:25:17 +00:00

Lock device awake during calls

This commit is contained in:
2020-04-23 17:37:12 +02:00
parent 0ebccf1075
commit 7768e36c62
4 changed files with 25 additions and 0 deletions

View File

@ -10,6 +10,7 @@ import 'package:comunic/models/conversation.dart';
import 'package:comunic/ui/routes/main_route.dart';
import 'package:comunic/ui/widgets/safe_state.dart';
import 'package:comunic/utils/account_utils.dart';
import 'package:comunic/utils/device_utils.dart';
import 'package:comunic/utils/intl_utils.dart';
import 'package:comunic/utils/ui_utils.dart';
import 'package:flutter/material.dart';
@ -147,6 +148,9 @@ class _CallScreenState extends SafeState<CallScreen> {
await this._memberReady(peer.userID);
setState(() {});
// Lock device await
await setWakeLock(true);
} catch (e, stack) {
print("Could not initialize call! $e\n$stack");
setState(() => _error = true);
@ -156,6 +160,8 @@ class _CallScreenState extends SafeState<CallScreen> {
/// Do clean up operations when call screen is destroyed
void _endCall() async {
try {
await setWakeLock(false);
// Close all ready members
for (final member in _membersList.readyPeers)
await _removeMember(member.userID);

View File

@ -0,0 +1,9 @@
import 'package:wakelock/wakelock.dart';
/// Device utilities
///
/// @author Pierre Hubert
/// Interface for requesting device wake locking
Future<void> setWakeLock(bool enabled) async =>
await Wakelock.toggle(on: enabled);