47 lines
1008 B
Dart
47 lines
1008 B
Dart
import 'package:flutter/material.dart';
|
|
import 'package:hive/hive.dart';
|
|
|
|
class ThemeModeAdapter extends TypeAdapter<ThemeMode> {
|
|
@override
|
|
final int typeId = 41;
|
|
|
|
@override
|
|
ThemeMode read(BinaryReader reader) {
|
|
switch (reader.readByte()) {
|
|
case 0:
|
|
return ThemeMode.system;
|
|
case 1:
|
|
return ThemeMode.light;
|
|
case 2:
|
|
return ThemeMode.dark;
|
|
default:
|
|
return ThemeMode.system;
|
|
}
|
|
}
|
|
|
|
@override
|
|
void write(BinaryWriter writer, ThemeMode obj) {
|
|
switch (obj) {
|
|
case ThemeMode.system:
|
|
writer.writeByte(0);
|
|
break;
|
|
case ThemeMode.light:
|
|
writer.writeByte(1);
|
|
break;
|
|
case ThemeMode.dark:
|
|
writer.writeByte(2);
|
|
break;
|
|
}
|
|
}
|
|
|
|
@override
|
|
int get hashCode => typeId.hashCode;
|
|
|
|
@override
|
|
bool operator ==(Object other) =>
|
|
identical(this, other) ||
|
|
other is ThemeModeAdapter &&
|
|
runtimeType == other.runtimeType &&
|
|
typeId == other.typeId;
|
|
}
|