| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- /// Battery and connectivity snapshot shown on the home screen.
- class SystemStatus {
- const SystemStatus({
- this.batteryLevel = 0,
- this.charging = false,
- this.wifi = false,
- });
- final int batteryLevel;
- final bool charging;
- final bool wifi;
- factory SystemStatus.fromMap(Map<dynamic, dynamic> map) {
- return SystemStatus(
- batteryLevel: (map['batteryLevel'] as num?)?.toInt() ?? 0,
- charging: map['charging'] == true,
- wifi: map['wifi'] == true,
- );
- }
- }
- /// Current media-stream volume and its maximum.
- class VolumeInfo {
- const VolumeInfo({this.index = 0, this.max = 15, this.fixed = false});
- final int index;
- final int max;
- /// True when Android delegates volume to a fixed hardware amplifier (common
- /// on car head units). Apps cannot change that volume.
- final bool fixed;
- factory VolumeInfo.fromMap(Map<dynamic, dynamic> map) {
- return VolumeInfo(
- index: (map['index'] as num?)?.toInt() ?? 0,
- max: (map['max'] as num?)?.toInt() ?? 15,
- fixed: map['fixed'] == true,
- );
- }
- double get fraction => max <= 0 ? 0 : (index / max).clamp(0.0, 1.0);
- int get percent => (fraction * 100).round();
- }
|