Raspberrypi screen on and off toggle

android_attempt
Felix Bruns 10 months ago
parent 6d798ef82b
commit a1aa552947

@ -3,6 +3,7 @@ import 'dart:async';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:pi_dashboard/src/proxmox_webservice/model.dart'; import 'package:pi_dashboard/src/proxmox_webservice/model.dart';
import 'package:pi_dashboard/src/proxmox_webservice/service.dart'; import 'package:pi_dashboard/src/proxmox_webservice/service.dart';
import 'package:pi_dashboard/src/screen_helper.dart';
import 'package:pi_dashboard/src/settings/settings_controller.dart'; import 'package:pi_dashboard/src/settings/settings_controller.dart';
import 'package:pi_dashboard/src/settings/settings_service.dart'; import 'package:pi_dashboard/src/settings/settings_service.dart';
import '../settings/settings_view.dart'; import '../settings/settings_view.dart';
@ -72,6 +73,12 @@ class _ProxmoxListerState extends State<ProxmoxListerView> {
appBar: AppBar( appBar: AppBar(
title: const Text("Proxmox VMs"), title: const Text("Proxmox VMs"),
actions: [ actions: [
IconButton(
icon: const Icon(Icons.nightlight),
onPressed: () {
toggleScreen();
},
),
IconButton( IconButton(
icon: const Icon(Icons.sync), icon: const Icon(Icons.sync),
onPressed: () { onPressed: () {

@ -0,0 +1,34 @@
import 'dart:io';
const _off = "1";
const _on = "0";
Future<void> toggleScreen() async {
if (await isScreenOff()) {
turnOncreen();
} else {
turnOffScreen();
}
}
Future<void> turnOffScreen() async {
await setBlFile(_off);
}
Future<void> turnOncreen() async {
await setBlFile(_on);
}
File blFile() {
return File("/sys/class/backlight/10-0045/bl_power");
}
Future<bool> isScreenOff() async {
final status = await blFile().readAsString();
if (status.startsWith(_on)) return false;
return true;
}
Future<void> setBlFile(String content) async {
await blFile().writeAsString(content);
}
Loading…
Cancel
Save