mirror of
				https://gitlab.com/comunic/comunicmobile
				synced 2025-11-04 04:04:18 +00:00 
			
		
		
		
	Fix a few notices
This commit is contained in:
		@@ -58,22 +58,13 @@ class Post implements LikeElement {
 | 
				
			|||||||
      required this.access,
 | 
					      required this.access,
 | 
				
			||||||
      required this.comments,
 | 
					      required this.comments,
 | 
				
			||||||
      required this.survey})
 | 
					      required this.survey})
 | 
				
			||||||
      : assert(id != null),
 | 
					      : assert(userPageID != 0 || groupID != 0),
 | 
				
			||||||
        assert(userID != null),
 | 
					 | 
				
			||||||
        assert(userPageID != 0 || groupID != 0),
 | 
					 | 
				
			||||||
        assert(timeSent != null),
 | 
					 | 
				
			||||||
        assert(kind != PostKind.TEXT || content != null),
 | 
					 | 
				
			||||||
        assert(visibilityLevel != null),
 | 
					 | 
				
			||||||
        assert(kind != null),
 | 
					 | 
				
			||||||
        assert(kind != PostKind.COUNTDOWN || timeEnd != null),
 | 
					        assert(kind != PostKind.COUNTDOWN || timeEnd != null),
 | 
				
			||||||
        assert(kind != PostKind.SURVEY || survey != null),
 | 
					        assert(kind != PostKind.SURVEY || survey != null);
 | 
				
			||||||
        assert(likes != null),
 | 
					 | 
				
			||||||
        assert(userLike != null),
 | 
					 | 
				
			||||||
        assert(access != null);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  bool get isGroupPost => groupID != null && groupID! > 0;
 | 
					  bool get isGroupPost => groupID != null && groupID! > 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  bool get hasContent => content != null && !content.isNull;
 | 
					  bool get hasContent => !content.isNull && !content.isEmpty;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  bool get hasComments => comments != null;
 | 
					  bool get hasComments => comments != null;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,3 @@
 | 
				
			|||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/// Check password reset token result
 | 
					/// Check password reset token result
 | 
				
			||||||
///
 | 
					///
 | 
				
			||||||
/// @author Pierre Hubert
 | 
					/// @author Pierre Hubert
 | 
				
			||||||
@@ -13,7 +11,5 @@ class ResCheckPasswordToken {
 | 
				
			|||||||
    required this.firstName,
 | 
					    required this.firstName,
 | 
				
			||||||
    required this.lastName,
 | 
					    required this.lastName,
 | 
				
			||||||
    required this.email,
 | 
					    required this.email,
 | 
				
			||||||
  })  : assert(firstName != null),
 | 
					  });
 | 
				
			||||||
        assert(lastName != null),
 | 
					 | 
				
			||||||
        assert(email != null);
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,3 @@
 | 
				
			|||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/// Single search result
 | 
					/// Single search result
 | 
				
			||||||
///
 | 
					///
 | 
				
			||||||
/// @author Pierre Hubert
 | 
					/// @author Pierre Hubert
 | 
				
			||||||
@@ -13,6 +11,5 @@ class SearchResult {
 | 
				
			|||||||
  SearchResult({
 | 
					  SearchResult({
 | 
				
			||||||
    required this.id,
 | 
					    required this.id,
 | 
				
			||||||
    required this.kind,
 | 
					    required this.kind,
 | 
				
			||||||
  })  : assert(id != null),
 | 
					  });
 | 
				
			||||||
        assert(kind != null);
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,3 @@
 | 
				
			|||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/// Security settings of the user
 | 
					/// Security settings of the user
 | 
				
			||||||
///
 | 
					///
 | 
				
			||||||
/// @author Pierre HUBERT
 | 
					/// @author Pierre HUBERT
 | 
				
			||||||
@@ -15,8 +13,5 @@ class SecuritySettings {
 | 
				
			|||||||
    required this.securityAnswer1,
 | 
					    required this.securityAnswer1,
 | 
				
			||||||
    required this.securityQuestion2,
 | 
					    required this.securityQuestion2,
 | 
				
			||||||
    required this.securityAnswer2,
 | 
					    required this.securityAnswer2,
 | 
				
			||||||
  })  : assert(securityQuestion1 != null),
 | 
					  });
 | 
				
			||||||
        assert(securityAnswer1 != null),
 | 
					 | 
				
			||||||
        assert(securityQuestion2 != null),
 | 
					 | 
				
			||||||
        assert(securityAnswer2 != null);
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -35,14 +35,7 @@ class PasswordPolicy {
 | 
				
			|||||||
    required this.minNumberDigits,
 | 
					    required this.minNumberDigits,
 | 
				
			||||||
    required this.minNumberSpecialCharacters,
 | 
					    required this.minNumberSpecialCharacters,
 | 
				
			||||||
    required this.minCategoriesPresence,
 | 
					    required this.minCategoriesPresence,
 | 
				
			||||||
  })  : assert(allowMailInPassword != null),
 | 
					  });
 | 
				
			||||||
        assert(allowNameInPassword != null),
 | 
					 | 
				
			||||||
        assert(minPasswordLength != null),
 | 
					 | 
				
			||||||
        assert(minNumberUpperCaseLetters != null),
 | 
					 | 
				
			||||||
        assert(minNumberLowerCaseLetters != null),
 | 
					 | 
				
			||||||
        assert(minNumberDigits != null),
 | 
					 | 
				
			||||||
        assert(minNumberSpecialCharacters != null),
 | 
					 | 
				
			||||||
        assert(minCategoriesPresence != null);
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class ServerDataConservationPolicy {
 | 
					class ServerDataConservationPolicy {
 | 
				
			||||||
@@ -60,12 +53,7 @@ class ServerDataConservationPolicy {
 | 
				
			|||||||
    required this.minPostsLifetime,
 | 
					    required this.minPostsLifetime,
 | 
				
			||||||
    required this.minConversationMessagesLifetime,
 | 
					    required this.minConversationMessagesLifetime,
 | 
				
			||||||
    required this.minLikesLifetime,
 | 
					    required this.minLikesLifetime,
 | 
				
			||||||
  })  : assert(minInactiveAccountLifetime != null),
 | 
					  });
 | 
				
			||||||
        assert(minNotificationLifetime != null),
 | 
					 | 
				
			||||||
        assert(minCommentsLifetime != null),
 | 
					 | 
				
			||||||
        assert(minPostsLifetime != null),
 | 
					 | 
				
			||||||
        assert(minConversationMessagesLifetime != null),
 | 
					 | 
				
			||||||
        assert(minLikesLifetime != null);
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class ConversationsPolicy {
 | 
					class ConversationsPolicy {
 | 
				
			||||||
@@ -97,19 +85,7 @@ class ConversationsPolicy {
 | 
				
			|||||||
    required this.maxThumbnailHeight,
 | 
					    required this.maxThumbnailHeight,
 | 
				
			||||||
    required this.maxLogoWidth,
 | 
					    required this.maxLogoWidth,
 | 
				
			||||||
    required this.maxLogoHeight,
 | 
					    required this.maxLogoHeight,
 | 
				
			||||||
  })  : assert(maxConversationNameLen != null),
 | 
					  });
 | 
				
			||||||
        assert(minMessageLen != null),
 | 
					 | 
				
			||||||
        assert(maxMessageLen != null),
 | 
					 | 
				
			||||||
        assert(allowedFilesType != null),
 | 
					 | 
				
			||||||
        assert(filesMaxSize != null),
 | 
					 | 
				
			||||||
        assert(writingEventInterval != null),
 | 
					 | 
				
			||||||
        assert(writingEventLifetime != null),
 | 
					 | 
				
			||||||
        assert(maxMessageImageWidth != null),
 | 
					 | 
				
			||||||
        assert(maxMessageImageHeight != null),
 | 
					 | 
				
			||||||
        assert(maxThumbnailWidth != null),
 | 
					 | 
				
			||||||
        assert(maxThumbnailHeight != null),
 | 
					 | 
				
			||||||
        assert(maxLogoWidth != null),
 | 
					 | 
				
			||||||
        assert(maxLogoHeight != null);
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class AccountInformationPolicy {
 | 
					class AccountInformationPolicy {
 | 
				
			||||||
@@ -125,11 +101,7 @@ class AccountInformationPolicy {
 | 
				
			|||||||
    required this.minLastNameLength,
 | 
					    required this.minLastNameLength,
 | 
				
			||||||
    required this.maxLastNameLength,
 | 
					    required this.maxLastNameLength,
 | 
				
			||||||
    required this.maxLocationLength,
 | 
					    required this.maxLocationLength,
 | 
				
			||||||
  })  : assert(minFirstNameLength != null),
 | 
					  });
 | 
				
			||||||
        assert(maxFirstNameLength != null),
 | 
					 | 
				
			||||||
        assert(minLastNameLength != null),
 | 
					 | 
				
			||||||
        assert(maxLastNameLength != null),
 | 
					 | 
				
			||||||
        assert(maxLocationLength != null);
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
enum BannerNature { Information, Warning, Success }
 | 
					enum BannerNature { Information, Warning, Success }
 | 
				
			||||||
@@ -161,9 +133,7 @@ class Banner {
 | 
				
			|||||||
    required this.nature,
 | 
					    required this.nature,
 | 
				
			||||||
    required this.message,
 | 
					    required this.message,
 | 
				
			||||||
    required this.link,
 | 
					    required this.link,
 | 
				
			||||||
  })  : assert(enabled != null),
 | 
					  });
 | 
				
			||||||
        assert(nature != null),
 | 
					 | 
				
			||||||
        assert(message != null);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  bool get visible => enabled && (expire == null || expire! > time());
 | 
					  bool get visible => enabled && (expire == null || expire! > time());
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -195,15 +165,5 @@ class ServerConfig {
 | 
				
			|||||||
    required this.dataConservationPolicy,
 | 
					    required this.dataConservationPolicy,
 | 
				
			||||||
    required this.conversationsPolicy,
 | 
					    required this.conversationsPolicy,
 | 
				
			||||||
    required this.accountInformationPolicy,
 | 
					    required this.accountInformationPolicy,
 | 
				
			||||||
  })  : assert(minSupportedMobileVersion != null),
 | 
					  });
 | 
				
			||||||
        assert(termsURL != null),
 | 
					 | 
				
			||||||
        assert(privacyPolicyURL != null),
 | 
					 | 
				
			||||||
        assert(contactEmail != null),
 | 
					 | 
				
			||||||
        assert(playStoreURL != null),
 | 
					 | 
				
			||||||
        assert(androidDirectDownloadURL != null),
 | 
					 | 
				
			||||||
        assert(notificationsPolicy != null),
 | 
					 | 
				
			||||||
        assert(passwordPolicy != null),
 | 
					 | 
				
			||||||
        assert(dataConservationPolicy != null),
 | 
					 | 
				
			||||||
        assert(conversationsPolicy != null),
 | 
					 | 
				
			||||||
        assert(accountInformationPolicy != null);
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,3 @@
 | 
				
			|||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/// Single survey choice
 | 
					/// Single survey choice
 | 
				
			||||||
///
 | 
					///
 | 
				
			||||||
/// @author Pierre HUBERT
 | 
					/// @author Pierre HUBERT
 | 
				
			||||||
@@ -13,7 +11,5 @@ class SurveyChoice {
 | 
				
			|||||||
    required this.id,
 | 
					    required this.id,
 | 
				
			||||||
    required this.name,
 | 
					    required this.name,
 | 
				
			||||||
    required this.responses,
 | 
					    required this.responses,
 | 
				
			||||||
  })  : assert(id != null),
 | 
					  });
 | 
				
			||||||
        assert(name != null),
 | 
					 | 
				
			||||||
        assert(responses != null);
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,6 +12,5 @@ class UnreadConversation {
 | 
				
			|||||||
  const UnreadConversation({
 | 
					  const UnreadConversation({
 | 
				
			||||||
    required this.conv,
 | 
					    required this.conv,
 | 
				
			||||||
    required this.message,
 | 
					    required this.message,
 | 
				
			||||||
  })  : assert(conv != null),
 | 
					  });
 | 
				
			||||||
        assert(message != null);
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,9 +13,7 @@ class WsMessage {
 | 
				
			|||||||
    required this.id,
 | 
					    required this.id,
 | 
				
			||||||
    required this.title,
 | 
					    required this.title,
 | 
				
			||||||
    required this.data,
 | 
					    required this.data,
 | 
				
			||||||
  })  : assert(id != null),
 | 
					  }) : assert(title.length > 0);
 | 
				
			||||||
        assert(title != null),
 | 
					 | 
				
			||||||
        assert(title.length > 0);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /// Construct a message from a JSON document (messages coming from the server)
 | 
					  /// Construct a message from a JSON document (messages coming from the server)
 | 
				
			||||||
  static WsMessage fromJSON(final Map<dynamic, dynamic> m) {
 | 
					  static WsMessage fromJSON(final Map<dynamic, dynamic> m) {
 | 
				
			||||||
@@ -23,12 +21,11 @@ class WsMessage {
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /// Turn a message into a JSON object to send it to the API
 | 
					  /// Turn a message into a JSON object to send it to the API
 | 
				
			||||||
  String toJSON() =>
 | 
					  String toJSON() => jsonEncode({
 | 
				
			||||||
      jsonEncode({
 | 
					 | 
				
			||||||
        "id": id,
 | 
					        "id": id,
 | 
				
			||||||
        "title": title,
 | 
					        "title": title,
 | 
				
			||||||
        "data": data,
 | 
					        "data": data,
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  bool get hasId => this.id != null && this.id.isNotEmpty;
 | 
					  bool get hasId => this.id.isNotEmpty;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,9 +11,7 @@ Future<void> alert(BuildContext context, String? msg) async {
 | 
				
			|||||||
class _AlertDialog extends StatelessWidget {
 | 
					class _AlertDialog extends StatelessWidget {
 | 
				
			||||||
  final String msg;
 | 
					  final String msg;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const _AlertDialog({Key? key, required this.msg})
 | 
					  const _AlertDialog({Key? key, required this.msg}) : super(key: key);
 | 
				
			||||||
      : assert(msg != null),
 | 
					 | 
				
			||||||
        super(key: key);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Widget build(BuildContext context) {
 | 
					  Widget build(BuildContext context) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -19,8 +19,7 @@ class _AudioPlayerDialog extends StatefulWidget {
 | 
				
			|||||||
  const _AudioPlayerDialog({
 | 
					  const _AudioPlayerDialog({
 | 
				
			||||||
    Key? key,
 | 
					    Key? key,
 | 
				
			||||||
    required this.url,
 | 
					    required this.url,
 | 
				
			||||||
  })  : assert(url != null),
 | 
					  })  : super(key: key);
 | 
				
			||||||
        super(key: key);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  __AudioPlayerDialogState createState() => __AudioPlayerDialogState();
 | 
					  __AudioPlayerDialogState createState() => __AudioPlayerDialogState();
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,8 +12,6 @@ Future<String?> showInputNewPassword({
 | 
				
			|||||||
  required BuildContext context,
 | 
					  required BuildContext context,
 | 
				
			||||||
  required UserInfoForPassword userInfo,
 | 
					  required UserInfoForPassword userInfo,
 | 
				
			||||||
}) async {
 | 
					}) async {
 | 
				
			||||||
  assert(context != null);
 | 
					 | 
				
			||||||
  assert(userInfo != null);
 | 
					 | 
				
			||||||
  return await showDialog(
 | 
					  return await showDialog(
 | 
				
			||||||
      context: context,
 | 
					      context: context,
 | 
				
			||||||
      builder: (c) => _InputNewPasswordDialog(
 | 
					      builder: (c) => _InputNewPasswordDialog(
 | 
				
			||||||
@@ -27,8 +25,7 @@ class _InputNewPasswordDialog extends StatefulWidget {
 | 
				
			|||||||
  const _InputNewPasswordDialog({
 | 
					  const _InputNewPasswordDialog({
 | 
				
			||||||
    Key? key,
 | 
					    Key? key,
 | 
				
			||||||
    required this.userInfo,
 | 
					    required this.userInfo,
 | 
				
			||||||
  })  : assert(userInfo != null),
 | 
					  })  : super(key: key);
 | 
				
			||||||
        super(key: key);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  __InputNewPasswordDialogState createState() =>
 | 
					  __InputNewPasswordDialogState createState() =>
 | 
				
			||||||
@@ -45,7 +42,8 @@ class __InputNewPasswordDialogState extends State<_InputNewPasswordDialog> {
 | 
				
			|||||||
  bool get _input1Valid =>
 | 
					  bool get _input1Valid =>
 | 
				
			||||||
      _controller1.currentState != null && _controller1.currentState!.valid;
 | 
					      _controller1.currentState != null && _controller1.currentState!.valid;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  bool get _input2Valid => _controller1.currentState!.value == _controller2.text;
 | 
					  bool get _input2Valid =>
 | 
				
			||||||
 | 
					      _controller1.currentState!.value == _controller2.text;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  bool get _isValid => _input1Valid && _input2Valid;
 | 
					  bool get _isValid => _input1Valid && _input2Valid;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -51,9 +51,7 @@ class _MultiChoicesEntryDialog<T> extends StatefulWidget {
 | 
				
			|||||||
    required this.title,
 | 
					    required this.title,
 | 
				
			||||||
    required this.defaultChoice,
 | 
					    required this.defaultChoice,
 | 
				
			||||||
    required this.choices,
 | 
					    required this.choices,
 | 
				
			||||||
  })  : assert(title != null),
 | 
					  })  : assert(defaultChoice != null),
 | 
				
			||||||
        assert(defaultChoice != null),
 | 
					 | 
				
			||||||
        assert(choices != null),
 | 
					 | 
				
			||||||
        super(key: key);
 | 
					        super(key: key);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -39,10 +39,7 @@ class _PickFileOption {
 | 
				
			|||||||
    required this.label,
 | 
					    required this.label,
 | 
				
			||||||
    required this.icon,
 | 
					    required this.icon,
 | 
				
			||||||
    required this.canEnable,
 | 
					    required this.canEnable,
 | 
				
			||||||
  })  : assert(value != null),
 | 
					  });
 | 
				
			||||||
        assert(label != null),
 | 
					 | 
				
			||||||
        assert(icon != null),
 | 
					 | 
				
			||||||
        assert(canEnable != null);
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
List<_PickFileOption> get _optionsList => [
 | 
					List<_PickFileOption> get _optionsList => [
 | 
				
			||||||
@@ -94,8 +91,6 @@ Future<BytesFile?> showPickFileDialog({
 | 
				
			|||||||
  int? imageMaxHeight,
 | 
					  int? imageMaxHeight,
 | 
				
			||||||
  CropAspectRatio? aspectRatio,
 | 
					  CropAspectRatio? aspectRatio,
 | 
				
			||||||
}) async {
 | 
					}) async {
 | 
				
			||||||
  assert(allowedMimeTypes != null);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  // Get the list of allowed extension
 | 
					  // Get the list of allowed extension
 | 
				
			||||||
  final allowedExtensions = <String>[];
 | 
					  final allowedExtensions = <String>[];
 | 
				
			||||||
  for (var mime in allowedExtensions) {
 | 
					  for (var mime in allowedExtensions) {
 | 
				
			||||||
@@ -196,9 +191,7 @@ class _BottomSheetPickOption extends StatelessWidget {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  const _BottomSheetPickOption(
 | 
					  const _BottomSheetPickOption(
 | 
				
			||||||
      {Key? key, required this.options, required this.onOptionSelected})
 | 
					      {Key? key, required this.options, required this.onOptionSelected})
 | 
				
			||||||
      : assert(options != null),
 | 
					      : super(key: key);
 | 
				
			||||||
        assert(onOptionSelected != null),
 | 
					 | 
				
			||||||
        super(key: key);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Widget build(BuildContext context) => Container(
 | 
					  Widget build(BuildContext context) => Container(
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -266,9 +266,7 @@ class _RecordAction extends StatelessWidget {
 | 
				
			|||||||
    required this.icon,
 | 
					    required this.icon,
 | 
				
			||||||
    required this.onTap,
 | 
					    required this.onTap,
 | 
				
			||||||
    this.color,
 | 
					    this.color,
 | 
				
			||||||
  })  : assert(visible != null),
 | 
					  }) : super(key: key);
 | 
				
			||||||
        assert(icon != null),
 | 
					 | 
				
			||||||
        super(key: key);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Widget build(BuildContext context) {
 | 
					  Widget build(BuildContext context) {
 | 
				
			||||||
@@ -287,9 +285,7 @@ class _ActionButton extends StatelessWidget {
 | 
				
			|||||||
    required this.visible,
 | 
					    required this.visible,
 | 
				
			||||||
    required this.text,
 | 
					    required this.text,
 | 
				
			||||||
    this.onPressed,
 | 
					    this.onPressed,
 | 
				
			||||||
  })  : assert(visible != null),
 | 
					  })  : super(key: key);
 | 
				
			||||||
        assert(text != null),
 | 
					 | 
				
			||||||
        super(key: key);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Widget build(BuildContext context) {
 | 
					  Widget build(BuildContext context) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -27,12 +27,7 @@ class SingleInputDialog extends StatefulWidget {
 | 
				
			|||||||
    this.canBeEmpty = false,
 | 
					    this.canBeEmpty = false,
 | 
				
			||||||
    this.maxLines = 1,
 | 
					    this.maxLines = 1,
 | 
				
			||||||
    this.maxLength,
 | 
					    this.maxLength,
 | 
				
			||||||
  })  : assert(title != null),
 | 
					  }) : super(key: key);
 | 
				
			||||||
        assert(label != null),
 | 
					 | 
				
			||||||
        assert(checkInput != null),
 | 
					 | 
				
			||||||
        assert(errorMessage != null),
 | 
					 | 
				
			||||||
        assert(maxLines != null),
 | 
					 | 
				
			||||||
        super(key: key);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  __InputURLDialogState createState() => __InputURLDialogState();
 | 
					  __InputURLDialogState createState() => __InputURLDialogState();
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -18,11 +18,6 @@ Future<String?> showVirtualDirectoryDialog({
 | 
				
			|||||||
  required int id,
 | 
					  required int id,
 | 
				
			||||||
  required VirtualDirectoryTargetType type,
 | 
					  required VirtualDirectoryTargetType type,
 | 
				
			||||||
}) async {
 | 
					}) async {
 | 
				
			||||||
  assert(context != null);
 | 
					 | 
				
			||||||
  assert(initialDirectory != null);
 | 
					 | 
				
			||||||
  assert(id != null);
 | 
					 | 
				
			||||||
  assert(type != null);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  return await showDialog<String>(
 | 
					  return await showDialog<String>(
 | 
				
			||||||
      context: context,
 | 
					      context: context,
 | 
				
			||||||
      builder: (c) => _VirtualDirectoryPicker(
 | 
					      builder: (c) => _VirtualDirectoryPicker(
 | 
				
			||||||
@@ -39,10 +34,7 @@ class _VirtualDirectoryPicker extends StatefulWidget {
 | 
				
			|||||||
    required this.initialDirectory,
 | 
					    required this.initialDirectory,
 | 
				
			||||||
    required this.id,
 | 
					    required this.id,
 | 
				
			||||||
    required this.type,
 | 
					    required this.type,
 | 
				
			||||||
  })  : assert(initialDirectory != null),
 | 
					  }) : super(key: key);
 | 
				
			||||||
        assert(id != null),
 | 
					 | 
				
			||||||
        assert(type != null),
 | 
					 | 
				
			||||||
        super(key: key);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  __VirtualDirectoryPickerState createState() =>
 | 
					  __VirtualDirectoryPickerState createState() =>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -246,9 +246,7 @@ class _ResetPasswordBodyState extends SafeState<_ResetPasswordBody> {
 | 
				
			|||||||
class _Spacer extends StatelessWidget {
 | 
					class _Spacer extends StatelessWidget {
 | 
				
			||||||
  final bool visible;
 | 
					  final bool visible;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const _Spacer({Key? key, this.visible = true})
 | 
					  const _Spacer({Key? key, this.visible = true}) : super(key: key);
 | 
				
			||||||
      : assert(visible != null),
 | 
					 | 
				
			||||||
        super(key: key);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Widget build(BuildContext context) {
 | 
					  Widget build(BuildContext context) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -50,8 +50,9 @@ abstract class MainController extends State<MainRoute> {
 | 
				
			|||||||
  int get numberOfPages => _pagesStack.length;
 | 
					  int get numberOfPages => _pagesStack.length;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /// Get current instance of Home controller
 | 
					  /// Get current instance of Home controller
 | 
				
			||||||
 | 
					  ///
 | 
				
			||||||
 | 
					  /// A future implementation might need context again, that is why it is required
 | 
				
			||||||
  static MainController? of(BuildContext context) {
 | 
					  static MainController? of(BuildContext context) {
 | 
				
			||||||
    assert(context != null); // A future implementation might need context again
 | 
					 | 
				
			||||||
    return mainControllerKey.currentState;
 | 
					    return mainControllerKey.currentState;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -126,7 +126,7 @@ class PushNotificationsConfigurationWidgetState
 | 
				
			|||||||
              available: srvConfig!.notificationsPolicy.hasFirebase,
 | 
					              available: srvConfig!.notificationsPolicy.hasFirebase,
 | 
				
			||||||
              onChanged: (s) {
 | 
					              onChanged: (s) {
 | 
				
			||||||
                setState(() => currStatus = s);
 | 
					                setState(() => currStatus = s);
 | 
				
			||||||
                if (widget.onChanged != null) widget.onChanged();
 | 
					                widget.onChanged();
 | 
				
			||||||
              },
 | 
					              },
 | 
				
			||||||
            ),
 | 
					            ),
 | 
				
			||||||
            SizedBox(height: 5),
 | 
					            SizedBox(height: 5),
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -129,8 +129,7 @@ class _NewCustomEmojiDialog extends StatefulWidget {
 | 
				
			|||||||
  const _NewCustomEmojiDialog({
 | 
					  const _NewCustomEmojiDialog({
 | 
				
			||||||
    Key? key,
 | 
					    Key? key,
 | 
				
			||||||
    required this.currentList,
 | 
					    required this.currentList,
 | 
				
			||||||
  })  : assert(currentList != null),
 | 
					  }) : super(key: key);
 | 
				
			||||||
        super(key: key);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  _NewCustomEmojiDialogState createState() => _NewCustomEmojiDialogState();
 | 
					  _NewCustomEmojiDialogState createState() => _NewCustomEmojiDialogState();
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -35,8 +35,7 @@ class GroupSettingsScreen extends StatefulWidget {
 | 
				
			|||||||
  final int groupID;
 | 
					  final int groupID;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const GroupSettingsScreen({Key? key, required this.groupID})
 | 
					  const GroupSettingsScreen({Key? key, required this.groupID})
 | 
				
			||||||
      : assert(groupID != null),
 | 
					      : super(key: key);
 | 
				
			||||||
        super(key: key);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  _GroupSettingsScreenState createState() => _GroupSettingsScreenState();
 | 
					  _GroupSettingsScreenState createState() => _GroupSettingsScreenState();
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,7 +8,7 @@ class MenuTile extends StatelessWidget {
 | 
				
			|||||||
  final String title;
 | 
					  final String title;
 | 
				
			||||||
  final GestureTapCallback? onTap;
 | 
					  final GestureTapCallback? onTap;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const MenuTile({required this.title, this.onTap}) : assert(title != null);
 | 
					  const MenuTile({required this.title, this.onTap});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Widget build(BuildContext context) {
 | 
					  Widget build(BuildContext context) {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user