Flutter implementation of the Glyph-Developer-Kit developed by Nothing Technology Ltd. ©.
Important
This plugin can be only used on Nothing Phone (1) and Nothing Phone (2).
Add the following to your pubspec.yaml
file:
flutter pub add flutter_glyph_kit
Add the following to your AndroidManifest.xml
file:
<!-- For debug you can use the following line -->
<meta-data android:name="NothingKey" android:value="test"/>
<!-- For release you can use the following line -->
<meta-data android:name="NothingKey" android:value="YOUR_KEY"/>
Note
On debug mode you can use the test
key, but on release mode you need to use the key provided by Nothing.
Note
To use the plugin on debug mode you also need to execute the following command on your terminal:
adb shell settings put global nt_glyph_interface_debug_enable 1
The usage of this plugin is very simple, the plugin provides two classes Phone1Glyph
and Phone2Glyph
.
It also provides two enums Phone1Led
and Phone2Led
to help you to use the plugin.
If you want to develop your own implementation you can use the GlyphInterfaceSdk
class that contains all the methods used in the other two classes.
import 'package:flutter/material.dart';
import 'package:flutter_glyph_kit/flutter_glyph_kit.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Phone 1 Glyph Example'),
),
body: Center(
child: ElevatedButton(
onPressed: () async {
final glyph = Phone1Glyph();
await glyph.toggle(
channels: [
Phone1Led.a1,
Phone1Led.a2,
]
);
// This will turn on the A1 and A2 LEDs
},
child: const Text('Toggle'),
)
),
),
);
}
}
import 'package:flutter/material.dart';
import 'package:flutter_glyph_kit/flutter_glyph_kit.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Phone 2 Glyph Example'),
),
body: Center(
child: ElevatedButton(
onPressed: () async {
final glyph = Phone2Glyph();
await glyph.toggle(
channels: [
Phone2Led.a1,
Phone2Led.a2,
]
);
// This will turn on the A1 and A2 LEDs
},
child: const Text('Toggle'),
)
),
),
);
}
}
For more information about the sdk you can check the official repository of the Glyph-Developer-Kit
This project is licensed under the MIT License - see the LICENSE file for details.