Refactor codebase resolving warnings and remove self-package imports
This commit is contained in:
		
							
								
								
									
										8
									
								
								.idea/libraries/Dart_Packages.xml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										8
									
								
								.idea/libraries/Dart_Packages.xml
									
									
									
										generated
									
									
									
								
							@@ -744,6 +744,13 @@
 | 
			
		||||
            </list>
 | 
			
		||||
          </value>
 | 
			
		||||
        </entry>
 | 
			
		||||
        <entry key="photo_view">
 | 
			
		||||
          <value>
 | 
			
		||||
            <list>
 | 
			
		||||
              <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/photo_view-0.14.0/lib" />
 | 
			
		||||
            </list>
 | 
			
		||||
          </value>
 | 
			
		||||
        </entry>
 | 
			
		||||
        <entry key="platform">
 | 
			
		||||
          <value>
 | 
			
		||||
            <list>
 | 
			
		||||
@@ -1304,6 +1311,7 @@
 | 
			
		||||
      <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/pedantic-1.11.1/lib" />
 | 
			
		||||
      <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/persistent_bottom_nav_bar-5.0.2/lib" />
 | 
			
		||||
      <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/petitparser-5.4.0/lib" />
 | 
			
		||||
      <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/photo_view-0.14.0/lib" />
 | 
			
		||||
      <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/platform-3.1.0/lib" />
 | 
			
		||||
      <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.4/lib" />
 | 
			
		||||
      <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/pointycastle-3.7.3/lib" />
 | 
			
		||||
 
 | 
			
		||||
@@ -1,11 +1,11 @@
 | 
			
		||||
import 'dart:convert';
 | 
			
		||||
 | 
			
		||||
import 'package:http/http.dart' as http;
 | 
			
		||||
import 'package:http/src/response.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/talk/chat/getChatResponse.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/talk/talkApi.dart';
 | 
			
		||||
import 'package:http/http.dart';
 | 
			
		||||
 | 
			
		||||
import '../talkApi.dart';
 | 
			
		||||
import 'getChatParams.dart';
 | 
			
		||||
import 'getChatResponse.dart';
 | 
			
		||||
 | 
			
		||||
class GetChat extends TalkApi<GetChatResponse> {
 | 
			
		||||
  String chatToken;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,9 +1,9 @@
 | 
			
		||||
import 'dart:convert';
 | 
			
		||||
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/talk/chat/getChat.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/talk/chat/getChatParams.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/talk/chat/getChatResponse.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/requestCache.dart';
 | 
			
		||||
import '../../../requestCache.dart';
 | 
			
		||||
import 'getChat.dart';
 | 
			
		||||
import 'getChatParams.dart';
 | 
			
		||||
import 'getChatResponse.dart';
 | 
			
		||||
 | 
			
		||||
class GetChatCache extends RequestCache<GetChatResponse> {
 | 
			
		||||
  String chatToken;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
import 'package:json_annotation/json_annotation.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/apiParams.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../apiParams.dart';
 | 
			
		||||
 | 
			
		||||
part 'getChatParams.g.dart';
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,7 @@
 | 
			
		||||
import 'package:json_annotation/json_annotation.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/apiResponse.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/talk/room/getRoomResponse.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../apiResponse.dart';
 | 
			
		||||
import '../room/getRoomResponse.dart';
 | 
			
		||||
 | 
			
		||||
part 'getChatResponse.g.dart';
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/talk/chat/getChatResponse.dart';
 | 
			
		||||
import 'getChatResponse.dart';
 | 
			
		||||
 | 
			
		||||
class RichObjectStringProcessor {
 | 
			
		||||
  static String parseToString(String message, Map<String, RichObjectString>? data) {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,10 +1,10 @@
 | 
			
		||||
import 'dart:convert';
 | 
			
		||||
 | 
			
		||||
import 'package:http/http.dart' as http;
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/talk/room/getRoomResponse.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/talk/talkApi.dart';
 | 
			
		||||
 | 
			
		||||
import '../talkApi.dart';
 | 
			
		||||
import 'getRoomParams.dart';
 | 
			
		||||
import 'getRoomResponse.dart';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class GetRoom extends TalkApi<GetRoomResponse> {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,10 +1,10 @@
 | 
			
		||||
import 'dart:convert';
 | 
			
		||||
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/talk/room/getRoomParams.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/talk/room/getRoomResponse.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/requestCache.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../requestCache.dart';
 | 
			
		||||
import 'getRoom.dart';
 | 
			
		||||
import 'getRoomParams.dart';
 | 
			
		||||
import 'getRoomResponse.dart';
 | 
			
		||||
 | 
			
		||||
class GetRoomCache extends RequestCache<GetRoomResponse> {
 | 
			
		||||
  GetRoomCache({onUpdate, renew}) : super(RequestCache.cacheMinute, onUpdate, renew: renew) {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
import 'package:json_annotation/json_annotation.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/apiResponse.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../apiResponse.dart';
 | 
			
		||||
import '../chat/getChatResponse.dart';
 | 
			
		||||
 | 
			
		||||
part 'getRoomResponse.g.dart';
 | 
			
		||||
 
 | 
			
		||||
@@ -1,9 +1,9 @@
 | 
			
		||||
import 'package:http/http.dart' as http;
 | 
			
		||||
import 'package:http/src/response.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/talk/sendMessage/sendMessageParams.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/talk/talkApi.dart';
 | 
			
		||||
import 'package:http/http.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../apiParams.dart';
 | 
			
		||||
import '../talkApi.dart';
 | 
			
		||||
import 'sendMessageParams.dart';
 | 
			
		||||
 | 
			
		||||
class SendMessage extends TalkApi {
 | 
			
		||||
  String chatToken;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
import 'package:json_annotation/json_annotation.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/apiParams.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../apiParams.dart';
 | 
			
		||||
 | 
			
		||||
part 'sendMessageParams.g.dart';
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
import 'package:marianum_mobile/api/apiResponse.dart';
 | 
			
		||||
import '../../../apiResponse.dart';
 | 
			
		||||
 | 
			
		||||
class SendMessageResponse extends ApiResponse {
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,9 +1,9 @@
 | 
			
		||||
import 'package:http/http.dart' as http;
 | 
			
		||||
import 'package:marianum_mobile/api/apiError.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/apiRequest.dart';
 | 
			
		||||
import 'package:shared_preferences/shared_preferences.dart';
 | 
			
		||||
 | 
			
		||||
import '../../apiError.dart';
 | 
			
		||||
import '../../apiParams.dart';
 | 
			
		||||
import '../../apiRequest.dart';
 | 
			
		||||
 | 
			
		||||
enum TalkApiMethod {
 | 
			
		||||
  get,
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,8 @@
 | 
			
		||||
 | 
			
		||||
import 'package:marianum_mobile/api/apiResponse.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/webdav/queries/downloadFile/downloadFileParams.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/webdav/webdavApi.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../../apiResponse.dart';
 | 
			
		||||
import '../../webdavApi.dart';
 | 
			
		||||
import 'downloadFileParams.dart';
 | 
			
		||||
 | 
			
		||||
class DownloadFile extends WebdavApi<DownloadFileParams> {
 | 
			
		||||
  DownloadFileParams params;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
import 'package:json_annotation/json_annotation.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/apiParams.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../../apiParams.dart';
 | 
			
		||||
 | 
			
		||||
part 'downloadFileParams.g.dart';
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,10 +1,11 @@
 | 
			
		||||
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/webdav/queries/listFiles/cacheableFile.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/webdav/queries/listFiles/listFilesParams.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/webdav/queries/listFiles/listFilesResponse.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/webdav/webdavApi.dart';
 | 
			
		||||
import 'package:nextcloud/nextcloud.dart';
 | 
			
		||||
 | 
			
		||||
import '../../webdavApi.dart';
 | 
			
		||||
import 'cacheableFile.dart';
 | 
			
		||||
import 'listFilesParams.dart';
 | 
			
		||||
import 'listFilesResponse.dart';
 | 
			
		||||
 | 
			
		||||
class ListFiles extends WebdavApi<ListFilesParams> {
 | 
			
		||||
  ListFilesParams params;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,9 +1,10 @@
 | 
			
		||||
import 'dart:convert';
 | 
			
		||||
import 'package:crypto/crypto.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/webdav/queries/listFiles/listFiles.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/webdav/queries/listFiles/listFilesParams.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/webdav/queries/listFiles/listFilesResponse.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/requestCache.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../../requestCache.dart';
 | 
			
		||||
import 'listFiles.dart';
 | 
			
		||||
import 'listFilesParams.dart';
 | 
			
		||||
import 'listFilesResponse.dart';
 | 
			
		||||
 | 
			
		||||
class ListFilesCache extends RequestCache<ListFilesResponse> {
 | 
			
		||||
  String path;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
import 'package:json_annotation/json_annotation.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/apiResponse.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../../apiResponse.dart';
 | 
			
		||||
import 'cacheableFile.dart';
 | 
			
		||||
 | 
			
		||||
part 'listFilesResponse.g.dart';
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
import 'package:marianum_mobile/api/apiRequest.dart';
 | 
			
		||||
import 'package:nextcloud/nextcloud.dart';
 | 
			
		||||
import 'package:shared_preferences/shared_preferences.dart';
 | 
			
		||||
 | 
			
		||||
import '../../apiRequest.dart';
 | 
			
		||||
import '../../apiResponse.dart';
 | 
			
		||||
 | 
			
		||||
abstract class WebdavApi<T> extends ApiRequest {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,9 @@
 | 
			
		||||
import 'dart:convert';
 | 
			
		||||
 | 
			
		||||
import 'package:http/http.dart' as http;
 | 
			
		||||
import 'package:marianum_mobile/api/mhsl/message/getMessages/getMessagesResponse.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/mhsl/message/messageApi.dart';
 | 
			
		||||
 | 
			
		||||
import '../messageApi.dart';
 | 
			
		||||
import 'getMessagesResponse.dart';
 | 
			
		||||
 | 
			
		||||
class GetMessages extends MessageApi<GetMessagesResponse> {
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,9 +1,8 @@
 | 
			
		||||
import 'dart:convert';
 | 
			
		||||
 | 
			
		||||
import 'package:marianum_mobile/api/mhsl/message/getMessages/getMessagesResponse.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/requestCache.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../requestCache.dart';
 | 
			
		||||
import 'getMessages.dart';
 | 
			
		||||
import 'getMessagesResponse.dart';
 | 
			
		||||
 | 
			
		||||
class GetMessagesCache extends RequestCache<GetMessagesResponse> {
 | 
			
		||||
  GetMessagesCache({onUpdate, renew}) : super(RequestCache.cacheMinute, onUpdate, renew: renew) {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
import 'package:json_annotation/json_annotation.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/apiResponse.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../apiResponse.dart';
 | 
			
		||||
 | 
			
		||||
part 'getMessagesResponse.g.dart';
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,8 @@
 | 
			
		||||
import 'dart:convert';
 | 
			
		||||
 | 
			
		||||
import 'package:localstore/localstore.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/webuntis/webuntisError.dart';
 | 
			
		||||
 | 
			
		||||
import 'webuntis/webuntisError.dart';
 | 
			
		||||
 | 
			
		||||
abstract class RequestCache<T> {
 | 
			
		||||
  static const int cacheNothing = 0;
 | 
			
		||||
 
 | 
			
		||||
@@ -2,9 +2,9 @@ import 'dart:async';
 | 
			
		||||
import 'dart:convert';
 | 
			
		||||
import 'dart:developer';
 | 
			
		||||
 | 
			
		||||
import 'package:marianum_mobile/api/webuntis/webuntisApi.dart';
 | 
			
		||||
import 'package:shared_preferences/shared_preferences.dart';
 | 
			
		||||
 | 
			
		||||
import '../../webuntisApi.dart';
 | 
			
		||||
import 'authenticateParams.dart';
 | 
			
		||||
import 'authenticateResponse.dart';
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
import 'package:json_annotation/json_annotation.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/apiParams.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../apiParams.dart';
 | 
			
		||||
 | 
			
		||||
part 'authenticateParams.g.dart';
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
import 'package:json_annotation/json_annotation.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/apiResponse.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../apiResponse.dart';
 | 
			
		||||
 | 
			
		||||
part 'authenticateResponse.g.dart';
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,6 @@
 | 
			
		||||
import 'dart:convert';
 | 
			
		||||
 | 
			
		||||
import 'package:marianum_mobile/api/webuntis/webuntisApi.dart';
 | 
			
		||||
 | 
			
		||||
import '../../webuntisApi.dart';
 | 
			
		||||
import 'getHolidaysResponse.dart';
 | 
			
		||||
 | 
			
		||||
class GetHolidays extends WebuntisApi {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
import 'dart:convert';
 | 
			
		||||
 | 
			
		||||
import 'package:marianum_mobile/api/requestCache.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/webuntis/queries/getHolidays/getHolidays.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/webuntis/queries/getHolidays/getHolidaysResponse.dart';
 | 
			
		||||
import '../../../requestCache.dart';
 | 
			
		||||
import 'getHolidays.dart';
 | 
			
		||||
import 'getHolidaysResponse.dart';
 | 
			
		||||
 | 
			
		||||
class GetHolidaysCache extends RequestCache<GetHolidaysResponse> {
 | 
			
		||||
  GetHolidaysCache({onUpdate}) : super(RequestCache.cacheDay, onUpdate) {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
import 'package:json_annotation/json_annotation.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/apiResponse.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../apiResponse.dart';
 | 
			
		||||
 | 
			
		||||
part 'getHolidaysResponse.g.dart';
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,6 @@
 | 
			
		||||
import 'dart:convert';
 | 
			
		||||
 | 
			
		||||
import 'package:marianum_mobile/api/webuntis/webuntisApi.dart';
 | 
			
		||||
 | 
			
		||||
import '../../webuntisApi.dart';
 | 
			
		||||
import 'getRoomsResponse.dart';
 | 
			
		||||
 | 
			
		||||
class GetRooms extends WebuntisApi {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,9 +1,8 @@
 | 
			
		||||
import 'dart:convert';
 | 
			
		||||
 | 
			
		||||
import 'package:marianum_mobile/api/requestCache.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/webuntis/queries/getRooms/getRoomsResponse.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../requestCache.dart';
 | 
			
		||||
import 'getRooms.dart';
 | 
			
		||||
import 'getRoomsResponse.dart';
 | 
			
		||||
 | 
			
		||||
class GetRoomsCache extends RequestCache<GetRoomsResponse> {
 | 
			
		||||
  GetRoomsCache({onUpdate}) : super(RequestCache.cacheHour, onUpdate) {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
import 'package:json_annotation/json_annotation.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/apiResponse.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../apiResponse.dart';
 | 
			
		||||
 | 
			
		||||
part 'getRoomsResponse.g.dart';
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,6 @@
 | 
			
		||||
import 'dart:convert';
 | 
			
		||||
 | 
			
		||||
import 'package:marianum_mobile/api/webuntis/webuntisApi.dart';
 | 
			
		||||
 | 
			
		||||
import '../../webuntisApi.dart';
 | 
			
		||||
import 'getSubjectsResponse.dart';
 | 
			
		||||
 | 
			
		||||
class GetSubjects extends WebuntisApi {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,9 +1,8 @@
 | 
			
		||||
import 'dart:convert';
 | 
			
		||||
 | 
			
		||||
import 'package:marianum_mobile/api/requestCache.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/webuntis/queries/getSubjects/getSubjectsResponse.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../requestCache.dart';
 | 
			
		||||
import 'getSubjects.dart';
 | 
			
		||||
import 'getSubjectsResponse.dart';
 | 
			
		||||
 | 
			
		||||
class GetSubjectsCache extends RequestCache<GetSubjectsResponse> {
 | 
			
		||||
  GetSubjectsCache({onUpdate}) : super(RequestCache.cacheHour, onUpdate) {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
import 'package:json_annotation/json_annotation.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/apiResponse.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../apiResponse.dart';
 | 
			
		||||
 | 
			
		||||
part 'getSubjectsResponse.g.dart';
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,6 @@
 | 
			
		||||
import 'dart:convert';
 | 
			
		||||
 | 
			
		||||
import 'package:marianum_mobile/api/webuntis/webuntisApi.dart';
 | 
			
		||||
 | 
			
		||||
import '../../webuntisApi.dart';
 | 
			
		||||
import 'getTimetableParams.dart';
 | 
			
		||||
import 'getTimetableResponse.dart';
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,6 @@
 | 
			
		||||
import 'dart:convert';
 | 
			
		||||
 | 
			
		||||
import 'package:marianum_mobile/api/requestCache.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../requestCache.dart';
 | 
			
		||||
import '../authenticate/authenticate.dart';
 | 
			
		||||
import 'getTimetable.dart';
 | 
			
		||||
import 'getTimetableParams.dart';
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
import 'package:json_annotation/json_annotation.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/apiParams.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../apiParams.dart';
 | 
			
		||||
 | 
			
		||||
part 'getTimetableParams.g.dart';
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
import 'package:json_annotation/json_annotation.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/apiResponse.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../apiResponse.dart';
 | 
			
		||||
 | 
			
		||||
part 'getTimetableResponse.g.dart';
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,11 +1,11 @@
 | 
			
		||||
import 'dart:convert';
 | 
			
		||||
import 'package:marianum_mobile/api/apiRequest.dart';
 | 
			
		||||
import 'package:http/http.dart' as http;
 | 
			
		||||
import 'package:marianum_mobile/api/webuntis/webuntisError.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/apiResponse.dart';
 | 
			
		||||
 | 
			
		||||
import '../apiParams.dart';
 | 
			
		||||
import '../apiRequest.dart';
 | 
			
		||||
import '../apiResponse.dart';
 | 
			
		||||
import 'queries/authenticate/authenticate.dart';
 | 
			
		||||
import 'webuntisError.dart';
 | 
			
		||||
 | 
			
		||||
abstract class WebuntisApi extends ApiRequest {
 | 
			
		||||
  Uri endpoint = Uri.parse("https://peleus.webuntis.com/WebUntis/jsonrpc.do?school=marianum-fulda");
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										14
									
								
								lib/app.dart
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								lib/app.dart
									
									
									
									
									
								
							@@ -2,16 +2,16 @@
 | 
			
		||||
import 'dart:async';
 | 
			
		||||
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
import 'package:marianum_mobile/data/chatList/chatListProps.dart';
 | 
			
		||||
import 'package:marianum_mobile/screen/pages/timetable/timetable.dart';
 | 
			
		||||
import 'package:persistent_bottom_nav_bar/persistent_tab_view.dart';
 | 
			
		||||
import 'package:provider/provider.dart';
 | 
			
		||||
import 'screen/pages/files/files.dart';
 | 
			
		||||
import 'screen/pages/more/overhang.dart';
 | 
			
		||||
import 'screen/pages/talk/chatList.dart';
 | 
			
		||||
 | 
			
		||||
import 'package:badges/badges.dart' as badges;
 | 
			
		||||
 | 
			
		||||
import 'model/chatList/chatListProps.dart';
 | 
			
		||||
import 'view/pages/files/files.dart';
 | 
			
		||||
import 'view/pages/more/overhang.dart';
 | 
			
		||||
import 'view/pages/talk/chatList.dart';
 | 
			
		||||
import 'view/pages/timetable/timetable.dart';
 | 
			
		||||
 | 
			
		||||
class App extends StatefulWidget {
 | 
			
		||||
  const App({Key? key}) : super(key: key);
 | 
			
		||||
 | 
			
		||||
@@ -74,7 +74,7 @@ class _AppState extends State<App> {
 | 
			
		||||
                position: badges.BadgePosition.topEnd(top: -3, end: -3),
 | 
			
		||||
                stackFit: StackFit.loose,
 | 
			
		||||
                badgeStyle: badges.BadgeStyle(
 | 
			
		||||
                  padding: EdgeInsets.all(3),
 | 
			
		||||
                  padding: const EdgeInsets.all(3),
 | 
			
		||||
                  badgeColor: Theme.of(context).primaryColor,
 | 
			
		||||
                  elevation: 1,
 | 
			
		||||
                ),
 | 
			
		||||
 
 | 
			
		||||
@@ -3,22 +3,22 @@ import 'dart:io';
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
import 'package:flutter/services.dart';
 | 
			
		||||
import 'package:jiffy/jiffy.dart';
 | 
			
		||||
import 'package:marianum_mobile/data/appTheme.dart';
 | 
			
		||||
import 'package:marianum_mobile/data/timetable/timetableProps.dart';
 | 
			
		||||
import 'package:marianum_mobile/screen/login/login.dart';
 | 
			
		||||
import 'package:marianum_mobile/theming/darkAppTheme.dart';
 | 
			
		||||
import 'package:marianum_mobile/theming/lightAppTheme.dart';
 | 
			
		||||
import 'package:marianum_mobile/widget/errorView.dart';
 | 
			
		||||
import 'package:provider/provider.dart';
 | 
			
		||||
import 'package:shared_preferences/shared_preferences.dart';
 | 
			
		||||
import 'package:flutter_localizations/flutter_localizations.dart';
 | 
			
		||||
 | 
			
		||||
import 'app.dart';
 | 
			
		||||
import 'data/chatList/chatListProps.dart';
 | 
			
		||||
import 'data/chatList/chatProps.dart';
 | 
			
		||||
import 'data/accountModel.dart';
 | 
			
		||||
import 'data/files/filesProps.dart';
 | 
			
		||||
import 'data/message/messageProps.dart';
 | 
			
		||||
import 'model/accountModel.dart';
 | 
			
		||||
import 'model/appTheme.dart';
 | 
			
		||||
import 'model/chatList/chatListProps.dart';
 | 
			
		||||
import 'model/chatList/chatProps.dart';
 | 
			
		||||
import 'model/files/filesProps.dart';
 | 
			
		||||
import 'model/message/messageProps.dart';
 | 
			
		||||
import 'model/timetable/timetableProps.dart';
 | 
			
		||||
import 'theming/darkAppTheme.dart';
 | 
			
		||||
import 'theming/lightAppTheme.dart';
 | 
			
		||||
import 'view/login/login.dart';
 | 
			
		||||
import 'widget/errorView.dart';
 | 
			
		||||
 | 
			
		||||
Future<void> main() async {
 | 
			
		||||
  WidgetsFlutterBinding.ensureInitialized();
 | 
			
		||||
 
 | 
			
		||||
@@ -1,9 +1,8 @@
 | 
			
		||||
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/talk/room/getRoomCache.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/talk/room/getRoomResponse.dart';
 | 
			
		||||
import 'package:marianum_mobile/data/dataHolder.dart';
 | 
			
		||||
 | 
			
		||||
import '../../api/apiResponse.dart';
 | 
			
		||||
import '../../api/marianumcloud/talk/room/getRoomCache.dart';
 | 
			
		||||
import '../../api/marianumcloud/talk/room/getRoomResponse.dart';
 | 
			
		||||
import '../dataHolder.dart';
 | 
			
		||||
 | 
			
		||||
class ChatListProps extends DataHolder {
 | 
			
		||||
  GetRoomResponse? _getRoomResponse;
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
import 'package:marianum_mobile/api/apiResponse.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/talk/chat/getChatCache.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/talk/chat/getChatResponse.dart';
 | 
			
		||||
import 'package:marianum_mobile/data/dataHolder.dart';
 | 
			
		||||
import '../../api/apiResponse.dart';
 | 
			
		||||
import '../../api/marianumcloud/talk/chat/getChatCache.dart';
 | 
			
		||||
import '../../api/marianumcloud/talk/chat/getChatResponse.dart';
 | 
			
		||||
import '../dataHolder.dart';
 | 
			
		||||
 | 
			
		||||
class ChatProps extends DataHolder {
 | 
			
		||||
  String _queryToken = "";
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
 | 
			
		||||
import 'package:marianum_mobile/api/apiResponse.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/webdav/queries/listFiles/listFilesCache.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/webdav/queries/listFiles/listFilesResponse.dart';
 | 
			
		||||
import 'package:marianum_mobile/data/dataHolder.dart';
 | 
			
		||||
import '../../api/apiResponse.dart';
 | 
			
		||||
import '../../api/marianumcloud/webdav/queries/listFiles/listFilesCache.dart';
 | 
			
		||||
import '../../api/marianumcloud/webdav/queries/listFiles/listFilesResponse.dart';
 | 
			
		||||
import '../dataHolder.dart';
 | 
			
		||||
 | 
			
		||||
extension ExtendedList on List {
 | 
			
		||||
  T indexOrNull<T>(int index) =>  index +1 <= length ? this[index] : null;
 | 
			
		||||
@@ -1,9 +1,8 @@
 | 
			
		||||
 | 
			
		||||
import 'package:marianum_mobile/api/mhsl/message/getMessages/getMessagesCache.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/mhsl/message/getMessages/getMessagesResponse.dart';
 | 
			
		||||
import 'package:marianum_mobile/data/dataHolder.dart';
 | 
			
		||||
 | 
			
		||||
import '../../api/apiResponse.dart';
 | 
			
		||||
import '../../api/mhsl/message/getMessages/getMessagesCache.dart';
 | 
			
		||||
import '../../api/mhsl/message/getMessages/getMessagesResponse.dart';
 | 
			
		||||
import '../dataHolder.dart';
 | 
			
		||||
 | 
			
		||||
class MessageProps extends DataHolder {
 | 
			
		||||
  GetMessagesResponse? _getMessagesResponse;
 | 
			
		||||
@@ -1,17 +1,16 @@
 | 
			
		||||
 | 
			
		||||
import 'package:intl/intl.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/apiResponse.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/webuntis/queries/getHolidays/getHolidaysCache.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/webuntis/queries/getHolidays/getHolidaysResponse.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/webuntis/queries/getRooms/getRoomsCache.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/webuntis/queries/getRooms/getRoomsResponse.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/webuntis/queries/getSubjects/getSubjectsCache.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/webuntis/queries/getSubjects/getSubjectsResponse.dart';
 | 
			
		||||
import 'package:marianum_mobile/data/dataHolder.dart';
 | 
			
		||||
 | 
			
		||||
import '../../api/apiResponse.dart';
 | 
			
		||||
import '../../api/webuntis/queries/getHolidays/getHolidaysCache.dart';
 | 
			
		||||
import '../../api/webuntis/queries/getHolidays/getHolidaysResponse.dart';
 | 
			
		||||
import '../../api/webuntis/queries/getRooms/getRoomsCache.dart';
 | 
			
		||||
import '../../api/webuntis/queries/getRooms/getRoomsResponse.dart';
 | 
			
		||||
import '../../api/webuntis/queries/getSubjects/getSubjectsCache.dart';
 | 
			
		||||
import '../../api/webuntis/queries/getSubjects/getSubjectsResponse.dart';
 | 
			
		||||
import '../../api/webuntis/queries/getTimetable/getTimetableCache.dart';
 | 
			
		||||
import '../../api/webuntis/queries/getTimetable/getTimetableResponse.dart';
 | 
			
		||||
import '../../api/webuntis/webuntisError.dart';
 | 
			
		||||
import '../dataHolder.dart';
 | 
			
		||||
 | 
			
		||||
extension DateTimeExtension on DateTime {
 | 
			
		||||
  DateTime jumpToNextWeekDay(int day) {
 | 
			
		||||
@@ -3,14 +3,14 @@ import 'dart:developer';
 | 
			
		||||
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
import 'package:flutter_login/flutter_login.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/apiError.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/webuntis/webuntisError.dart';
 | 
			
		||||
import 'package:provider/provider.dart';
 | 
			
		||||
import 'package:shared_preferences/shared_preferences.dart';
 | 
			
		||||
 | 
			
		||||
import '../../api/apiError.dart';
 | 
			
		||||
import '../../api/webuntis/queries/authenticate/authenticateParams.dart';
 | 
			
		||||
import '../../api/webuntis/queries/authenticate/authenticate.dart';
 | 
			
		||||
import '../../data/accountModel.dart';
 | 
			
		||||
import '../../api/webuntis/webuntisError.dart';
 | 
			
		||||
import '../../model/accountModel.dart';
 | 
			
		||||
 | 
			
		||||
class Login extends StatefulWidget {
 | 
			
		||||
  const Login({Key? key}) : super(key: key);
 | 
			
		||||
@@ -4,16 +4,15 @@ import 'dart:io';
 | 
			
		||||
import 'package:better_open_file/better_open_file.dart';
 | 
			
		||||
import 'package:filesize/filesize.dart';
 | 
			
		||||
import 'package:flowder/flowder.dart';
 | 
			
		||||
import 'package:flutter/cupertino.dart';
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
import 'package:jiffy/jiffy.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/webdav/queries/listFiles/cacheableFile.dart';
 | 
			
		||||
import 'package:marianum_mobile/screen/pages/files/files.dart';
 | 
			
		||||
import 'package:marianum_mobile/widget/confirmDialog.dart';
 | 
			
		||||
import 'package:marianum_mobile/widget/unimplementedDialog.dart';
 | 
			
		||||
import 'package:path_provider/path_provider.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../api/marianumcloud/webdav/queries/listFiles/cacheableFile.dart';
 | 
			
		||||
import '../../../api/marianumcloud/webdav/webdavApi.dart';
 | 
			
		||||
import '../../../widget/confirmDialog.dart';
 | 
			
		||||
import '../../../widget/unimplementedDialog.dart';
 | 
			
		||||
import 'files.dart';
 | 
			
		||||
 | 
			
		||||
class FileElement extends StatefulWidget {
 | 
			
		||||
  final CacheableFile file;
 | 
			
		||||
@@ -4,13 +4,13 @@ import 'dart:io';
 | 
			
		||||
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
import 'package:loader_overlay/loader_overlay.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/webdav/queries/listFiles/cacheableFile.dart';
 | 
			
		||||
import 'package:marianum_mobile/widget/errorView.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../api/marianumcloud/webdav/queries/listFiles/cacheableFile.dart';
 | 
			
		||||
import '../../../api/marianumcloud/webdav/queries/listFiles/listFilesCache.dart';
 | 
			
		||||
import '../../../api/marianumcloud/webdav/queries/listFiles/listFilesResponse.dart';
 | 
			
		||||
import '../../../api/marianumcloud/webdav/webdavApi.dart';
 | 
			
		||||
import '../../../data/files/filesProps.dart';
 | 
			
		||||
import '../../../model/files/filesProps.dart';
 | 
			
		||||
import '../../../widget/errorView.dart';
 | 
			
		||||
import '../../../widget/filePick.dart';
 | 
			
		||||
import 'fileUploadDialog.dart';
 | 
			
		||||
import 'fileElement.dart';
 | 
			
		||||
@@ -14,11 +14,11 @@ class _AddTimerDialogState extends State<AddTimerDialog> {
 | 
			
		||||
  @override
 | 
			
		||||
  Widget build(BuildContext context) {
 | 
			
		||||
    return AlertDialog(
 | 
			
		||||
      title: Text("Timer hinzufügen"),
 | 
			
		||||
      title: const Text("Timer hinzufügen"),
 | 
			
		||||
      content: Column(
 | 
			
		||||
        mainAxisSize: MainAxisSize.min,
 | 
			
		||||
        children: [
 | 
			
		||||
          TextField(
 | 
			
		||||
          const TextField(
 | 
			
		||||
            decoration: InputDecoration(
 | 
			
		||||
              labelText: "Timer Name"
 | 
			
		||||
            ),
 | 
			
		||||
@@ -32,7 +32,7 @@ class _AddTimerDialogState extends State<AddTimerDialog> {
 | 
			
		||||
              selected = selectedDate;
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
          }, child: Text("Datum auswählen")),
 | 
			
		||||
          }, child: const Text("Datum auswählen")),
 | 
			
		||||
 | 
			
		||||
          TextButton(onPressed: () async {
 | 
			
		||||
            TimeOfDay? selectedTime = await showTimePicker(context: context, initialTime: TimeOfDay.fromDateTime(DateTime.now()));
 | 
			
		||||
@@ -41,7 +41,7 @@ class _AddTimerDialogState extends State<AddTimerDialog> {
 | 
			
		||||
            setState(() {
 | 
			
		||||
              selected = selected.copyWith(hour: selectedTime.hour, minute: selectedTime.minute);
 | 
			
		||||
            });
 | 
			
		||||
          }, child: Text("Zeit auswählen")),
 | 
			
		||||
          }, child: const Text("Zeit auswählen")),
 | 
			
		||||
 | 
			
		||||
          Text(selected.toString())
 | 
			
		||||
        ],
 | 
			
		||||
@@ -49,10 +49,10 @@ class _AddTimerDialogState extends State<AddTimerDialog> {
 | 
			
		||||
      actions: [
 | 
			
		||||
        TextButton(onPressed: () {
 | 
			
		||||
          Navigator.of(context).pop();
 | 
			
		||||
        }, child: Text("Abbrechen")),
 | 
			
		||||
        }, child: const Text("Abbrechen")),
 | 
			
		||||
        TextButton(onPressed: () {
 | 
			
		||||
          // TODO add timer
 | 
			
		||||
        }, child: Text("Hinzufügen")),
 | 
			
		||||
        }, child: const Text("Hinzufügen")),
 | 
			
		||||
      ],
 | 
			
		||||
    );
 | 
			
		||||
  }
 | 
			
		||||
@@ -46,7 +46,7 @@ class _AnimatedTimeState extends State<AnimatedTime> {
 | 
			
		||||
  AnimatedDigitWidget buildWidget(int value) {
 | 
			
		||||
    return AnimatedDigitWidget(
 | 
			
		||||
      value: value,
 | 
			
		||||
      duration: Duration(milliseconds: 100),
 | 
			
		||||
      duration: const Duration(milliseconds: 100),
 | 
			
		||||
      textStyle: const TextStyle(fontSize: 15),
 | 
			
		||||
    );
 | 
			
		||||
  }
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
import 'package:flutter/cupertino.dart';
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
import 'package:marianum_mobile/screen/pages/more/countdown/addTimerDialog.dart';
 | 
			
		||||
import 'package:marianum_mobile/screen/pages/more/countdown/timer.dart';
 | 
			
		||||
 | 
			
		||||
import 'addTimerDialog.dart';
 | 
			
		||||
import 'timer.dart';
 | 
			
		||||
 | 
			
		||||
class Countdown extends StatefulWidget {
 | 
			
		||||
  const Countdown({Key? key}) : super(key: key);
 | 
			
		||||
@@ -30,14 +30,14 @@ class _CountdownState extends State<Countdown> {
 | 
			
		||||
        title: const Text("Countdown"),
 | 
			
		||||
        actions: [
 | 
			
		||||
          IconButton(onPressed: () {
 | 
			
		||||
            showDialog(context: context, builder: (context) => AddTimerDialog());
 | 
			
		||||
            showDialog(context: context, builder: (context) => const AddTimerDialog());
 | 
			
		||||
          }, icon: const Icon(Icons.add)),
 | 
			
		||||
        ],
 | 
			
		||||
      ),
 | 
			
		||||
      body: ReorderableListView(
 | 
			
		||||
        shrinkWrap: true,
 | 
			
		||||
        footer: Container(
 | 
			
		||||
          padding: EdgeInsets.only(top: 30),
 | 
			
		||||
          padding: const EdgeInsets.only(top: 30),
 | 
			
		||||
          child: Center(
 | 
			
		||||
            child: Text("Halte und Ziehe ein Element um es umzusortieren.", style: TextStyle(color: Theme.of(context).disabledColor)),
 | 
			
		||||
          ),
 | 
			
		||||
@@ -1,6 +1,7 @@
 | 
			
		||||
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
import 'package:marianum_mobile/screen/pages/more/countdown/animatedTime.dart';
 | 
			
		||||
 | 
			
		||||
import 'animatedTime.dart';
 | 
			
		||||
 | 
			
		||||
class Timer extends StatefulWidget {
 | 
			
		||||
  final DateTime target;
 | 
			
		||||
@@ -36,7 +37,7 @@ class _TimerState extends State<Timer> {
 | 
			
		||||
        children: [
 | 
			
		||||
          if(!isLocal) Row(
 | 
			
		||||
            children: [
 | 
			
		||||
              Text("5"),
 | 
			
		||||
              const Text("5"),
 | 
			
		||||
              IconButton(onPressed: () {
 | 
			
		||||
 | 
			
		||||
              }, icon: const Icon(Icons.thumb_up_outlined)),
 | 
			
		||||
@@ -1,10 +1,11 @@
 | 
			
		||||
import 'package:flutter/cupertino.dart';
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/mhsl/message/getMessages/getMessagesResponse.dart';
 | 
			
		||||
import 'package:marianum_mobile/screen/pages/more/message/messageView.dart';
 | 
			
		||||
import 'package:provider/provider.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../../data/message/messageProps.dart';
 | 
			
		||||
import '../../../../api/mhsl/message/getMessages/getMessagesResponse.dart';
 | 
			
		||||
import '../../../../model/message/messageProps.dart';
 | 
			
		||||
import 'messageView.dart';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Message extends StatefulWidget {
 | 
			
		||||
  const Message({Key? key}) : super(key: key);
 | 
			
		||||
@@ -1,8 +1,9 @@
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/mhsl/message/getMessages/getMessagesResponse.dart';
 | 
			
		||||
import 'package:syncfusion_flutter_pdfviewer/pdfviewer.dart';
 | 
			
		||||
import 'package:url_launcher/url_launcher.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../../api/mhsl/message/getMessages/getMessagesResponse.dart';
 | 
			
		||||
 | 
			
		||||
class MessageView extends StatefulWidget {
 | 
			
		||||
  final String basePath;
 | 
			
		||||
  final GetMessagesResponseObject message;
 | 
			
		||||
@@ -1,14 +1,14 @@
 | 
			
		||||
 | 
			
		||||
import 'package:flutter/foundation.dart';
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
import 'package:marianum_mobile/screen/pages/more/countdown/countdown.dart';
 | 
			
		||||
import 'package:marianum_mobile/screen/pages/more/gradeAverages/gradeAverage.dart';
 | 
			
		||||
import 'package:marianum_mobile/screen/pages/more/roomplan/roomplan.dart';
 | 
			
		||||
import 'package:marianum_mobile/screen/settings/settings.dart';
 | 
			
		||||
import 'package:persistent_bottom_nav_bar/persistent_tab_view.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../widget/ListItem.dart';
 | 
			
		||||
import '../../settings/settings.dart';
 | 
			
		||||
import 'countdown/countdown.dart';
 | 
			
		||||
import 'gradeAverages/gradeAverage.dart';
 | 
			
		||||
import 'message/message.dart';
 | 
			
		||||
import 'roomplan/roomplan.dart';
 | 
			
		||||
 | 
			
		||||
class Overhang extends StatelessWidget {
 | 
			
		||||
  const Overhang({Key? key}) : super(key: key);
 | 
			
		||||
@@ -1,14 +1,13 @@
 | 
			
		||||
import 'package:better_open_file/better_open_file.dart';
 | 
			
		||||
import 'package:bubble/bubble.dart';
 | 
			
		||||
import 'package:flowder/flowder.dart';
 | 
			
		||||
import 'package:flutter/cupertino.dart';
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
import 'package:flutter/services.dart';
 | 
			
		||||
import 'package:jiffy/jiffy.dart';
 | 
			
		||||
import 'package:marianum_mobile/data/appTheme.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../api/marianumcloud/talk/chat/getChatResponse.dart';
 | 
			
		||||
import '../../../api/marianumcloud/talk/room/getRoomResponse.dart';
 | 
			
		||||
import '../../../model/appTheme.dart';
 | 
			
		||||
import '../../settings/debug/jsonViewer.dart';
 | 
			
		||||
import '../files/fileElement.dart';
 | 
			
		||||
import 'chatMessage.dart';
 | 
			
		||||
@@ -2,14 +2,14 @@
 | 
			
		||||
import 'dart:async';
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
import 'package:jiffy/jiffy.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/talk/chat/richObjectStringProcessor.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/talk/room/getRoomResponse.dart';
 | 
			
		||||
import 'package:marianum_mobile/data/chatList/chatListProps.dart';
 | 
			
		||||
import 'package:marianum_mobile/widget/unimplementedDialog.dart';
 | 
			
		||||
import 'package:persistent_bottom_nav_bar/persistent_tab_view.dart';
 | 
			
		||||
import 'package:provider/provider.dart';
 | 
			
		||||
import 'package:shared_preferences/shared_preferences.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../api/marianumcloud/talk/chat/richObjectStringProcessor.dart';
 | 
			
		||||
import '../../../api/marianumcloud/talk/room/getRoomResponse.dart';
 | 
			
		||||
import '../../../model/chatList/chatListProps.dart';
 | 
			
		||||
import '../../../widget/unimplementedDialog.dart';
 | 
			
		||||
import 'chatView.dart';
 | 
			
		||||
 | 
			
		||||
class ChatList extends StatefulWidget {
 | 
			
		||||
@@ -3,11 +3,11 @@ import 'dart:convert';
 | 
			
		||||
import 'package:cached_network_image/cached_network_image.dart';
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
import 'package:flutter_linkify/flutter_linkify.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/talk/chat/richObjectStringProcessor.dart';
 | 
			
		||||
import 'package:shared_preferences/shared_preferences.dart';
 | 
			
		||||
import 'package:url_launcher/url_launcher_string.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../api/marianumcloud/talk/chat/getChatResponse.dart';
 | 
			
		||||
import '../../../api/marianumcloud/talk/chat/richObjectStringProcessor.dart';
 | 
			
		||||
 | 
			
		||||
class ChatMessage {
 | 
			
		||||
  String originalMessage;
 | 
			
		||||
@@ -3,16 +3,16 @@ import 'dart:io';
 | 
			
		||||
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
import 'package:loader_overlay/loader_overlay.dart';
 | 
			
		||||
import 'package:marianum_mobile/widget/filePick.dart';
 | 
			
		||||
import 'package:provider/provider.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../api/marianumcloud/talk/sendMessage/sendMessage.dart';
 | 
			
		||||
import '../../../api/marianumcloud/talk/sendMessage/sendMessageParams.dart';
 | 
			
		||||
import '../../../data/chatList/chatProps.dart';
 | 
			
		||||
import '../../../model/chatList/chatProps.dart';
 | 
			
		||||
import '../../../widget/filePick.dart';
 | 
			
		||||
 | 
			
		||||
class ChatTextfield extends StatefulWidget {
 | 
			
		||||
  String sendToToken;
 | 
			
		||||
  ChatTextfield(this.sendToToken, {Key? key}) : super(key: key);
 | 
			
		||||
  final String sendToToken;
 | 
			
		||||
  const ChatTextfield(this.sendToToken, {Key? key}) : super(key: key);
 | 
			
		||||
 | 
			
		||||
  @override
 | 
			
		||||
  State<ChatTextfield> createState() => _ChatTextfieldState();
 | 
			
		||||
@@ -2,14 +2,15 @@
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
import 'package:jiffy/jiffy.dart';
 | 
			
		||||
import 'package:loader_overlay/loader_overlay.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/talk/chat/getChatResponse.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/marianumcloud/talk/room/getRoomResponse.dart';
 | 
			
		||||
import 'package:marianum_mobile/data/appTheme.dart';
 | 
			
		||||
import 'package:marianum_mobile/data/chatList/chatProps.dart';
 | 
			
		||||
import 'package:marianum_mobile/screen/pages/talk/chatBubble.dart';
 | 
			
		||||
import 'package:marianum_mobile/screen/pages/talk/chatTextfield.dart';
 | 
			
		||||
import 'package:provider/provider.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../api/marianumcloud/talk/chat/getChatResponse.dart';
 | 
			
		||||
import '../../../api/marianumcloud/talk/room/getRoomResponse.dart';
 | 
			
		||||
import '../../../model/appTheme.dart';
 | 
			
		||||
import '../../../model/chatList/chatProps.dart';
 | 
			
		||||
import 'chatBubble.dart';
 | 
			
		||||
import 'chatTextfield.dart';
 | 
			
		||||
 | 
			
		||||
class ChatView extends StatefulWidget {
 | 
			
		||||
  final GetRoomResponseObject room;
 | 
			
		||||
  final String selfId;
 | 
			
		||||
@@ -1,4 +1,3 @@
 | 
			
		||||
import 'package:flutter/cupertino.dart';
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
 | 
			
		||||
class CrossPainter extends CustomPainter {
 | 
			
		||||
@@ -8,7 +7,7 @@ class CrossPainter extends CustomPainter {
 | 
			
		||||
      ..color = Colors.red.withAlpha(200)
 | 
			
		||||
      ..strokeWidth = 2.0;
 | 
			
		||||
 | 
			
		||||
    canvas.drawLine(Offset(0, 0), Offset(size.width, size.height), paint);
 | 
			
		||||
    canvas.drawLine(const Offset(0, 0), Offset(size.width, size.height), paint);
 | 
			
		||||
    canvas.drawLine(Offset(size.width, 0), Offset(0, size.height), paint);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@@ -1,10 +1,10 @@
 | 
			
		||||
 | 
			
		||||
import 'package:flutter/cupertino.dart';
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/webuntis/queries/getTimetable/getTimetableResponse.dart';
 | 
			
		||||
import 'package:marianum_mobile/screen/pages/timetable/CrossPainter.dart';
 | 
			
		||||
import 'package:syncfusion_flutter_calendar/calendar.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../api/webuntis/queries/getTimetable/getTimetableResponse.dart';
 | 
			
		||||
import 'CrossPainter.dart';
 | 
			
		||||
 | 
			
		||||
class AppointmentComponent extends StatefulWidget {
 | 
			
		||||
  final CalendarAppointmentDetails details;
 | 
			
		||||
  final bool crossedOut;
 | 
			
		||||
@@ -1,14 +1,13 @@
 | 
			
		||||
 | 
			
		||||
import 'package:flutter/cupertino.dart';
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
import 'package:jiffy/jiffy.dart';
 | 
			
		||||
import 'package:marianum_mobile/api/webuntis/queries/getTimetable/getTimetableResponse.dart';
 | 
			
		||||
import 'package:marianum_mobile/data/timetable/timetableProps.dart';
 | 
			
		||||
import 'package:persistent_bottom_nav_bar/persistent_tab_view.dart';
 | 
			
		||||
import 'package:syncfusion_flutter_calendar/calendar.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../api/webuntis/queries/getRooms/getRoomsResponse.dart';
 | 
			
		||||
import '../../../api/webuntis/queries/getSubjects/getSubjectsResponse.dart';
 | 
			
		||||
import '../../../api/webuntis/queries/getTimetable/getTimetableResponse.dart';
 | 
			
		||||
import '../../../model/timetable/timetableProps.dart';
 | 
			
		||||
import '../../../widget/unimplementedDialog.dart';
 | 
			
		||||
import '../../settings/debug/jsonViewer.dart';
 | 
			
		||||
import '../more/roomplan/roomplan.dart';
 | 
			
		||||
@@ -1,4 +1,3 @@
 | 
			
		||||
import 'package:flutter/cupertino.dart';
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
import 'package:syncfusion_flutter_calendar/calendar.dart';
 | 
			
		||||
 | 
			
		||||
@@ -1,21 +1,19 @@
 | 
			
		||||
 | 
			
		||||
import 'dart:developer';
 | 
			
		||||
 | 
			
		||||
import 'package:flutter/cupertino.dart';
 | 
			
		||||
import 'package:flutter/foundation.dart';
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
import 'package:marianum_mobile/screen/pages/timetable/appointmenetComponent.dart';
 | 
			
		||||
import 'package:marianum_mobile/screen/pages/timetable/timeRegionComponent.dart';
 | 
			
		||||
import 'package:marianum_mobile/screen/pages/timetable/timetableEvents.dart';
 | 
			
		||||
import 'package:marianum_mobile/widget/errorView.dart';
 | 
			
		||||
import 'package:provider/provider.dart';
 | 
			
		||||
import 'package:syncfusion_flutter_calendar/calendar.dart';
 | 
			
		||||
 | 
			
		||||
import '../../../api/webuntis/queries/getHolidays/getHolidaysResponse.dart';
 | 
			
		||||
import '../../../api/webuntis/queries/getRooms/getRoomsResponse.dart';
 | 
			
		||||
import '../../../api/webuntis/queries/getSubjects/getSubjectsResponse.dart';
 | 
			
		||||
import '../../../data/timetable/timetableProps.dart';
 | 
			
		||||
import '../../../model/timetable/timetableProps.dart';
 | 
			
		||||
import '../../../widget/errorView.dart';
 | 
			
		||||
import 'appointmenetComponent.dart';
 | 
			
		||||
import 'appointmentDetails.dart';
 | 
			
		||||
import 'timeRegionComponent.dart';
 | 
			
		||||
import 'timetableEvents.dart';
 | 
			
		||||
 | 
			
		||||
class Timetable extends StatefulWidget {
 | 
			
		||||
  const Timetable({Key? key}) : super(key: key);
 | 
			
		||||
@@ -5,7 +5,8 @@ import 'package:flutter/material.dart';
 | 
			
		||||
import 'package:flutter/services.dart';
 | 
			
		||||
import 'package:jiffy/jiffy.dart';
 | 
			
		||||
import 'package:localstore/localstore.dart';
 | 
			
		||||
import 'package:marianum_mobile/screen/settings/debug/jsonViewer.dart';
 | 
			
		||||
 | 
			
		||||
import 'jsonViewer.dart';
 | 
			
		||||
 | 
			
		||||
class DebugOverview extends StatefulWidget {
 | 
			
		||||
  const DebugOverview({Key? key}) : super(key: key);
 | 
			
		||||
@@ -3,10 +3,10 @@ import 'package:flutter/services.dart';
 | 
			
		||||
import 'package:pretty_json/pretty_json.dart';
 | 
			
		||||
 | 
			
		||||
class JsonViewer extends StatelessWidget {
 | 
			
		||||
  String title;
 | 
			
		||||
  Map<String, dynamic> data;
 | 
			
		||||
  final String title;
 | 
			
		||||
  final Map<String, dynamic> data;
 | 
			
		||||
 | 
			
		||||
  JsonViewer({Key? key, required this.title, required this.data}) : super(key: key);
 | 
			
		||||
  const JsonViewer({Key? key, required this.title, required this.data}) : super(key: key);
 | 
			
		||||
 | 
			
		||||
  @override
 | 
			
		||||
  Widget build(BuildContext context) {
 | 
			
		||||
@@ -30,7 +30,7 @@ class JsonViewer extends StatelessWidget {
 | 
			
		||||
    showDialog(context: context, builder: (context) {
 | 
			
		||||
      return AlertDialog(
 | 
			
		||||
        scrollable: true,
 | 
			
		||||
        title: Row(children: const [Icon(Icons.bug_report_outlined), Text("Rohdaten")]),
 | 
			
		||||
        title: const Row(children: [Icon(Icons.bug_report_outlined), Text("Rohdaten")]),
 | 
			
		||||
        content: Text(JsonViewer.format(dataMap)),
 | 
			
		||||
        actions: [
 | 
			
		||||
          TextButton(onPressed: () {
 | 
			
		||||
@@ -5,8 +5,8 @@ import 'package:provider/provider.dart';
 | 
			
		||||
import 'package:shared_preferences/shared_preferences.dart';
 | 
			
		||||
import 'package:url_launcher/url_launcher.dart';
 | 
			
		||||
 | 
			
		||||
import '../../data/accountModel.dart';
 | 
			
		||||
import '../../data/appTheme.dart';
 | 
			
		||||
import '../../model/accountModel.dart';
 | 
			
		||||
import '../../model/appTheme.dart';
 | 
			
		||||
import 'debug/debugOverview.dart';
 | 
			
		||||
 | 
			
		||||
class Settings extends StatefulWidget {
 | 
			
		||||
@@ -108,7 +108,7 @@ class _SettingsState extends State<Settings> {
 | 
			
		||||
            onTap: () async {
 | 
			
		||||
              final appInfo = await PackageInfo.fromPlatform();
 | 
			
		||||
 | 
			
		||||
              if(!context.mounted) return;
 | 
			
		||||
              if(!context.mounted) return; // TODO Fix context used in async
 | 
			
		||||
              showAboutDialog(
 | 
			
		||||
                context: context,
 | 
			
		||||
                applicationIcon: const Icon(Icons.apps),
 | 
			
		||||
@@ -1,4 +1,3 @@
 | 
			
		||||
import 'package:flutter/cupertino.dart';
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
 | 
			
		||||
class UnimplementedDialog {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user