Masterarbeit Richard Stern. Flutter App, sich mit einem Bluetooth-Gerät verbindet und Berührungen auf einem Sensor visualisiert.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

main.dart 2.9KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. import 'dart:async';
  2. import 'package:flutter/material.dart';
  3. //pages:
  4. import 'package:touch_demonstrator/pages/PageTouchPoints.dart';
  5. //bloc logic:
  6. import 'package:touch_demonstrator/src/blocs/appBloc.dart';
  7. import 'package:touch_demonstrator/src/blocs/BlocProvider.dart';
  8. import 'package:screen/screen.dart';
  9. import 'package:splashscreen/splashscreen.dart';
  10. /*import 'package:flutter_launcher_icons/android.dart';
  11. import 'package:flutter_launcher_icons/constants.dart';
  12. import 'package:flutter_launcher_icons/custom_exceptions.dart';
  13. import 'package:flutter_launcher_icons/ios.dart';
  14. import 'package:flutter_launcher_icons/main.dart';
  15. import 'package:flutter_launcher_icons/xml_templates.dart';*/
  16. const polyColor = Color.fromRGBO(163, 31, 37, 1.0);
  17. void main() {
  18. runApp(MaterialApp(home: TouchDemonstrator(AppBloc())));
  19. // runApp(MaterialApp(home: SplashPage()));
  20. }
  21. class SplashPage extends StatefulWidget {
  22. @override
  23. _SplashPageState createState() => new _SplashPageState();
  24. }
  25. class _SplashPageState extends State<SplashPage> {
  26. @override
  27. Widget build(BuildContext context) {
  28. return SplashScreen(
  29. seconds: 2,
  30. navigateAfterSeconds: TouchDemonstrator(AppBloc()),
  31. title: Text('PolyIC Touchpad Demonstrator App',
  32. style: TextStyle(
  33. fontWeight: FontWeight.bold,
  34. fontSize: 20.0
  35. ),),
  36. image: Image.asset('assets/PolyIC/PolyIC_Logo.png'),
  37. backgroundColor: Colors.white,
  38. styleTextUnderTheLoader: TextStyle(),
  39. photoSize: 100.0,
  40. // onClick: ()=>print("Flutter Egypt"),
  41. loaderColor: polyColor,
  42. );
  43. }
  44. }
  45. class TouchDemonstrator extends StatelessWidget {
  46. // final AppBloc bloc;
  47. final AppBloc bloc;
  48. TouchDemonstrator(this.bloc);
  49. Future<bool> _checkIfScreenIsKeptOn() async {
  50. var isKeptOn = await Screen.isKeptOn;
  51. return isKeptOn;
  52. }
  53. Future<double> _checkBrightness() async {
  54. var brightness = await Screen.brightness;
  55. print('brightness: $brightness');
  56. if (brightness < 0.1) {
  57. brightness = 0.5;
  58. Screen.setBrightness(brightness);
  59. }
  60. brightness = await Screen.brightness;
  61. return brightness;
  62. }
  63. @override
  64. Widget build(BuildContext context) {
  65. Screen.keepOn(true);
  66. _checkIfScreenIsKeptOn()
  67. .then((isKeptOn) => print('Screen is kept on?: $isKeptOn'));
  68. _checkBrightness().then((brightnessScreen) => print('Brightness is: $brightnessScreen'));
  69. return BlocProvider(
  70. bloc: bloc,
  71. child: MaterialApp(
  72. debugShowCheckedModeBanner: false,
  73. title: 'Touch Demonstrator', // only for Android; iOS can't be used!
  74. theme: ThemeData(
  75. primaryColor: Color.fromRGBO(163, 31, 37, 1.0), //PolyIC red
  76. accentColor:
  77. Color.fromRGBO(163, 31, 37, 0.8), //PolyIC red, 80% brightness
  78. ),
  79. home: PageTouchPoints(title: 'Touch Demonstrator',),
  80. ),
  81. );
  82. }
  83. }