diff --git a/refilc/build-ipa.sh b/refilc/build-ipa.sh
index 572fa2c3..ce1a8470 100755
--- a/refilc/build-ipa.sh
+++ b/refilc/build-ipa.sh
@@ -1,3 +1,19 @@
#!/bin/sh
+# Firka legacy (formely "refilc"), the unofficial client for e-Kréta
+# Copyright (C) 2025 Firka team (QwIT development)
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+
flutter build ipa --release --tree-shake-icons --split-debug-info=debug-info --obfuscate --no-codesign
diff --git a/refilc/build.bat b/refilc/build.bat
index 2ea36045..29f6ec72 100644
--- a/refilc/build.bat
+++ b/refilc/build.bat
@@ -1 +1,19 @@
+@echo off
+
+' Firka legacy (formely "refilc"), the unofficial client for e-Kréta
+' Copyright (C) 2025 Firka team (QwIT development)
+'
+' This program is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Affero General Public License as
+' published by the Free Software Foundation, either version 3 of the
+' License, or (at your option) any later version.
+'
+' This program is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Affero General Public License for more details.
+'
+' You should have received a copy of the GNU Affero General Public License
+' along with this program. If not, see .
+
flutter build apk --release --tree-shake-icons --split-debug-info=debug-info --split-per-abi --target-platform android-arm,android-arm64 --obfuscate
\ No newline at end of file
diff --git a/refilc/build.sh b/refilc/build.sh
index 58ffa3d0..00565c07 100755
--- a/refilc/build.sh
+++ b/refilc/build.sh
@@ -1,6 +1,6 @@
#!/bin/sh
-# refilc, the unofficial client for e-Kréta
+# Firka legacy (formely "refilc"), the unofficial client for e-Kréta
# Copyright (C) 2025 Firka team (QwIT development)
#
# This program is free software: you can redistribute it and/or modify
diff --git a/refilc/lib/api/client.dart b/refilc/lib/api/client.dart
index 5c4f2090..c97dfd50 100644
--- a/refilc/lib/api/client.dart
+++ b/refilc/lib/api/client.dart
@@ -1,3 +1,21 @@
+/*
+ Firka legacy (formely "refilc"), the unofficial client for e-Kréta
+ Copyright (C) 2025 Firka team (QwIT development)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+*/
+
import 'dart:async';
import 'dart:convert';
import 'dart:developer';
diff --git a/refilc/lib/api/providers/ad_provider.dart b/refilc/lib/api/providers/ad_provider.dart
index 6b2908c7..e0829c2e 100644
--- a/refilc/lib/api/providers/ad_provider.dart
+++ b/refilc/lib/api/providers/ad_provider.dart
@@ -1,3 +1,21 @@
+/*
+ Firka legacy (formely "refilc"), the unofficial client for e-Kréta
+ Copyright (C) 2025 Firka team (QwIT development)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+*/
+
import 'package:refilc/models/ad.dart';
import 'package:flutter/material.dart';
diff --git a/refilc/lib/app.dart b/refilc/lib/app.dart
index 5f2d8010..3ece948d 100644
--- a/refilc/lib/app.dart
+++ b/refilc/lib/app.dart
@@ -1,3 +1,21 @@
+/*
+ Firka legacy (formely "refilc"), the unofficial client for e-Kréta
+ Copyright (C) 2025 Firka team (QwIT development)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+*/
+
// ignore_for_file: deprecated_member_use
import 'dart:io';
diff --git a/refilc/lib/main.dart b/refilc/lib/main.dart
index c7aeb5c1..e93ef6fc 100644
--- a/refilc/lib/main.dart
+++ b/refilc/lib/main.dart
@@ -1,3 +1,21 @@
+/*
+ Firka legacy (formely "refilc"), the unofficial client for e-Kréta
+ Copyright (C) 2025 Firka team (QwIT development)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+*/
+
import 'dart:io';
import 'package:background_fetch/background_fetch.dart';
@@ -310,7 +328,7 @@ Future initAdditionalBackgroundFetch() async {
print('[BackgroundFetch] configure success: $status');
}
BackgroundFetch.scheduleTask(TaskConfig(
- taskId: "com.transistorsoft.refilcliveactivity",
+ taskId: "com.transistorsoft.firkaliveactivity",
delay: 300000, // 5 minute
periodic: true,
forceAlarmManager: true,
diff --git a/refilc/lib/providers/third_party_provider.dart b/refilc/lib/providers/third_party_provider.dart
index ae05f66f..4ea2f23e 100644
--- a/refilc/lib/providers/third_party_provider.dart
+++ b/refilc/lib/providers/third_party_provider.dart
@@ -1,3 +1,21 @@
+/*
+ Firka legacy (formely "refilc"), the unofficial client for e-Kréta
+ Copyright (C) 2025 Firka team (QwIT development)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+*/
+
// ignore_for_file: use_build_context_synchronously
import 'package:refilc/models/linked_account.dart';
diff --git a/refilc_mobile_ui/lib/common/empty.dart b/refilc_mobile_ui/lib/common/empty.dart
index 5179a6c6..f08bee05 100644
--- a/refilc_mobile_ui/lib/common/empty.dart
+++ b/refilc_mobile_ui/lib/common/empty.dart
@@ -1,3 +1,21 @@
+/*
+ Firka legacy (formely "refilc"), the unofficial client for e-Kréta
+ Copyright (C) 2025 Firka team (QwIT development)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+*/
+
import 'dart:math';
import 'package:refilc/theme/colors/colors.dart';
diff --git a/refilc_mobile_ui/lib/pages/notes/notes_page.dart b/refilc_mobile_ui/lib/pages/notes/notes_page.dart
index d876d51c..96d2d98c 100644
--- a/refilc_mobile_ui/lib/pages/notes/notes_page.dart
+++ b/refilc_mobile_ui/lib/pages/notes/notes_page.dart
@@ -1,3 +1,21 @@
+/*
+ Firka legacy (formely "refilc"), the unofficial client for e-Kréta
+ Copyright (C) 2025 Firka team (QwIT development)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+*/
+
// ignore_for_file: no_leading_underscores_for_local_identifiers, use_build_context_synchronously
import 'dart:convert';
diff --git a/refilc_mobile_ui/lib/screens/login/kreten_login.dart b/refilc_mobile_ui/lib/screens/login/kreten_login.dart
index c203a75f..86657b2b 100644
--- a/refilc_mobile_ui/lib/screens/login/kreten_login.dart
+++ b/refilc_mobile_ui/lib/screens/login/kreten_login.dart
@@ -1,3 +1,21 @@
+/*
+ Firka legacy (formely "refilc"), the unofficial client for e-Kréta
+ Copyright (C) 2025 Firka team (QwIT development)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+*/
+
// ignore_for_file: use_build_context_synchronously
import 'package:flutter/material.dart';
diff --git a/refilc_mobile_ui/lib/screens/login/login_screen.dart b/refilc_mobile_ui/lib/screens/login/login_screen.dart
index c77a487d..f0f523a0 100644
--- a/refilc_mobile_ui/lib/screens/login/login_screen.dart
+++ b/refilc_mobile_ui/lib/screens/login/login_screen.dart
@@ -1,3 +1,21 @@
+/*
+ Firka legacy (formely "refilc"), the unofficial client for e-Kréta
+ Copyright (C) 2025 Firka team (QwIT development)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+*/
+
// import 'dart:async';
import 'dart:io' show Platform;
diff --git a/refilc_mobile_ui/lib/screens/settings/settings_screen.dart b/refilc_mobile_ui/lib/screens/settings/settings_screen.dart
index e582efc1..68b6f391 100644
--- a/refilc_mobile_ui/lib/screens/settings/settings_screen.dart
+++ b/refilc_mobile_ui/lib/screens/settings/settings_screen.dart
@@ -1,3 +1,21 @@
+/*
+ Firka legacy (formely "refilc"), the unofficial client for e-Kréta
+ Copyright (C) 2025 Firka team (QwIT development)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+*/
+
// ignore_for_file: no_leading_underscores_for_local_identifiers, use_build_context_synchronously, deprecated_member_use
import 'dart:convert';
diff --git a/refilc_mobile_ui/lib/screens/settings/submenu/extras_screen.dart b/refilc_mobile_ui/lib/screens/settings/submenu/extras_screen.dart
index 28dc1284..ba28d326 100644
--- a/refilc_mobile_ui/lib/screens/settings/submenu/extras_screen.dart
+++ b/refilc_mobile_ui/lib/screens/settings/submenu/extras_screen.dart
@@ -1,3 +1,21 @@
+/*
+ Firka legacy (formely "refilc"), the unofficial client for e-Kréta
+ Copyright (C) 2025 Firka team (QwIT development)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+*/
+
// import 'package:refilc/models/settings.dart';
import 'package:refilc/api/providers/user_provider.dart';
diff --git a/refilc_mobile_ui/lib/screens/settings/submenu/paint_list.dart b/refilc_mobile_ui/lib/screens/settings/submenu/paint_list.dart
index cd6d6925..a0f12465 100644
--- a/refilc_mobile_ui/lib/screens/settings/submenu/paint_list.dart
+++ b/refilc_mobile_ui/lib/screens/settings/submenu/paint_list.dart
@@ -1,3 +1,21 @@
+/*
+ Firka legacy (formely "refilc"), the unofficial client for e-Kréta
+ Copyright (C) 2025 Firka team (QwIT development)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+*/
+
// ignore_for_file: use_build_context_synchronously
import 'package:refilc/api/providers/user_provider.dart';
diff --git a/refilc_mobile_ui/lib/screens/settings/theme_screen.dart b/refilc_mobile_ui/lib/screens/settings/theme_screen.dart
index 9cc46e61..c4df3913 100644
--- a/refilc_mobile_ui/lib/screens/settings/theme_screen.dart
+++ b/refilc_mobile_ui/lib/screens/settings/theme_screen.dart
@@ -1,3 +1,21 @@
+/*
+ Firka legacy (formely "refilc"), the unofficial client for e-Kréta
+ Copyright (C) 2025 Firka team (QwIT development)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+*/
+
// ignore_for_file: use_build_context_synchronously, deprecated_member_use
import 'package:refilc/models/settings.dart';
diff --git a/refilc_plus/lib/api/auth.dart b/refilc_plus/lib/api/auth.dart
index 0c084061..0f2fc7ca 100644
--- a/refilc_plus/lib/api/auth.dart
+++ b/refilc_plus/lib/api/auth.dart
@@ -1,3 +1,21 @@
+/*
+ refilc+, but more stripped and more open source
+ Copyright (C) 2025 Firka team (QwIT development)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+*/
+
import 'dart:async';
import 'package:refilc/models/settings.dart';
diff --git a/refilc_plus/lib/ui/mobile/plus/settings_inline.dart b/refilc_plus/lib/ui/mobile/plus/settings_inline.dart
index f227baa2..9011c54f 100644
--- a/refilc_plus/lib/ui/mobile/plus/settings_inline.dart
+++ b/refilc_plus/lib/ui/mobile/plus/settings_inline.dart
@@ -1,3 +1,21 @@
+/*
+ refilc+, but more stripped and more open source
+ Copyright (C) 2025 Firka team (QwIT development)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+*/
+
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:refilc_plus/models/premium_scopes.dart';
diff --git a/refilc_plus/lib/ui/mobile/settings/modify_teacher_names.dart b/refilc_plus/lib/ui/mobile/settings/modify_teacher_names.dart
deleted file mode 100644
index 48daf08e..00000000
--- a/refilc_plus/lib/ui/mobile/settings/modify_teacher_names.dart
+++ /dev/null
@@ -1,452 +0,0 @@
-// import 'package:dropdown_button2/dropdown_button2.dart';
-// import 'package:refilc/api/providers/database_provider.dart';
-// import 'package:refilc/api/providers/user_provider.dart';
-// import 'package:refilc/models/settings.dart';
-// import 'package:refilc/theme/colors/colors.dart';
-// import 'package:refilc/utils/format.dart';
-// import 'package:refilc_kreta_api/models/teacher.dart';
-// import 'package:refilc_kreta_api/providers/absence_provider.dart';
-// import 'package:refilc_kreta_api/providers/grade_provider.dart';
-// import 'package:refilc_kreta_api/providers/timetable_provider.dart';
-// import 'package:refilc_mobile_ui/common/panel/panel.dart';
-// import 'package:refilc_mobile_ui/common/panel/panel_button.dart';
-// // import 'package:refilc_plus/models/premium_scopes.dart';
-// // import 'package:refilc_plus/providers/plus_provider.dart';
-// // import 'package:refilc_plus/ui/mobile/plus/upsell.dart';
-// import 'package:flutter/cupertino.dart';
-// import 'package:flutter/material.dart';
-// import 'package:flutter_feather_icons/flutter_feather_icons.dart';
-// import 'package:provider/provider.dart';
-// import 'package:refilc_mobile_ui/screens/settings/modify_names.i18n.dart';
-
-// class MenuRenamedTeachers extends StatelessWidget {
-// const MenuRenamedTeachers({Key? key, required this.settings})
-// : super(key: key);
-
-// final SettingsProvider settings;
-
-// @override
-// Widget build(BuildContext context) {
-// return PanelButton(
-// padding: const EdgeInsets.only(left: 14.0),
-// onPressed: () {
-// // if (!Provider.of(context, listen: false)
-// // .hasScope(PremiumScopes.renameTeachers)) {
-// // PlusLockedFeaturePopup.show(
-// // context: context, feature: PremiumFeature.teacherrename);
-// // return;
-// // }
-
-// Navigator.of(context, rootNavigator: true).push(
-// CupertinoPageRoute(builder: (context) => const ModifyTeacherNames()),
-// );
-// },
-// title: Text(
-// "rename_teachers".i18n,
-// style: TextStyle(
-// color: AppColors.of(context)
-// .text
-// .withOpacity(settings.renamedTeachersEnabled ? 1.0 : .5)),
-// ),
-// leading: settings.renamedTeachersEnabled
-// ? const Icon(FeatherIcons.users)
-// : Icon(FeatherIcons.users,
-// color: AppColors.of(context).text.withOpacity(.25)),
-// trailingDivider: true,
-// trailing: Switch(
-// onChanged: (v) async {
-// // if (!Provider.of(context, listen: false)
-// // .hasScope(PremiumScopes.renameTeachers)) {
-// // PlusLockedFeaturePopup.show(
-// // context: context, feature: PremiumFeature.teacherrename);
-// // return;
-// // }
-
-// settings.update(renamedTeachersEnabled: v);
-// await Provider.of(context, listen: false)
-// .convertBySettings();
-// await Provider.of(context, listen: false)
-// .convertBySettings();
-// await Provider.of(context, listen: false)
-// .convertBySettings();
-// },
-// value: settings.renamedTeachersEnabled,
-// activeColor: Theme.of(context).colorScheme.secondary,
-// ),
-// );
-// }
-// }
-
-// class ModifyTeacherNames extends StatefulWidget {
-// const ModifyTeacherNames({Key? key}) : super(key: key);
-
-// @override
-// State createState() => _ModifyTeacherNamesState();
-// }
-
-// class _ModifyTeacherNamesState extends State {
-// final GlobalKey _scaffoldKey = GlobalKey();
-// final _teacherName = TextEditingController();
-// String? selectedTeacherId;
-
-// late List teachers;
-// late UserProvider user;
-// late DatabaseProvider dbProvider;
-// late SettingsProvider settings;
-
-// @override
-// void initState() {
-// super.initState();
-// teachers = (Provider.of(context, listen: false)
-// .grades
-// .map((e) => e.teacher)
-// .toSet()
-// .toList()
-// ..sort((a, b) => a.name.compareTo(b.name)));
-// user = Provider.of(context, listen: false);
-// dbProvider = Provider.of(context, listen: false);
-// }
-
-// Future