pax_player 0.0.5 copy "pax_player: ^0.0.5" to clipboard
pax_player: ^0.0.5 copied to clipboard

retractedoutdated

This package based on PAX Device with NetptuneLiteApi SDK

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:pax_player/pax_player.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      title: 'Pax Player Demo',
      debugShowCheckedModeBanner: false,
      home: MyHomePage(title: 'Test Pax Player'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({
    required this.title,
    super.key,
  });

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  String? _cardNumber = 'Unknown card number.';
  String? _deviceInfo = 'Unknown device.';

  Future<void> _getCardNumber() async {
    setState(() {
      _cardNumber = 'swipe the card';
    });
    String? number;

    try {
      String? result = await PaxPlayer().getCardNumber();
      if (result != null) {
        number = result;
      }
    } on PlatformException catch (e) {
      number = "Failed to get card number: '${e.message}'.";
    }
    if (!mounted) return;
    setState(() {
      _cardNumber = number;
    });
    await PaxPlayer().getBeep(100);
  }

  Future<void> _getDeviceInfo() async {
    String? device;
    try {
      String? result = await PaxPlayer().getDeviceInfo();
      if (result != null) {
        device = result;
      }
    } on PlatformException catch (e) {
      device = "Failed to get device info: '${e.message}'.";
    }
    if (!mounted) return;
    setState(() {
      _deviceInfo = device;
    });
  }

  @override
  void initState() {
    SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: []);
    WidgetsBinding.instance.addPostFrameCallback((_) async {
      await PaxPlayer().setEnableNavBar(true);
      _getDeviceInfo();
      _getCardNumber();
    });
    super.initState();
    SystemChrome.setPreferredOrientations([
      DeviceOrientation.landscapeRight,
    ]);
  }

  @override
  void dispose() {
    SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
        centerTitle: true,
      ),
      body: Center(
        child: SingleChildScrollView(
          physics: const BouncingScrollPhysics(),
          child: Column(
            mainAxisAlignment: MainAxisAlignment.spaceEvenly,
            crossAxisAlignment: CrossAxisAlignment.center,
            children: [
              Text(
                _deviceInfo ?? 'Unknown device info',
                style: const TextStyle(fontSize: 20),
              ),
              Text(
                _cardNumber ?? 'Unknown card number',
                style: const TextStyle(fontSize: 50),
                textAlign: TextAlign.center,
              ),
              TextButton(
                onPressed: () {
                  _getDeviceInfo();
                  _getCardNumber();
                },
                child: const Text("Reset", style: TextStyle(fontSize: 40)),
              ),
            ],
          ),
        ),
      ),
    );
  }
}
16
likes
0
points
14
downloads

Publisher

unverified uploader

Weekly Downloads

This package based on PAX Device with NetptuneLiteApi SDK

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on pax_player

Packages that implement pax_player