settings class avg graph
This commit is contained in:
parent
f147ae328e
commit
3ee91e7543
@ -17,13 +17,14 @@ Future<Database> initDB() async {
|
|||||||
db = await openDatabase("app.db");
|
db = await openDatabase("app.db");
|
||||||
}
|
}
|
||||||
|
|
||||||
var settingsDB = await createSettingsTable(db);
|
|
||||||
|
|
||||||
// Create table Users
|
// Create table Users
|
||||||
var usersDB = await createUsersTable(db);
|
var usersDB = await createUsersTable(db);
|
||||||
await db.execute("CREATE TABLE IF NOT EXISTS user_data ("
|
await db.execute("CREATE TABLE IF NOT EXISTS user_data ("
|
||||||
"id TEXT NOT NULL, grades TEXT, timetable TEXT, exams TEXT, homework TEXT, messages TEXT, notes TEXT, events TEXT, absences TEXT)");
|
"id TEXT NOT NULL, grades TEXT, timetable TEXT, exams TEXT, homework TEXT, messages TEXT, notes TEXT, events TEXT, absences TEXT)");
|
||||||
|
|
||||||
|
// Create table Settings
|
||||||
|
var settingsDB = await createSettingsTable(db);
|
||||||
|
|
||||||
if ((await db.rawQuery("SELECT COUNT(*) FROM settings"))[0].values.first == 0) {
|
if ((await db.rawQuery("SELECT COUNT(*) FROM settings"))[0].values.first == 0) {
|
||||||
// Set default values for table Settings
|
// Set default values for table Settings
|
||||||
await db.insert("settings", SettingsProvider.defaultSettings().toMap());
|
await db.insert("settings", SettingsProvider.defaultSettings().toMap());
|
||||||
@ -43,7 +44,7 @@ Future<DatabaseStruct> createSettingsTable(Database db) async {
|
|||||||
"grade_color1": int, "grade_color2": int, "grade_color3": int, "grade_color4": int, "grade_color5": int, // grade colors
|
"grade_color1": int, "grade_color2": int, "grade_color3": int, "grade_color4": int, "grade_color5": int, // grade colors
|
||||||
"vibration_strength": int, "ab_weeks": int, "swap_ab_weeks": int,
|
"vibration_strength": int, "ab_weeks": int, "swap_ab_weeks": int,
|
||||||
"notifications": int, "notifications_bitfield": int, "notification_poll_interval": int, // notifications
|
"notifications": int, "notifications_bitfield": int, "notification_poll_interval": int, // notifications
|
||||||
"x_filc_id": String,
|
"x_filc_id": String, "graph_class_avg": int,
|
||||||
});
|
});
|
||||||
|
|
||||||
// Create table Settings
|
// Create table Settings
|
||||||
|
@ -46,6 +46,7 @@ class SettingsProvider extends ChangeNotifier {
|
|||||||
UpdateChannel _updateChannel;
|
UpdateChannel _updateChannel;
|
||||||
Config _config;
|
Config _config;
|
||||||
String _xFilcId;
|
String _xFilcId;
|
||||||
|
bool _graphClassAvg;
|
||||||
|
|
||||||
SettingsProvider({
|
SettingsProvider({
|
||||||
required String language,
|
required String language,
|
||||||
@ -66,6 +67,7 @@ class SettingsProvider extends ChangeNotifier {
|
|||||||
required UpdateChannel updateChannel,
|
required UpdateChannel updateChannel,
|
||||||
required Config config,
|
required Config config,
|
||||||
required String xFilcId,
|
required String xFilcId,
|
||||||
|
required bool graphClassAvg,
|
||||||
}) : _language = language,
|
}) : _language = language,
|
||||||
_startPage = startPage,
|
_startPage = startPage,
|
||||||
_rounding = rounding,
|
_rounding = rounding,
|
||||||
@ -83,7 +85,8 @@ class SettingsProvider extends ChangeNotifier {
|
|||||||
_swapABweeks = swapABweeks,
|
_swapABweeks = swapABweeks,
|
||||||
_updateChannel = updateChannel,
|
_updateChannel = updateChannel,
|
||||||
_config = config,
|
_config = config,
|
||||||
_xFilcId = xFilcId;
|
_xFilcId = xFilcId,
|
||||||
|
_graphClassAvg = graphClassAvg;
|
||||||
|
|
||||||
factory SettingsProvider.fromMap(Map map) {
|
factory SettingsProvider.fromMap(Map map) {
|
||||||
return SettingsProvider(
|
return SettingsProvider(
|
||||||
@ -99,18 +102,19 @@ class SettingsProvider extends ChangeNotifier {
|
|||||||
Color(map["grade_color4"]),
|
Color(map["grade_color4"]),
|
||||||
Color(map["grade_color5"]),
|
Color(map["grade_color5"]),
|
||||||
],
|
],
|
||||||
newsEnabled: map["news"] == 1 ? true : false,
|
newsEnabled: map["news"] == 1,
|
||||||
newsState: map["news_state"],
|
newsState: map["news_state"],
|
||||||
notificationsEnabled: map["notifications"] == 1 ? true : false,
|
notificationsEnabled: map["notifications"] == 1,
|
||||||
notificationsBitfield: map["notifications_bitfield"],
|
notificationsBitfield: map["notifications_bitfield"],
|
||||||
notificationPollInterval: map["notification_poll_interval"],
|
notificationPollInterval: map["notification_poll_interval"],
|
||||||
developerMode: map["developer_mode"] == 1 ? true : false,
|
developerMode: map["developer_mode"] == 1,
|
||||||
vibrate: VibrationStrength.values[map["vibration_strength"]],
|
vibrate: VibrationStrength.values[map["vibration_strength"]],
|
||||||
abWeeks: map["ab_weeks"] == 1 ? true : false,
|
abWeeks: map["ab_weeks"] == 1,
|
||||||
swapABweeks: map["swap_ab_weeks"] == 1 ? true : false,
|
swapABweeks: map["swap_ab_weeks"] == 1,
|
||||||
updateChannel: UpdateChannel.values[map["update_channel"]],
|
updateChannel: UpdateChannel.values[map["update_channel"]],
|
||||||
config: Config.fromJson(jsonDecode(map["config"] ?? "{}")),
|
config: Config.fromJson(jsonDecode(map["config"] ?? "{}")),
|
||||||
xFilcId: map["x_filc_id"],
|
xFilcId: map["x_filc_id"],
|
||||||
|
graphClassAvg: map["graph_class_avg"] == 1,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -138,6 +142,7 @@ class SettingsProvider extends ChangeNotifier {
|
|||||||
"notification_poll_interval": _notificationPollInterval,
|
"notification_poll_interval": _notificationPollInterval,
|
||||||
"config": jsonEncode(config.json),
|
"config": jsonEncode(config.json),
|
||||||
"x_filc_id": _xFilcId,
|
"x_filc_id": _xFilcId,
|
||||||
|
"graph_class_avg": _graphClassAvg ? 1 : 0,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -167,6 +172,7 @@ class SettingsProvider extends ChangeNotifier {
|
|||||||
updateChannel: UpdateChannel.stable,
|
updateChannel: UpdateChannel.stable,
|
||||||
config: Config.fromJson({}),
|
config: Config.fromJson({}),
|
||||||
xFilcId: const Uuid().v4(),
|
xFilcId: const Uuid().v4(),
|
||||||
|
graphClassAvg: false,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -189,6 +195,7 @@ class SettingsProvider extends ChangeNotifier {
|
|||||||
UpdateChannel get updateChannel => _updateChannel;
|
UpdateChannel get updateChannel => _updateChannel;
|
||||||
Config get config => _config;
|
Config get config => _config;
|
||||||
String get xFilcId => _xFilcId;
|
String get xFilcId => _xFilcId;
|
||||||
|
bool get graphClassAvg => _graphClassAvg;
|
||||||
|
|
||||||
Future<void> update(
|
Future<void> update(
|
||||||
BuildContext context, {
|
BuildContext context, {
|
||||||
@ -211,6 +218,7 @@ class SettingsProvider extends ChangeNotifier {
|
|||||||
UpdateChannel? updateChannel,
|
UpdateChannel? updateChannel,
|
||||||
Config? config,
|
Config? config,
|
||||||
String? xFilcId,
|
String? xFilcId,
|
||||||
|
bool? graphClassAvg,
|
||||||
}) async {
|
}) async {
|
||||||
if (language != null && language != _language) _language = language;
|
if (language != null && language != _language) _language = language;
|
||||||
if (startPage != null && startPage != _startPage) _startPage = startPage;
|
if (startPage != null && startPage != _startPage) _startPage = startPage;
|
||||||
@ -232,6 +240,7 @@ class SettingsProvider extends ChangeNotifier {
|
|||||||
if (updateChannel != null && updateChannel != _updateChannel) _updateChannel = updateChannel;
|
if (updateChannel != null && updateChannel != _updateChannel) _updateChannel = updateChannel;
|
||||||
if (config != null && config != _config) _config = config;
|
if (config != null && config != _config) _config = config;
|
||||||
if (xFilcId != null && xFilcId != _xFilcId) _xFilcId = xFilcId;
|
if (xFilcId != null && xFilcId != _xFilcId) _xFilcId = xFilcId;
|
||||||
|
if (graphClassAvg != null && graphClassAvg != _graphClassAvg) _graphClassAvg = graphClassAvg;
|
||||||
|
|
||||||
database ??= Provider.of<DatabaseProvider>(context, listen: false);
|
database ??= Provider.of<DatabaseProvider>(context, listen: false);
|
||||||
await database.store.storeSettings(this);
|
await database.store.storeSettings(this);
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit 9ffa142eaa414c47d105dd7a027b7f25b0019a18
|
Subproject commit 866b0f296fb57b5904054d18412521ed3e38fdc8
|
Loading…
x
Reference in New Issue
Block a user