Compare commits
2 Commits
35787cc208
...
84837de3de
Author | SHA1 | Date | |
---|---|---|---|
84837de3de | |||
d558a8f5ad |
|
@ -22,6 +22,7 @@ linter:
|
||||||
# `// ignore_for_file: name_of_lint` syntax on the line or in the file
|
# `// ignore_for_file: name_of_lint` syntax on the line or in the file
|
||||||
# producing the lint.
|
# producing the lint.
|
||||||
rules:
|
rules:
|
||||||
|
curly_braces_in_flow_control_structures: false
|
||||||
# avoid_print: false # Uncomment to disable the `avoid_print` rule
|
# avoid_print: false # Uncomment to disable the `avoid_print` rule
|
||||||
# prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule
|
# prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule
|
||||||
|
|
||||||
|
|
35
lib/database.dart
Normal file
35
lib/database.dart
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
import 'dart:io';
|
||||||
|
|
||||||
|
import 'package:moor/ffi.dart';
|
||||||
|
import 'package:moor/moor.dart';
|
||||||
|
import 'package:path/path.dart';
|
||||||
|
import 'package:path_provider/path_provider.dart';
|
||||||
|
import 'settings.dart';
|
||||||
|
|
||||||
|
part 'database.g.dart';
|
||||||
|
|
||||||
|
@UseMoor(tables: [Settings])
|
||||||
|
class MyDatabase extends _$MyDatabase {
|
||||||
|
MyDatabase() : super(_openConnection());
|
||||||
|
|
||||||
|
@override
|
||||||
|
int get schemaVersion => 1;
|
||||||
|
|
||||||
|
@override
|
||||||
|
MigrationStrategy get migration => MigrationStrategy(
|
||||||
|
onCreate: (Migrator m) async {
|
||||||
|
await m.createAll();
|
||||||
|
},
|
||||||
|
onUpgrade: (Migrator m, int from, int to) async {
|
||||||
|
// no migrations yet
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
LazyDatabase _openConnection() {
|
||||||
|
return LazyDatabase(() async {
|
||||||
|
final dbFolder = await getApplicationDocumentsDirectory();
|
||||||
|
final file = File(join(dbFolder.path, 'massive.db'));
|
||||||
|
return VmDatabase(file, logStatements: true);
|
||||||
|
});
|
||||||
|
}
|
709
lib/database.g.dart
Normal file
709
lib/database.g.dart
Normal file
|
@ -0,0 +1,709 @@
|
||||||
|
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||||
|
|
||||||
|
part of 'database.dart';
|
||||||
|
|
||||||
|
// **************************************************************************
|
||||||
|
// MoorGenerator
|
||||||
|
// **************************************************************************
|
||||||
|
|
||||||
|
// ignore_for_file: type=lint
|
||||||
|
class Setting extends DataClass implements Insertable<Setting> {
|
||||||
|
final bool alarm;
|
||||||
|
final bool vibrate;
|
||||||
|
final String sound;
|
||||||
|
final bool notify;
|
||||||
|
final bool images;
|
||||||
|
final bool showUnit;
|
||||||
|
final String? lightColor;
|
||||||
|
final String? darkColor;
|
||||||
|
final bool steps;
|
||||||
|
final String date;
|
||||||
|
final bool showDate;
|
||||||
|
final String theme;
|
||||||
|
final bool showSets;
|
||||||
|
final bool noSound;
|
||||||
|
final bool backup;
|
||||||
|
Setting(
|
||||||
|
{required this.alarm,
|
||||||
|
required this.vibrate,
|
||||||
|
required this.sound,
|
||||||
|
required this.notify,
|
||||||
|
required this.images,
|
||||||
|
required this.showUnit,
|
||||||
|
this.lightColor,
|
||||||
|
this.darkColor,
|
||||||
|
required this.steps,
|
||||||
|
required this.date,
|
||||||
|
required this.showDate,
|
||||||
|
required this.theme,
|
||||||
|
required this.showSets,
|
||||||
|
required this.noSound,
|
||||||
|
required this.backup});
|
||||||
|
factory Setting.fromData(Map<String, dynamic> data, GeneratedDatabase db,
|
||||||
|
{String? prefix}) {
|
||||||
|
final effectivePrefix = prefix ?? '';
|
||||||
|
return Setting(
|
||||||
|
alarm: const BoolType()
|
||||||
|
.mapFromDatabaseResponse(data['${effectivePrefix}alarm'])!,
|
||||||
|
vibrate: const BoolType()
|
||||||
|
.mapFromDatabaseResponse(data['${effectivePrefix}vibrate'])!,
|
||||||
|
sound: const StringType()
|
||||||
|
.mapFromDatabaseResponse(data['${effectivePrefix}sound'])!,
|
||||||
|
notify: const BoolType()
|
||||||
|
.mapFromDatabaseResponse(data['${effectivePrefix}notify'])!,
|
||||||
|
images: const BoolType()
|
||||||
|
.mapFromDatabaseResponse(data['${effectivePrefix}images'])!,
|
||||||
|
showUnit: const BoolType()
|
||||||
|
.mapFromDatabaseResponse(data['${effectivePrefix}show_unit'])!,
|
||||||
|
lightColor: const StringType()
|
||||||
|
.mapFromDatabaseResponse(data['${effectivePrefix}light_color']),
|
||||||
|
darkColor: const StringType()
|
||||||
|
.mapFromDatabaseResponse(data['${effectivePrefix}dark_color']),
|
||||||
|
steps: const BoolType()
|
||||||
|
.mapFromDatabaseResponse(data['${effectivePrefix}steps'])!,
|
||||||
|
date: const StringType()
|
||||||
|
.mapFromDatabaseResponse(data['${effectivePrefix}date'])!,
|
||||||
|
showDate: const BoolType()
|
||||||
|
.mapFromDatabaseResponse(data['${effectivePrefix}show_date'])!,
|
||||||
|
theme: const StringType()
|
||||||
|
.mapFromDatabaseResponse(data['${effectivePrefix}theme'])!,
|
||||||
|
showSets: const BoolType()
|
||||||
|
.mapFromDatabaseResponse(data['${effectivePrefix}show_sets'])!,
|
||||||
|
noSound: const BoolType()
|
||||||
|
.mapFromDatabaseResponse(data['${effectivePrefix}no_sound'])!,
|
||||||
|
backup: const BoolType()
|
||||||
|
.mapFromDatabaseResponse(data['${effectivePrefix}backup'])!,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
@override
|
||||||
|
Map<String, Expression> toColumns(bool nullToAbsent) {
|
||||||
|
final map = <String, Expression>{};
|
||||||
|
map['alarm'] = Variable<bool>(alarm);
|
||||||
|
map['vibrate'] = Variable<bool>(vibrate);
|
||||||
|
map['sound'] = Variable<String>(sound);
|
||||||
|
map['notify'] = Variable<bool>(notify);
|
||||||
|
map['images'] = Variable<bool>(images);
|
||||||
|
map['show_unit'] = Variable<bool>(showUnit);
|
||||||
|
if (!nullToAbsent || lightColor != null) {
|
||||||
|
map['light_color'] = Variable<String?>(lightColor);
|
||||||
|
}
|
||||||
|
if (!nullToAbsent || darkColor != null) {
|
||||||
|
map['dark_color'] = Variable<String?>(darkColor);
|
||||||
|
}
|
||||||
|
map['steps'] = Variable<bool>(steps);
|
||||||
|
map['date'] = Variable<String>(date);
|
||||||
|
map['show_date'] = Variable<bool>(showDate);
|
||||||
|
map['theme'] = Variable<String>(theme);
|
||||||
|
map['show_sets'] = Variable<bool>(showSets);
|
||||||
|
map['no_sound'] = Variable<bool>(noSound);
|
||||||
|
map['backup'] = Variable<bool>(backup);
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
SettingsCompanion toCompanion(bool nullToAbsent) {
|
||||||
|
return SettingsCompanion(
|
||||||
|
alarm: Value(alarm),
|
||||||
|
vibrate: Value(vibrate),
|
||||||
|
sound: Value(sound),
|
||||||
|
notify: Value(notify),
|
||||||
|
images: Value(images),
|
||||||
|
showUnit: Value(showUnit),
|
||||||
|
lightColor: lightColor == null && nullToAbsent
|
||||||
|
? const Value.absent()
|
||||||
|
: Value(lightColor),
|
||||||
|
darkColor: darkColor == null && nullToAbsent
|
||||||
|
? const Value.absent()
|
||||||
|
: Value(darkColor),
|
||||||
|
steps: Value(steps),
|
||||||
|
date: Value(date),
|
||||||
|
showDate: Value(showDate),
|
||||||
|
theme: Value(theme),
|
||||||
|
showSets: Value(showSets),
|
||||||
|
noSound: Value(noSound),
|
||||||
|
backup: Value(backup),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
factory Setting.fromJson(Map<String, dynamic> json,
|
||||||
|
{ValueSerializer? serializer}) {
|
||||||
|
serializer ??= moorRuntimeOptions.defaultSerializer;
|
||||||
|
return Setting(
|
||||||
|
alarm: serializer.fromJson<bool>(json['alarm']),
|
||||||
|
vibrate: serializer.fromJson<bool>(json['vibrate']),
|
||||||
|
sound: serializer.fromJson<String>(json['sound']),
|
||||||
|
notify: serializer.fromJson<bool>(json['notify']),
|
||||||
|
images: serializer.fromJson<bool>(json['images']),
|
||||||
|
showUnit: serializer.fromJson<bool>(json['showUnit']),
|
||||||
|
lightColor: serializer.fromJson<String?>(json['lightColor']),
|
||||||
|
darkColor: serializer.fromJson<String?>(json['darkColor']),
|
||||||
|
steps: serializer.fromJson<bool>(json['steps']),
|
||||||
|
date: serializer.fromJson<String>(json['date']),
|
||||||
|
showDate: serializer.fromJson<bool>(json['showDate']),
|
||||||
|
theme: serializer.fromJson<String>(json['theme']),
|
||||||
|
showSets: serializer.fromJson<bool>(json['showSets']),
|
||||||
|
noSound: serializer.fromJson<bool>(json['noSound']),
|
||||||
|
backup: serializer.fromJson<bool>(json['backup']),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
@override
|
||||||
|
Map<String, dynamic> toJson({ValueSerializer? serializer}) {
|
||||||
|
serializer ??= moorRuntimeOptions.defaultSerializer;
|
||||||
|
return <String, dynamic>{
|
||||||
|
'alarm': serializer.toJson<bool>(alarm),
|
||||||
|
'vibrate': serializer.toJson<bool>(vibrate),
|
||||||
|
'sound': serializer.toJson<String>(sound),
|
||||||
|
'notify': serializer.toJson<bool>(notify),
|
||||||
|
'images': serializer.toJson<bool>(images),
|
||||||
|
'showUnit': serializer.toJson<bool>(showUnit),
|
||||||
|
'lightColor': serializer.toJson<String?>(lightColor),
|
||||||
|
'darkColor': serializer.toJson<String?>(darkColor),
|
||||||
|
'steps': serializer.toJson<bool>(steps),
|
||||||
|
'date': serializer.toJson<String>(date),
|
||||||
|
'showDate': serializer.toJson<bool>(showDate),
|
||||||
|
'theme': serializer.toJson<String>(theme),
|
||||||
|
'showSets': serializer.toJson<bool>(showSets),
|
||||||
|
'noSound': serializer.toJson<bool>(noSound),
|
||||||
|
'backup': serializer.toJson<bool>(backup),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
Setting copyWith(
|
||||||
|
{bool? alarm,
|
||||||
|
bool? vibrate,
|
||||||
|
String? sound,
|
||||||
|
bool? notify,
|
||||||
|
bool? images,
|
||||||
|
bool? showUnit,
|
||||||
|
String? lightColor,
|
||||||
|
String? darkColor,
|
||||||
|
bool? steps,
|
||||||
|
String? date,
|
||||||
|
bool? showDate,
|
||||||
|
String? theme,
|
||||||
|
bool? showSets,
|
||||||
|
bool? noSound,
|
||||||
|
bool? backup}) =>
|
||||||
|
Setting(
|
||||||
|
alarm: alarm ?? this.alarm,
|
||||||
|
vibrate: vibrate ?? this.vibrate,
|
||||||
|
sound: sound ?? this.sound,
|
||||||
|
notify: notify ?? this.notify,
|
||||||
|
images: images ?? this.images,
|
||||||
|
showUnit: showUnit ?? this.showUnit,
|
||||||
|
lightColor: lightColor ?? this.lightColor,
|
||||||
|
darkColor: darkColor ?? this.darkColor,
|
||||||
|
steps: steps ?? this.steps,
|
||||||
|
date: date ?? this.date,
|
||||||
|
showDate: showDate ?? this.showDate,
|
||||||
|
theme: theme ?? this.theme,
|
||||||
|
showSets: showSets ?? this.showSets,
|
||||||
|
noSound: noSound ?? this.noSound,
|
||||||
|
backup: backup ?? this.backup,
|
||||||
|
);
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return (StringBuffer('Setting(')
|
||||||
|
..write('alarm: $alarm, ')
|
||||||
|
..write('vibrate: $vibrate, ')
|
||||||
|
..write('sound: $sound, ')
|
||||||
|
..write('notify: $notify, ')
|
||||||
|
..write('images: $images, ')
|
||||||
|
..write('showUnit: $showUnit, ')
|
||||||
|
..write('lightColor: $lightColor, ')
|
||||||
|
..write('darkColor: $darkColor, ')
|
||||||
|
..write('steps: $steps, ')
|
||||||
|
..write('date: $date, ')
|
||||||
|
..write('showDate: $showDate, ')
|
||||||
|
..write('theme: $theme, ')
|
||||||
|
..write('showSets: $showSets, ')
|
||||||
|
..write('noSound: $noSound, ')
|
||||||
|
..write('backup: $backup')
|
||||||
|
..write(')'))
|
||||||
|
.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
int get hashCode => Object.hash(
|
||||||
|
alarm,
|
||||||
|
vibrate,
|
||||||
|
sound,
|
||||||
|
notify,
|
||||||
|
images,
|
||||||
|
showUnit,
|
||||||
|
lightColor,
|
||||||
|
darkColor,
|
||||||
|
steps,
|
||||||
|
date,
|
||||||
|
showDate,
|
||||||
|
theme,
|
||||||
|
showSets,
|
||||||
|
noSound,
|
||||||
|
backup);
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) =>
|
||||||
|
identical(this, other) ||
|
||||||
|
(other is Setting &&
|
||||||
|
other.alarm == this.alarm &&
|
||||||
|
other.vibrate == this.vibrate &&
|
||||||
|
other.sound == this.sound &&
|
||||||
|
other.notify == this.notify &&
|
||||||
|
other.images == this.images &&
|
||||||
|
other.showUnit == this.showUnit &&
|
||||||
|
other.lightColor == this.lightColor &&
|
||||||
|
other.darkColor == this.darkColor &&
|
||||||
|
other.steps == this.steps &&
|
||||||
|
other.date == this.date &&
|
||||||
|
other.showDate == this.showDate &&
|
||||||
|
other.theme == this.theme &&
|
||||||
|
other.showSets == this.showSets &&
|
||||||
|
other.noSound == this.noSound &&
|
||||||
|
other.backup == this.backup);
|
||||||
|
}
|
||||||
|
|
||||||
|
class SettingsCompanion extends UpdateCompanion<Setting> {
|
||||||
|
final Value<bool> alarm;
|
||||||
|
final Value<bool> vibrate;
|
||||||
|
final Value<String> sound;
|
||||||
|
final Value<bool> notify;
|
||||||
|
final Value<bool> images;
|
||||||
|
final Value<bool> showUnit;
|
||||||
|
final Value<String?> lightColor;
|
||||||
|
final Value<String?> darkColor;
|
||||||
|
final Value<bool> steps;
|
||||||
|
final Value<String> date;
|
||||||
|
final Value<bool> showDate;
|
||||||
|
final Value<String> theme;
|
||||||
|
final Value<bool> showSets;
|
||||||
|
final Value<bool> noSound;
|
||||||
|
final Value<bool> backup;
|
||||||
|
const SettingsCompanion({
|
||||||
|
this.alarm = const Value.absent(),
|
||||||
|
this.vibrate = const Value.absent(),
|
||||||
|
this.sound = const Value.absent(),
|
||||||
|
this.notify = const Value.absent(),
|
||||||
|
this.images = const Value.absent(),
|
||||||
|
this.showUnit = const Value.absent(),
|
||||||
|
this.lightColor = const Value.absent(),
|
||||||
|
this.darkColor = const Value.absent(),
|
||||||
|
this.steps = const Value.absent(),
|
||||||
|
this.date = const Value.absent(),
|
||||||
|
this.showDate = const Value.absent(),
|
||||||
|
this.theme = const Value.absent(),
|
||||||
|
this.showSets = const Value.absent(),
|
||||||
|
this.noSound = const Value.absent(),
|
||||||
|
this.backup = const Value.absent(),
|
||||||
|
});
|
||||||
|
SettingsCompanion.insert({
|
||||||
|
required bool alarm,
|
||||||
|
required bool vibrate,
|
||||||
|
required String sound,
|
||||||
|
required bool notify,
|
||||||
|
required bool images,
|
||||||
|
required bool showUnit,
|
||||||
|
this.lightColor = const Value.absent(),
|
||||||
|
this.darkColor = const Value.absent(),
|
||||||
|
required bool steps,
|
||||||
|
required String date,
|
||||||
|
required bool showDate,
|
||||||
|
required String theme,
|
||||||
|
required bool showSets,
|
||||||
|
required bool noSound,
|
||||||
|
required bool backup,
|
||||||
|
}) : alarm = Value(alarm),
|
||||||
|
vibrate = Value(vibrate),
|
||||||
|
sound = Value(sound),
|
||||||
|
notify = Value(notify),
|
||||||
|
images = Value(images),
|
||||||
|
showUnit = Value(showUnit),
|
||||||
|
steps = Value(steps),
|
||||||
|
date = Value(date),
|
||||||
|
showDate = Value(showDate),
|
||||||
|
theme = Value(theme),
|
||||||
|
showSets = Value(showSets),
|
||||||
|
noSound = Value(noSound),
|
||||||
|
backup = Value(backup);
|
||||||
|
static Insertable<Setting> custom({
|
||||||
|
Expression<bool>? alarm,
|
||||||
|
Expression<bool>? vibrate,
|
||||||
|
Expression<String>? sound,
|
||||||
|
Expression<bool>? notify,
|
||||||
|
Expression<bool>? images,
|
||||||
|
Expression<bool>? showUnit,
|
||||||
|
Expression<String?>? lightColor,
|
||||||
|
Expression<String?>? darkColor,
|
||||||
|
Expression<bool>? steps,
|
||||||
|
Expression<String>? date,
|
||||||
|
Expression<bool>? showDate,
|
||||||
|
Expression<String>? theme,
|
||||||
|
Expression<bool>? showSets,
|
||||||
|
Expression<bool>? noSound,
|
||||||
|
Expression<bool>? backup,
|
||||||
|
}) {
|
||||||
|
return RawValuesInsertable({
|
||||||
|
if (alarm != null) 'alarm': alarm,
|
||||||
|
if (vibrate != null) 'vibrate': vibrate,
|
||||||
|
if (sound != null) 'sound': sound,
|
||||||
|
if (notify != null) 'notify': notify,
|
||||||
|
if (images != null) 'images': images,
|
||||||
|
if (showUnit != null) 'show_unit': showUnit,
|
||||||
|
if (lightColor != null) 'light_color': lightColor,
|
||||||
|
if (darkColor != null) 'dark_color': darkColor,
|
||||||
|
if (steps != null) 'steps': steps,
|
||||||
|
if (date != null) 'date': date,
|
||||||
|
if (showDate != null) 'show_date': showDate,
|
||||||
|
if (theme != null) 'theme': theme,
|
||||||
|
if (showSets != null) 'show_sets': showSets,
|
||||||
|
if (noSound != null) 'no_sound': noSound,
|
||||||
|
if (backup != null) 'backup': backup,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
SettingsCompanion copyWith(
|
||||||
|
{Value<bool>? alarm,
|
||||||
|
Value<bool>? vibrate,
|
||||||
|
Value<String>? sound,
|
||||||
|
Value<bool>? notify,
|
||||||
|
Value<bool>? images,
|
||||||
|
Value<bool>? showUnit,
|
||||||
|
Value<String?>? lightColor,
|
||||||
|
Value<String?>? darkColor,
|
||||||
|
Value<bool>? steps,
|
||||||
|
Value<String>? date,
|
||||||
|
Value<bool>? showDate,
|
||||||
|
Value<String>? theme,
|
||||||
|
Value<bool>? showSets,
|
||||||
|
Value<bool>? noSound,
|
||||||
|
Value<bool>? backup}) {
|
||||||
|
return SettingsCompanion(
|
||||||
|
alarm: alarm ?? this.alarm,
|
||||||
|
vibrate: vibrate ?? this.vibrate,
|
||||||
|
sound: sound ?? this.sound,
|
||||||
|
notify: notify ?? this.notify,
|
||||||
|
images: images ?? this.images,
|
||||||
|
showUnit: showUnit ?? this.showUnit,
|
||||||
|
lightColor: lightColor ?? this.lightColor,
|
||||||
|
darkColor: darkColor ?? this.darkColor,
|
||||||
|
steps: steps ?? this.steps,
|
||||||
|
date: date ?? this.date,
|
||||||
|
showDate: showDate ?? this.showDate,
|
||||||
|
theme: theme ?? this.theme,
|
||||||
|
showSets: showSets ?? this.showSets,
|
||||||
|
noSound: noSound ?? this.noSound,
|
||||||
|
backup: backup ?? this.backup,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Map<String, Expression> toColumns(bool nullToAbsent) {
|
||||||
|
final map = <String, Expression>{};
|
||||||
|
if (alarm.present) {
|
||||||
|
map['alarm'] = Variable<bool>(alarm.value);
|
||||||
|
}
|
||||||
|
if (vibrate.present) {
|
||||||
|
map['vibrate'] = Variable<bool>(vibrate.value);
|
||||||
|
}
|
||||||
|
if (sound.present) {
|
||||||
|
map['sound'] = Variable<String>(sound.value);
|
||||||
|
}
|
||||||
|
if (notify.present) {
|
||||||
|
map['notify'] = Variable<bool>(notify.value);
|
||||||
|
}
|
||||||
|
if (images.present) {
|
||||||
|
map['images'] = Variable<bool>(images.value);
|
||||||
|
}
|
||||||
|
if (showUnit.present) {
|
||||||
|
map['show_unit'] = Variable<bool>(showUnit.value);
|
||||||
|
}
|
||||||
|
if (lightColor.present) {
|
||||||
|
map['light_color'] = Variable<String?>(lightColor.value);
|
||||||
|
}
|
||||||
|
if (darkColor.present) {
|
||||||
|
map['dark_color'] = Variable<String?>(darkColor.value);
|
||||||
|
}
|
||||||
|
if (steps.present) {
|
||||||
|
map['steps'] = Variable<bool>(steps.value);
|
||||||
|
}
|
||||||
|
if (date.present) {
|
||||||
|
map['date'] = Variable<String>(date.value);
|
||||||
|
}
|
||||||
|
if (showDate.present) {
|
||||||
|
map['show_date'] = Variable<bool>(showDate.value);
|
||||||
|
}
|
||||||
|
if (theme.present) {
|
||||||
|
map['theme'] = Variable<String>(theme.value);
|
||||||
|
}
|
||||||
|
if (showSets.present) {
|
||||||
|
map['show_sets'] = Variable<bool>(showSets.value);
|
||||||
|
}
|
||||||
|
if (noSound.present) {
|
||||||
|
map['no_sound'] = Variable<bool>(noSound.value);
|
||||||
|
}
|
||||||
|
if (backup.present) {
|
||||||
|
map['backup'] = Variable<bool>(backup.value);
|
||||||
|
}
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return (StringBuffer('SettingsCompanion(')
|
||||||
|
..write('alarm: $alarm, ')
|
||||||
|
..write('vibrate: $vibrate, ')
|
||||||
|
..write('sound: $sound, ')
|
||||||
|
..write('notify: $notify, ')
|
||||||
|
..write('images: $images, ')
|
||||||
|
..write('showUnit: $showUnit, ')
|
||||||
|
..write('lightColor: $lightColor, ')
|
||||||
|
..write('darkColor: $darkColor, ')
|
||||||
|
..write('steps: $steps, ')
|
||||||
|
..write('date: $date, ')
|
||||||
|
..write('showDate: $showDate, ')
|
||||||
|
..write('theme: $theme, ')
|
||||||
|
..write('showSets: $showSets, ')
|
||||||
|
..write('noSound: $noSound, ')
|
||||||
|
..write('backup: $backup')
|
||||||
|
..write(')'))
|
||||||
|
.toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class $SettingsTable extends Settings with TableInfo<$SettingsTable, Setting> {
|
||||||
|
@override
|
||||||
|
final GeneratedDatabase attachedDatabase;
|
||||||
|
final String? _alias;
|
||||||
|
$SettingsTable(this.attachedDatabase, [this._alias]);
|
||||||
|
final VerificationMeta _alarmMeta = const VerificationMeta('alarm');
|
||||||
|
@override
|
||||||
|
late final GeneratedColumn<bool?> alarm = GeneratedColumn<bool?>(
|
||||||
|
'alarm', aliasedName, false,
|
||||||
|
type: const BoolType(),
|
||||||
|
requiredDuringInsert: true,
|
||||||
|
defaultConstraints: 'CHECK (alarm IN (0, 1))');
|
||||||
|
final VerificationMeta _vibrateMeta = const VerificationMeta('vibrate');
|
||||||
|
@override
|
||||||
|
late final GeneratedColumn<bool?> vibrate = GeneratedColumn<bool?>(
|
||||||
|
'vibrate', aliasedName, false,
|
||||||
|
type: const BoolType(),
|
||||||
|
requiredDuringInsert: true,
|
||||||
|
defaultConstraints: 'CHECK (vibrate IN (0, 1))');
|
||||||
|
final VerificationMeta _soundMeta = const VerificationMeta('sound');
|
||||||
|
@override
|
||||||
|
late final GeneratedColumn<String?> sound = GeneratedColumn<String?>(
|
||||||
|
'sound', aliasedName, false,
|
||||||
|
type: const StringType(), requiredDuringInsert: true);
|
||||||
|
final VerificationMeta _notifyMeta = const VerificationMeta('notify');
|
||||||
|
@override
|
||||||
|
late final GeneratedColumn<bool?> notify = GeneratedColumn<bool?>(
|
||||||
|
'notify', aliasedName, false,
|
||||||
|
type: const BoolType(),
|
||||||
|
requiredDuringInsert: true,
|
||||||
|
defaultConstraints: 'CHECK (notify IN (0, 1))');
|
||||||
|
final VerificationMeta _imagesMeta = const VerificationMeta('images');
|
||||||
|
@override
|
||||||
|
late final GeneratedColumn<bool?> images = GeneratedColumn<bool?>(
|
||||||
|
'images', aliasedName, false,
|
||||||
|
type: const BoolType(),
|
||||||
|
requiredDuringInsert: true,
|
||||||
|
defaultConstraints: 'CHECK (images IN (0, 1))');
|
||||||
|
final VerificationMeta _showUnitMeta = const VerificationMeta('showUnit');
|
||||||
|
@override
|
||||||
|
late final GeneratedColumn<bool?> showUnit = GeneratedColumn<bool?>(
|
||||||
|
'show_unit', aliasedName, false,
|
||||||
|
type: const BoolType(),
|
||||||
|
requiredDuringInsert: true,
|
||||||
|
defaultConstraints: 'CHECK (show_unit IN (0, 1))');
|
||||||
|
final VerificationMeta _lightColorMeta = const VerificationMeta('lightColor');
|
||||||
|
@override
|
||||||
|
late final GeneratedColumn<String?> lightColor = GeneratedColumn<String?>(
|
||||||
|
'light_color', aliasedName, true,
|
||||||
|
type: const StringType(), requiredDuringInsert: false);
|
||||||
|
final VerificationMeta _darkColorMeta = const VerificationMeta('darkColor');
|
||||||
|
@override
|
||||||
|
late final GeneratedColumn<String?> darkColor = GeneratedColumn<String?>(
|
||||||
|
'dark_color', aliasedName, true,
|
||||||
|
type: const StringType(), requiredDuringInsert: false);
|
||||||
|
final VerificationMeta _stepsMeta = const VerificationMeta('steps');
|
||||||
|
@override
|
||||||
|
late final GeneratedColumn<bool?> steps = GeneratedColumn<bool?>(
|
||||||
|
'steps', aliasedName, false,
|
||||||
|
type: const BoolType(),
|
||||||
|
requiredDuringInsert: true,
|
||||||
|
defaultConstraints: 'CHECK (steps IN (0, 1))');
|
||||||
|
final VerificationMeta _dateMeta = const VerificationMeta('date');
|
||||||
|
@override
|
||||||
|
late final GeneratedColumn<String?> date = GeneratedColumn<String?>(
|
||||||
|
'date', aliasedName, false,
|
||||||
|
type: const StringType(), requiredDuringInsert: true);
|
||||||
|
final VerificationMeta _showDateMeta = const VerificationMeta('showDate');
|
||||||
|
@override
|
||||||
|
late final GeneratedColumn<bool?> showDate = GeneratedColumn<bool?>(
|
||||||
|
'show_date', aliasedName, false,
|
||||||
|
type: const BoolType(),
|
||||||
|
requiredDuringInsert: true,
|
||||||
|
defaultConstraints: 'CHECK (show_date IN (0, 1))');
|
||||||
|
final VerificationMeta _themeMeta = const VerificationMeta('theme');
|
||||||
|
@override
|
||||||
|
late final GeneratedColumn<String?> theme = GeneratedColumn<String?>(
|
||||||
|
'theme', aliasedName, false,
|
||||||
|
type: const StringType(), requiredDuringInsert: true);
|
||||||
|
final VerificationMeta _showSetsMeta = const VerificationMeta('showSets');
|
||||||
|
@override
|
||||||
|
late final GeneratedColumn<bool?> showSets = GeneratedColumn<bool?>(
|
||||||
|
'show_sets', aliasedName, false,
|
||||||
|
type: const BoolType(),
|
||||||
|
requiredDuringInsert: true,
|
||||||
|
defaultConstraints: 'CHECK (show_sets IN (0, 1))');
|
||||||
|
final VerificationMeta _noSoundMeta = const VerificationMeta('noSound');
|
||||||
|
@override
|
||||||
|
late final GeneratedColumn<bool?> noSound = GeneratedColumn<bool?>(
|
||||||
|
'no_sound', aliasedName, false,
|
||||||
|
type: const BoolType(),
|
||||||
|
requiredDuringInsert: true,
|
||||||
|
defaultConstraints: 'CHECK (no_sound IN (0, 1))');
|
||||||
|
final VerificationMeta _backupMeta = const VerificationMeta('backup');
|
||||||
|
@override
|
||||||
|
late final GeneratedColumn<bool?> backup = GeneratedColumn<bool?>(
|
||||||
|
'backup', aliasedName, false,
|
||||||
|
type: const BoolType(),
|
||||||
|
requiredDuringInsert: true,
|
||||||
|
defaultConstraints: 'CHECK (backup IN (0, 1))');
|
||||||
|
@override
|
||||||
|
List<GeneratedColumn> get $columns => [
|
||||||
|
alarm,
|
||||||
|
vibrate,
|
||||||
|
sound,
|
||||||
|
notify,
|
||||||
|
images,
|
||||||
|
showUnit,
|
||||||
|
lightColor,
|
||||||
|
darkColor,
|
||||||
|
steps,
|
||||||
|
date,
|
||||||
|
showDate,
|
||||||
|
theme,
|
||||||
|
showSets,
|
||||||
|
noSound,
|
||||||
|
backup
|
||||||
|
];
|
||||||
|
@override
|
||||||
|
String get aliasedName => _alias ?? 'settings';
|
||||||
|
@override
|
||||||
|
String get actualTableName => 'settings';
|
||||||
|
@override
|
||||||
|
VerificationContext validateIntegrity(Insertable<Setting> instance,
|
||||||
|
{bool isInserting = false}) {
|
||||||
|
final context = VerificationContext();
|
||||||
|
final data = instance.toColumns(true);
|
||||||
|
if (data.containsKey('alarm')) {
|
||||||
|
context.handle(
|
||||||
|
_alarmMeta, alarm.isAcceptableOrUnknown(data['alarm']!, _alarmMeta));
|
||||||
|
} else if (isInserting) {
|
||||||
|
context.missing(_alarmMeta);
|
||||||
|
}
|
||||||
|
if (data.containsKey('vibrate')) {
|
||||||
|
context.handle(_vibrateMeta,
|
||||||
|
vibrate.isAcceptableOrUnknown(data['vibrate']!, _vibrateMeta));
|
||||||
|
} else if (isInserting) {
|
||||||
|
context.missing(_vibrateMeta);
|
||||||
|
}
|
||||||
|
if (data.containsKey('sound')) {
|
||||||
|
context.handle(
|
||||||
|
_soundMeta, sound.isAcceptableOrUnknown(data['sound']!, _soundMeta));
|
||||||
|
} else if (isInserting) {
|
||||||
|
context.missing(_soundMeta);
|
||||||
|
}
|
||||||
|
if (data.containsKey('notify')) {
|
||||||
|
context.handle(_notifyMeta,
|
||||||
|
notify.isAcceptableOrUnknown(data['notify']!, _notifyMeta));
|
||||||
|
} else if (isInserting) {
|
||||||
|
context.missing(_notifyMeta);
|
||||||
|
}
|
||||||
|
if (data.containsKey('images')) {
|
||||||
|
context.handle(_imagesMeta,
|
||||||
|
images.isAcceptableOrUnknown(data['images']!, _imagesMeta));
|
||||||
|
} else if (isInserting) {
|
||||||
|
context.missing(_imagesMeta);
|
||||||
|
}
|
||||||
|
if (data.containsKey('show_unit')) {
|
||||||
|
context.handle(_showUnitMeta,
|
||||||
|
showUnit.isAcceptableOrUnknown(data['show_unit']!, _showUnitMeta));
|
||||||
|
} else if (isInserting) {
|
||||||
|
context.missing(_showUnitMeta);
|
||||||
|
}
|
||||||
|
if (data.containsKey('light_color')) {
|
||||||
|
context.handle(
|
||||||
|
_lightColorMeta,
|
||||||
|
lightColor.isAcceptableOrUnknown(
|
||||||
|
data['light_color']!, _lightColorMeta));
|
||||||
|
}
|
||||||
|
if (data.containsKey('dark_color')) {
|
||||||
|
context.handle(_darkColorMeta,
|
||||||
|
darkColor.isAcceptableOrUnknown(data['dark_color']!, _darkColorMeta));
|
||||||
|
}
|
||||||
|
if (data.containsKey('steps')) {
|
||||||
|
context.handle(
|
||||||
|
_stepsMeta, steps.isAcceptableOrUnknown(data['steps']!, _stepsMeta));
|
||||||
|
} else if (isInserting) {
|
||||||
|
context.missing(_stepsMeta);
|
||||||
|
}
|
||||||
|
if (data.containsKey('date')) {
|
||||||
|
context.handle(
|
||||||
|
_dateMeta, date.isAcceptableOrUnknown(data['date']!, _dateMeta));
|
||||||
|
} else if (isInserting) {
|
||||||
|
context.missing(_dateMeta);
|
||||||
|
}
|
||||||
|
if (data.containsKey('show_date')) {
|
||||||
|
context.handle(_showDateMeta,
|
||||||
|
showDate.isAcceptableOrUnknown(data['show_date']!, _showDateMeta));
|
||||||
|
} else if (isInserting) {
|
||||||
|
context.missing(_showDateMeta);
|
||||||
|
}
|
||||||
|
if (data.containsKey('theme')) {
|
||||||
|
context.handle(
|
||||||
|
_themeMeta, theme.isAcceptableOrUnknown(data['theme']!, _themeMeta));
|
||||||
|
} else if (isInserting) {
|
||||||
|
context.missing(_themeMeta);
|
||||||
|
}
|
||||||
|
if (data.containsKey('show_sets')) {
|
||||||
|
context.handle(_showSetsMeta,
|
||||||
|
showSets.isAcceptableOrUnknown(data['show_sets']!, _showSetsMeta));
|
||||||
|
} else if (isInserting) {
|
||||||
|
context.missing(_showSetsMeta);
|
||||||
|
}
|
||||||
|
if (data.containsKey('no_sound')) {
|
||||||
|
context.handle(_noSoundMeta,
|
||||||
|
noSound.isAcceptableOrUnknown(data['no_sound']!, _noSoundMeta));
|
||||||
|
} else if (isInserting) {
|
||||||
|
context.missing(_noSoundMeta);
|
||||||
|
}
|
||||||
|
if (data.containsKey('backup')) {
|
||||||
|
context.handle(_backupMeta,
|
||||||
|
backup.isAcceptableOrUnknown(data['backup']!, _backupMeta));
|
||||||
|
} else if (isInserting) {
|
||||||
|
context.missing(_backupMeta);
|
||||||
|
}
|
||||||
|
return context;
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Set<GeneratedColumn> get $primaryKey => <GeneratedColumn>{};
|
||||||
|
@override
|
||||||
|
Setting map(Map<String, dynamic> data, {String? tablePrefix}) {
|
||||||
|
return Setting.fromData(data, attachedDatabase,
|
||||||
|
prefix: tablePrefix != null ? '$tablePrefix.' : null);
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
$SettingsTable createAlias(String alias) {
|
||||||
|
return $SettingsTable(attachedDatabase, alias);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
abstract class _$MyDatabase extends GeneratedDatabase {
|
||||||
|
_$MyDatabase(QueryExecutor e) : super(SqlTypeSystem.defaultInstance, e);
|
||||||
|
late final $SettingsTable settings = $SettingsTable(this);
|
||||||
|
@override
|
||||||
|
Iterable<TableInfo> get allTables => allSchemaEntities.whereType<TableInfo>();
|
||||||
|
@override
|
||||||
|
List<DatabaseSchemaEntity> get allSchemaEntities => [settings];
|
||||||
|
}
|
|
@ -1,5 +1,6 @@
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:fmassive/best_page.dart';
|
import 'package:fmassive/best_page.dart';
|
||||||
|
import 'package:fmassive/database.dart';
|
||||||
import 'package:fmassive/edit_set.dart';
|
import 'package:fmassive/edit_set.dart';
|
||||||
import 'package:fmassive/gym_set.dart';
|
import 'package:fmassive/gym_set.dart';
|
||||||
import 'package:fmassive/home_page.dart';
|
import 'package:fmassive/home_page.dart';
|
||||||
|
@ -8,6 +9,8 @@ import 'package:fmassive/settings_page.dart';
|
||||||
import 'package:fmassive/timer_page.dart';
|
import 'package:fmassive/timer_page.dart';
|
||||||
import 'package:fmassive/workouts_page.dart';
|
import 'package:fmassive/workouts_page.dart';
|
||||||
|
|
||||||
|
MyDatabase db = MyDatabase();
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
runApp(MyApp());
|
runApp(MyApp());
|
||||||
}
|
}
|
||||||
|
@ -28,7 +31,7 @@ class MyApp extends StatelessWidget {
|
||||||
'/best': (context) => const BestPage(),
|
'/best': (context) => const BestPage(),
|
||||||
'/workouts': (context) => const WorkoutsPage(),
|
'/workouts': (context) => const WorkoutsPage(),
|
||||||
'/timer': (context) => const TimerPage(),
|
'/timer': (context) => const TimerPage(),
|
||||||
'/settings': (context) => const SettingsPage(),
|
'/settings': (context) => SettingsPage(),
|
||||||
'/edit-set': (context) => edit,
|
'/edit-set': (context) => edit,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
38
lib/settings.dart
Normal file
38
lib/settings.dart
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
import 'package:fmassive/database.dart';
|
||||||
|
import 'package:moor/moor.dart';
|
||||||
|
|
||||||
|
Setting defaultSettings = Setting(
|
||||||
|
alarm: true,
|
||||||
|
vibrate: true,
|
||||||
|
sound: 'default.mp3',
|
||||||
|
notify: true,
|
||||||
|
images: true,
|
||||||
|
showUnit: true,
|
||||||
|
lightColor: null,
|
||||||
|
darkColor: null,
|
||||||
|
steps: true,
|
||||||
|
date: 'DD/MM/YYYY',
|
||||||
|
showDate: true,
|
||||||
|
theme: 'light',
|
||||||
|
showSets: true,
|
||||||
|
noSound: false,
|
||||||
|
backup: false,
|
||||||
|
);
|
||||||
|
|
||||||
|
class Settings extends Table {
|
||||||
|
BoolColumn get alarm => boolean()();
|
||||||
|
BoolColumn get vibrate => boolean()();
|
||||||
|
TextColumn get sound => text()();
|
||||||
|
BoolColumn get notify => boolean()();
|
||||||
|
BoolColumn get images => boolean()();
|
||||||
|
BoolColumn get showUnit => boolean()();
|
||||||
|
TextColumn get lightColor => text().nullable()();
|
||||||
|
TextColumn get darkColor => text().nullable()();
|
||||||
|
BoolColumn get steps => boolean()();
|
||||||
|
TextColumn get date => text()();
|
||||||
|
BoolColumn get showDate => boolean()();
|
||||||
|
TextColumn get theme => text()();
|
||||||
|
BoolColumn get showSets => boolean()();
|
||||||
|
BoolColumn get noSound => boolean()();
|
||||||
|
BoolColumn get backup => boolean()();
|
||||||
|
}
|
|
@ -1,7 +1,21 @@
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter/material.dart' as material;
|
||||||
|
import 'package:fmassive/database.dart';
|
||||||
|
import 'package:fmassive/main.dart';
|
||||||
|
import 'package:fmassive/settings.dart';
|
||||||
|
import 'package:moor/moor.dart';
|
||||||
|
|
||||||
class SettingsPage extends StatelessWidget {
|
class SettingsPage extends StatelessWidget {
|
||||||
const SettingsPage({super.key});
|
SettingsPage({super.key});
|
||||||
|
|
||||||
|
final List<Map<String, dynamic>> routes = [
|
||||||
|
{'title': 'Home', 'icon': Icons.home},
|
||||||
|
{'title': 'Plans', 'icon': Icons.calendar_today},
|
||||||
|
{'title': 'Best', 'icon': Icons.star},
|
||||||
|
{'title': 'Workouts', 'icon': Icons.fitness_center},
|
||||||
|
{'title': 'Timer', 'icon': Icons.timer},
|
||||||
|
{'title': 'Settings', 'icon': Icons.settings},
|
||||||
|
];
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
@ -9,9 +23,169 @@ class SettingsPage extends StatelessWidget {
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
title: const Text('Settings'),
|
title: const Text('Settings'),
|
||||||
),
|
),
|
||||||
|
drawer: Drawer(
|
||||||
|
child: ListView.builder(
|
||||||
|
itemCount: routes.length,
|
||||||
|
itemBuilder: (context, index) {
|
||||||
|
return ListTile(
|
||||||
|
leading: Icon(routes[index]['icon']),
|
||||||
|
title: Text(routes[index]['title']),
|
||||||
|
onTap: () {
|
||||||
|
Navigator.pop(context);
|
||||||
|
Navigator.pushNamed(
|
||||||
|
context, '/${routes[index]['title'].toLowerCase()}');
|
||||||
|
},
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
body: const Center(
|
body: const Center(
|
||||||
child: Text('Welcome to the Settings Page!'),
|
child: _SettingsPage(),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class _SettingsPage extends StatefulWidget {
|
||||||
|
const _SettingsPage({Key? key}) : super(key: key);
|
||||||
|
|
||||||
|
@override
|
||||||
|
createState() => _SettingsPageState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _SettingsPageState extends State<_SettingsPage> {
|
||||||
|
late Stream<Setting> stream;
|
||||||
|
|
||||||
|
final TextEditingController searchController = TextEditingController();
|
||||||
|
|
||||||
|
void reset() async {
|
||||||
|
var data = await db.select(db.settings).get();
|
||||||
|
if (data.isEmpty) await db.into(db.settings).insert(defaultSettings);
|
||||||
|
setState(() {
|
||||||
|
if (data.isEmpty) return;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
super.initState();
|
||||||
|
stream = db.select(db.settings).watchSingle();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Scaffold(
|
||||||
|
body: StreamBuilder<Setting>(
|
||||||
|
stream: stream,
|
||||||
|
builder: (context, snapshot) {
|
||||||
|
final settings = snapshot.data;
|
||||||
|
|
||||||
|
if (settings == null)
|
||||||
|
return const Center(child: CircularProgressIndicator());
|
||||||
|
|
||||||
|
return SingleChildScrollView(
|
||||||
|
padding: const EdgeInsets.all(8.0),
|
||||||
|
child: material.Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
SwitchListTile(
|
||||||
|
title: const Text('Alarm'),
|
||||||
|
value: settings.alarm,
|
||||||
|
onChanged: (value) {
|
||||||
|
db
|
||||||
|
.update(db.settings)
|
||||||
|
.write(SettingsCompanion(alarm: Value(value)));
|
||||||
|
},
|
||||||
|
),
|
||||||
|
SwitchListTile(
|
||||||
|
title: const Text('Vibrate'),
|
||||||
|
value: settings.vibrate,
|
||||||
|
onChanged: (value) {
|
||||||
|
db
|
||||||
|
.update(db.settings)
|
||||||
|
.write(SettingsCompanion(vibrate: Value(value)));
|
||||||
|
},
|
||||||
|
),
|
||||||
|
SwitchListTile(
|
||||||
|
title: const Text('Notify'),
|
||||||
|
value: settings.notify,
|
||||||
|
onChanged: (value) {
|
||||||
|
db
|
||||||
|
.update(db.settings)
|
||||||
|
.write(SettingsCompanion(notify: Value(value)));
|
||||||
|
},
|
||||||
|
),
|
||||||
|
SwitchListTile(
|
||||||
|
title: const Text('Images'),
|
||||||
|
value: settings.images,
|
||||||
|
onChanged: (value) {
|
||||||
|
db
|
||||||
|
.update(db.settings)
|
||||||
|
.write(SettingsCompanion(images: Value(value)));
|
||||||
|
},
|
||||||
|
),
|
||||||
|
SwitchListTile(
|
||||||
|
title: const Text('Show Unit'),
|
||||||
|
value: settings.showUnit,
|
||||||
|
onChanged: (value) {
|
||||||
|
db
|
||||||
|
.update(db.settings)
|
||||||
|
.write(SettingsCompanion(showUnit: Value(value)));
|
||||||
|
},
|
||||||
|
),
|
||||||
|
SwitchListTile(
|
||||||
|
title: const Text('Steps'),
|
||||||
|
value: settings.steps,
|
||||||
|
onChanged: (value) {
|
||||||
|
db
|
||||||
|
.update(db.settings)
|
||||||
|
.write(SettingsCompanion(steps: Value(value)));
|
||||||
|
},
|
||||||
|
),
|
||||||
|
TextField(
|
||||||
|
decoration: const InputDecoration(
|
||||||
|
labelText: 'Sound',
|
||||||
|
),
|
||||||
|
onChanged: (value) {
|
||||||
|
db
|
||||||
|
.update(db.settings)
|
||||||
|
.write(SettingsCompanion(sound: Value(value)));
|
||||||
|
},
|
||||||
|
),
|
||||||
|
TextField(
|
||||||
|
decoration: const InputDecoration(
|
||||||
|
labelText: 'Light Color',
|
||||||
|
),
|
||||||
|
onChanged: (value) {
|
||||||
|
db
|
||||||
|
.update(db.settings)
|
||||||
|
.write(SettingsCompanion(lightColor: Value(value)));
|
||||||
|
},
|
||||||
|
),
|
||||||
|
TextField(
|
||||||
|
decoration: const InputDecoration(
|
||||||
|
labelText: 'Dark Color',
|
||||||
|
),
|
||||||
|
onChanged: (value) {
|
||||||
|
db
|
||||||
|
.update(db.settings)
|
||||||
|
.write(SettingsCompanion(darkColor: Value(value)));
|
||||||
|
},
|
||||||
|
),
|
||||||
|
TextField(
|
||||||
|
decoration: const InputDecoration(
|
||||||
|
labelText: 'Date',
|
||||||
|
),
|
||||||
|
onChanged: (value) {
|
||||||
|
db
|
||||||
|
.update(db.settings)
|
||||||
|
.write(SettingsCompanion(date: Value(value)));
|
||||||
|
},
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -6,6 +6,10 @@
|
||||||
|
|
||||||
#include "generated_plugin_registrant.h"
|
#include "generated_plugin_registrant.h"
|
||||||
|
|
||||||
|
#include <sqlite3_flutter_libs/sqlite3_flutter_libs_plugin.h>
|
||||||
|
|
||||||
void fl_register_plugins(FlPluginRegistry* registry) {
|
void fl_register_plugins(FlPluginRegistry* registry) {
|
||||||
|
g_autoptr(FlPluginRegistrar) sqlite3_flutter_libs_registrar =
|
||||||
|
fl_plugin_registry_get_registrar_for_plugin(registry, "Sqlite3FlutterLibsPlugin");
|
||||||
|
sqlite3_flutter_libs_plugin_register_with_registrar(sqlite3_flutter_libs_registrar);
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
list(APPEND FLUTTER_PLUGIN_LIST
|
list(APPEND FLUTTER_PLUGIN_LIST
|
||||||
|
sqlite3_flutter_libs
|
||||||
)
|
)
|
||||||
|
|
||||||
list(APPEND FLUTTER_FFI_PLUGIN_LIST
|
list(APPEND FLUTTER_FFI_PLUGIN_LIST
|
||||||
|
|
|
@ -5,8 +5,12 @@
|
||||||
import FlutterMacOS
|
import FlutterMacOS
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
import path_provider_foundation
|
||||||
import sqflite
|
import sqflite
|
||||||
|
import sqlite3_flutter_libs
|
||||||
|
|
||||||
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
|
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
|
||||||
|
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
|
||||||
SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin"))
|
SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin"))
|
||||||
|
Sqlite3FlutterLibsPlugin.register(with: registry.registrar(forPlugin: "Sqlite3FlutterLibsPlugin"))
|
||||||
}
|
}
|
||||||
|
|
512
pubspec.lock
512
pubspec.lock
|
@ -1,6 +1,38 @@
|
||||||
# Generated by pub
|
# Generated by pub
|
||||||
# See https://dart.dev/tools/pub/glossary#lockfile
|
# See https://dart.dev/tools/pub/glossary#lockfile
|
||||||
packages:
|
packages:
|
||||||
|
_fe_analyzer_shared:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: _fe_analyzer_shared
|
||||||
|
sha256: "4897882604d919befd350648c7f91926a9d5de99e67b455bf0917cc2362f4bb8"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "47.0.0"
|
||||||
|
analyzer:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: analyzer
|
||||||
|
sha256: "690e335554a8385bc9d787117d9eb52c0c03ee207a607e593de3c9d71b1cfe80"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "4.7.0"
|
||||||
|
analyzer_plugin:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: analyzer_plugin
|
||||||
|
sha256: "02b0046b8b9a4c97a238c66f70acd22eec4263dfc8d9205f9dab5cc8630c5a6f"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "0.11.1"
|
||||||
|
args:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: args
|
||||||
|
sha256: "4cab82a83ffef80b262ddedf47a0a8e56ee6fbf7fe21e6e768b02792034dd440"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.4.0"
|
||||||
async:
|
async:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -17,6 +49,70 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "2.1.1"
|
||||||
|
build:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: build
|
||||||
|
sha256: "3fbda25365741f8251b39f3917fb3c8e286a96fd068a5a242e11c2012d495777"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.3.1"
|
||||||
|
build_config:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: build_config
|
||||||
|
sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.1.1"
|
||||||
|
build_daemon:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: build_daemon
|
||||||
|
sha256: "757153e5d9cd88253cb13f28c2fb55a537dc31fefd98137549895b5beb7c6169"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "3.1.1"
|
||||||
|
build_resolvers:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: build_resolvers
|
||||||
|
sha256: "687cf90a3951affac1bd5f9ecb5e3e90b60487f3d9cdc359bb310f8876bb02a6"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.10"
|
||||||
|
build_runner:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: build_runner
|
||||||
|
sha256: b0a8a7b8a76c493e85f1b84bffa0588859a06197863dba8c9036b15581fd9727
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.3.3"
|
||||||
|
build_runner_core:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: build_runner_core
|
||||||
|
sha256: "14febe0f5bac5ae474117a36099b4de6f1dbc52df6c5e55534b3da9591bf4292"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "7.2.7"
|
||||||
|
built_collection:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: built_collection
|
||||||
|
sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "5.1.1"
|
||||||
|
built_value:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: built_value
|
||||||
|
sha256: "31b7c748fd4b9adf8d25d72a4c4a59ef119f12876cf414f94f8af5131d5fa2b0"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "8.4.4"
|
||||||
characters:
|
characters:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -25,6 +121,30 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.1"
|
version: "1.2.1"
|
||||||
|
charcode:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: charcode
|
||||||
|
sha256: fb98c0f6d12c920a02ee2d998da788bca066ca5f148492b7085ee23372b12306
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.3.1"
|
||||||
|
checked_yaml:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: checked_yaml
|
||||||
|
sha256: "3d1505d91afa809d177efd4eed5bb0eb65805097a1463abdd2add076effae311"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.2"
|
||||||
|
cli_util:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: cli_util
|
||||||
|
sha256: "66f86e916d285c1a93d3b79587d94bd71984a66aac4ff74e524cfa7877f1395c"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "0.3.5"
|
||||||
clock:
|
clock:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -33,6 +153,14 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.1"
|
version: "1.1.1"
|
||||||
|
code_builder:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: code_builder
|
||||||
|
sha256: "0d43dd1288fd145de1ecc9a3948ad4a6d5a82f0a14c4fdd0892260787d975cbe"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "4.4.0"
|
||||||
collection:
|
collection:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -41,6 +169,22 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.17.0"
|
version: "1.17.0"
|
||||||
|
convert:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: convert
|
||||||
|
sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "3.1.1"
|
||||||
|
crypto:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: crypto
|
||||||
|
sha256: aa274aa7774f8964e4f4f38cc994db7b6158dd36e9187aaceaddc994b35c6c67
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "3.0.2"
|
||||||
cupertino_icons:
|
cupertino_icons:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -49,6 +193,30 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.5"
|
version: "1.0.5"
|
||||||
|
dart_style:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: dart_style
|
||||||
|
sha256: "7a03456c3490394c8e7665890333e91ae8a49be43542b616e414449ac358acd4"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.2.4"
|
||||||
|
drift:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: drift
|
||||||
|
sha256: "43ae515270f38ffe47702dc920c04d415894bcc6ebdf3e2b6a292cb207ed8cb7"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.7.1"
|
||||||
|
drift_dev:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: drift_dev
|
||||||
|
sha256: "7d51538da971823a158236823cfb299731f720cd55078c6a478bfa4effb69275"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.7.1"
|
||||||
fake_async:
|
fake_async:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -57,6 +225,30 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.3.1"
|
version: "1.3.1"
|
||||||
|
ffi:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: ffi
|
||||||
|
sha256: a38574032c5f1dd06c4aee541789906c12ccaab8ba01446e800d9c5b79c4a978
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.1"
|
||||||
|
file:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: file
|
||||||
|
sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "6.1.4"
|
||||||
|
fixnum:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: fixnum
|
||||||
|
sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.1.0"
|
||||||
flutter:
|
flutter:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description: flutter
|
description: flutter
|
||||||
|
@ -75,6 +267,54 @@ packages:
|
||||||
description: flutter
|
description: flutter
|
||||||
source: sdk
|
source: sdk
|
||||||
version: "0.0.0"
|
version: "0.0.0"
|
||||||
|
frontend_server_client:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: frontend_server_client
|
||||||
|
sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "3.2.0"
|
||||||
|
glob:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: glob
|
||||||
|
sha256: "4515b5b6ddb505ebdd242a5f2cc5d22d3d6a80013789debfbda7777f47ea308c"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.1.1"
|
||||||
|
graphs:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: graphs
|
||||||
|
sha256: f9e130f3259f52d26f0cfc0e964513796dafed572fa52e45d2f8d6ca14db39b2
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.2.0"
|
||||||
|
http_multi_server:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: http_multi_server
|
||||||
|
sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "3.2.1"
|
||||||
|
http_parser:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: http_parser
|
||||||
|
sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "4.0.2"
|
||||||
|
io:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: io
|
||||||
|
sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.0.4"
|
||||||
js:
|
js:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -83,6 +323,14 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.6.5"
|
version: "0.6.5"
|
||||||
|
json_annotation:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: json_annotation
|
||||||
|
sha256: c33da08e136c3df0190bd5bbe51ae1df4a7d96e7954d1d7249fea2968a72d317
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "4.8.0"
|
||||||
lints:
|
lints:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -91,6 +339,14 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.1"
|
version: "2.0.1"
|
||||||
|
logging:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: logging
|
||||||
|
sha256: "04094f2eb032cbb06c6f6e8d3607edcfcb0455e2bb6cbc010cb01171dcb64e6d"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.1.1"
|
||||||
matcher:
|
matcher:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -115,6 +371,46 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.8.0"
|
version: "1.8.0"
|
||||||
|
mime:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: mime
|
||||||
|
sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.0.4"
|
||||||
|
moor:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: moor
|
||||||
|
sha256: "3c9500ebb0996592480728a5480e020c881110597416b9f3c6f72e57212bd78c"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "4.6.1+1"
|
||||||
|
moor_flutter:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: moor_flutter
|
||||||
|
sha256: "337babe6977103a765d01a838b5d166483eff0a6a83ad5f997761c247f428cdf"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "4.1.0"
|
||||||
|
moor_generator:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: moor_generator
|
||||||
|
sha256: "511df4d32bc6150456024592e4839fb868eda96b49d8c3515e30781eec6bc31d"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "4.6.0+1"
|
||||||
|
package_config:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: package_config
|
||||||
|
sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.1.0"
|
||||||
path:
|
path:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -123,11 +419,139 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.8.2"
|
version: "1.8.2"
|
||||||
|
path_provider:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: path_provider
|
||||||
|
sha256: c7edf82217d4b2952b2129a61d3ad60f1075b9299e629e149a8d2e39c2e6aad4
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.14"
|
||||||
|
path_provider_android:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: path_provider_android
|
||||||
|
sha256: "019f18c9c10ae370b08dce1f3e3b73bc9f58e7f087bb5e921f06529438ac0ae7"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.24"
|
||||||
|
path_provider_foundation:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: path_provider_foundation
|
||||||
|
sha256: "818b2dc38b0f178e0ea3f7cf3b28146faab11375985d815942a68eee11c2d0f7"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.2.1"
|
||||||
|
path_provider_linux:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: path_provider_linux
|
||||||
|
sha256: "2ae08f2216225427e64ad224a24354221c2c7907e448e6e0e8b57b1eb9f10ad1"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.1.10"
|
||||||
|
path_provider_platform_interface:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: path_provider_platform_interface
|
||||||
|
sha256: "57585299a729335f1298b43245842678cb9f43a6310351b18fb577d6e33165ec"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.6"
|
||||||
|
path_provider_windows:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: path_provider_windows
|
||||||
|
sha256: f53720498d5a543f9607db4b0e997c4b5438884de25b0f73098cc2671a51b130
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.1.5"
|
||||||
|
platform:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: platform
|
||||||
|
sha256: "4a451831508d7d6ca779f7ac6e212b4023dd5a7d08a27a63da33756410e32b76"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "3.1.0"
|
||||||
|
plugin_platform_interface:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: plugin_platform_interface
|
||||||
|
sha256: "6a2128648c854906c53fa8e33986fc0247a1116122f9534dd20e3ab9e16a32bc"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.1.4"
|
||||||
|
pool:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: pool
|
||||||
|
sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.5.1"
|
||||||
|
process:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: process
|
||||||
|
sha256: "53fd8db9cec1d37b0574e12f07520d582019cb6c44abf5479a01505099a34a09"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "4.2.4"
|
||||||
|
pub_semver:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: pub_semver
|
||||||
|
sha256: "307de764d305289ff24ad257ad5c5793ce56d04947599ad68b3baa124105fc17"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.1.3"
|
||||||
|
pubspec_parse:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: pubspec_parse
|
||||||
|
sha256: ec85d7d55339d85f44ec2b682a82fea340071e8978257e5a43e69f79e98ef50c
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.2.2"
|
||||||
|
recase:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: recase
|
||||||
|
sha256: e4eb4ec2dcdee52dcf99cb4ceabaffc631d7424ee55e56f280bc039737f89213
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "4.1.0"
|
||||||
|
shelf:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: shelf
|
||||||
|
sha256: c24a96135a2ccd62c64b69315a14adc5c3419df63b4d7c05832a346fdb73682c
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.4.0"
|
||||||
|
shelf_web_socket:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: shelf_web_socket
|
||||||
|
sha256: a988c0e8d8ffbdb8a28aa7ec8e449c260f3deb808781fe1284d22c5bba7156e8
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.0.3"
|
||||||
sky_engine:
|
sky_engine:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description: flutter
|
description: flutter
|
||||||
source: sdk
|
source: sdk
|
||||||
version: "0.0.99"
|
version: "0.0.99"
|
||||||
|
source_gen:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: source_gen
|
||||||
|
sha256: "2d79738b6bbf38a43920e2b8d189e9a3ce6cc201f4b8fc76be5e4fe377b1c38d"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.2.6"
|
||||||
source_span:
|
source_span:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -152,6 +576,30 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.4.3"
|
version: "2.4.3"
|
||||||
|
sqlite3:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: sqlite3
|
||||||
|
sha256: "822d321a008e194d7929357e5b58d2e4a04ab670d137182f9759152aa33180ff"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.10.1"
|
||||||
|
sqlite3_flutter_libs:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: sqlite3_flutter_libs
|
||||||
|
sha256: "02f80aea54a19a36b347dedf6d4181ecd9107f5831ea6139cfd0376a3de197ba"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "0.5.13"
|
||||||
|
sqlparser:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: sqlparser
|
||||||
|
sha256: "9ed8f4a24a2a243e23ad267bb50378cb75c7de0b200b5336229b2d6096e6a5df"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "0.22.0"
|
||||||
stack_trace:
|
stack_trace:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -168,6 +616,14 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "2.1.1"
|
||||||
|
stream_transform:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: stream_transform
|
||||||
|
sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.1.0"
|
||||||
string_scanner:
|
string_scanner:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -200,6 +656,22 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.4.16"
|
version: "0.4.16"
|
||||||
|
timing:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: timing
|
||||||
|
sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.0.1"
|
||||||
|
typed_data:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: typed_data
|
||||||
|
sha256: "26f87ade979c47a150c9eaab93ccd2bebe70a27dc0b4b29517f2904f04eb11a5"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.3.1"
|
||||||
vector_math:
|
vector_math:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -208,6 +680,46 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.4"
|
version: "2.1.4"
|
||||||
|
watcher:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: watcher
|
||||||
|
sha256: "6a7f46926b01ce81bfc339da6a7f20afbe7733eff9846f6d6a5466aa4c6667c0"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.0.2"
|
||||||
|
web_socket_channel:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: web_socket_channel
|
||||||
|
sha256: ca49c0bc209c687b887f30527fb6a9d80040b072cc2990f34b9bec3e7663101b
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.3.0"
|
||||||
|
win32:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: win32
|
||||||
|
sha256: a6f0236dbda0f63aa9a25ad1ff9a9d8a4eaaa5012da0dc59d21afdb1dc361ca4
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "3.1.4"
|
||||||
|
xdg_directories:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: xdg_directories
|
||||||
|
sha256: ee1505df1426458f7f60aac270645098d318a8b4766d85fde75f76f2e21807d1
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.0.0"
|
||||||
|
yaml:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: yaml
|
||||||
|
sha256: "23812a9b125b48d4007117254bca50abb6c712352927eece9e155207b1db2370"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "3.1.1"
|
||||||
sdks:
|
sdks:
|
||||||
dart: ">=2.19.5 <3.0.0"
|
dart: ">=2.19.5 <3.0.0"
|
||||||
flutter: ">=3.3.0"
|
flutter: ">=3.3.0"
|
||||||
|
|
|
@ -36,6 +36,12 @@ dependencies:
|
||||||
cupertino_icons: ^1.0.2
|
cupertino_icons: ^1.0.2
|
||||||
path: ^1.8.2
|
path: ^1.8.2
|
||||||
sqflite: ^2.2.6
|
sqflite: ^2.2.6
|
||||||
|
moor_flutter: ^4.1.0
|
||||||
|
build_runner: ^2.3.3
|
||||||
|
moor_generator: ^4.6.0+1
|
||||||
|
path_provider: ^2.0.14
|
||||||
|
sqlite3_flutter_libs: ^0.5.13
|
||||||
|
moor: ^4.6.1+1
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
|
|
||||||
#include "generated_plugin_registrant.h"
|
#include "generated_plugin_registrant.h"
|
||||||
|
|
||||||
|
#include <sqlite3_flutter_libs/sqlite3_flutter_libs_plugin.h>
|
||||||
|
|
||||||
void RegisterPlugins(flutter::PluginRegistry* registry) {
|
void RegisterPlugins(flutter::PluginRegistry* registry) {
|
||||||
|
Sqlite3FlutterLibsPluginRegisterWithRegistrar(
|
||||||
|
registry->GetRegistrarForPlugin("Sqlite3FlutterLibsPlugin"));
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
list(APPEND FLUTTER_PLUGIN_LIST
|
list(APPEND FLUTTER_PLUGIN_LIST
|
||||||
|
sqlite3_flutter_libs
|
||||||
)
|
)
|
||||||
|
|
||||||
list(APPEND FLUTTER_FFI_PLUGIN_LIST
|
list(APPEND FLUTTER_FFI_PLUGIN_LIST
|
||||||
|
|
Loading…
Reference in New Issue
Block a user