android_os_build 0.2.0 copy "android_os_build: ^0.2.0" to clipboard
android_os_build: ^0.2.0 copied to clipboard

Easily retrieve information about the current Android build synchronously. Built with dart's experimental jni

example/lib/main.dart

import 'package:android_os_build/android_os_build.dart';
import 'package:flutter/material.dart';

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

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

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Android OS build',
      theme: ThemeData.light(),
      darkTheme: ThemeData.dark(),
      home: const MyHomePage(title: 'Android OS build'),
    );
  }
}

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

  // This widget is the home page of your application. It is stateful, meaning
  // that it has a State object (defined below) that contains fields that affect
  // how it looks.

  // This class is the configuration for the state. It holds the values (in this
  // case the title) provided by the parent (in this case the App widget) and
  // used by the build method of the State. Fields in a Widget subclass are
  // always marked "final".

  final String title;

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

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: ListView.separated(
        separatorBuilder: (context, index) => const Divider(height: 1),
        itemBuilder: (context, index) {
          final key = buildMapping.keys.elementAt(index);
          final value = buildMapping[key]!();
          return Row(
            children: [
              SizedBox(width: 128, child: Center(child: Text(key))),
              const SizedBox(height: 8, child: VerticalDivider()),
              Expanded(child: Text(value)),
            ],
          );
        },
        itemCount: buildMapping.length,
      ),
    );
  }

  final buildMapping = <String, String Function()>{
    'board': () => Build.board,
    'bootloader': () => Build.bootloader,
    'brand': () => Build.brand,
    'device': () => Build.device,
    'display': () => Build.display,
    'fingerprint': () => Build.fingerprint,
    'hardware': () => Build.hardware,
    'host': () => Build.host,
    'id': () => Build.id,
    'manufacturer': () => Build.manufacturer,
    'model': () => Build.model,
    'odmSku': () => Build.odmSku,
    'product': () => Build.product,
    'sku': () => Build.sku,
    'socManufacturer': () => Build.socManufacturer,
    'socModel': () => Build.socModel,
    'supported32BitAbis': () => Build.supported32BitAbis.join(','),
    'supported64BitAbis': () => Build.supported64BitAbis.join(','),
    'supportedAbis': () => Build.supportedAbis.join(','),
    'tags': () => Build.tags,
    'time': () => Build.time.toIso8601String(),
    'type': () => Build.type,
    'user': () => Build.user,
    'getRadioVersion': () => Build.getRadioVersion(),
    'getSerial': () => Build.getSerial(),
    'baseOs': () => Build.version.baseOs,
    'codename': () => Build.version.codename,
    'incremental': () => Build.version.incremental,
    'mediaPerformanceClass': () =>
        Build.version.mediaPerformanceClass.toString(),
    'previewSdkInt': () => Build.version.previewSdkInt.toString(),
    'release': () => Build.version.release,
    'releaseOrCodename': () => Build.version.releaseOrCodename ?? '',
    'releaseOrPreviewDisplay': () =>
        Build.version.releaseOrPreviewDisplay ?? '',
    'sdkInt': () => Build.version.sdkInt.toString(),
    'securityPatch': () => Build.version.securityPatch,
  };
}
1
likes
0
points
37
downloads

Publisher

verified publisherlaihz.dev

Weekly Downloads

Easily retrieve information about the current Android build synchronously. Built with dart's experimental jni

Repository (GitHub)
View/report issues

Topics

#android #ffi #utils

License

unknown (license)

Dependencies

flutter, jni, plugin_platform_interface

More

Packages that depend on android_os_build