mirror of
https://gitlab.com/comunic/comunicmobile
synced 2025-09-19 05:48:54 +00:00
Start to fix null safety migration errors
This commit is contained in:
@@ -13,8 +13,8 @@ class AboutGroupSection extends StatelessWidget {
|
||||
final AdvancedGroupInfo group;
|
||||
|
||||
const AboutGroupSection({
|
||||
Key key,
|
||||
@required this.group,
|
||||
Key? key,
|
||||
required this.group,
|
||||
}) : assert(group != null),
|
||||
super(key: key);
|
||||
|
||||
@@ -25,7 +25,7 @@ class AboutGroupSection extends StatelessWidget {
|
||||
group.hasURL
|
||||
? ListTile(
|
||||
leading: Icon(Icons.link),
|
||||
title: Text(tr("URL")),
|
||||
title: Text(tr("URL")!),
|
||||
subtitle: Text(group.url),
|
||||
onTap: () => launch(group.url),
|
||||
)
|
||||
@@ -35,7 +35,7 @@ class AboutGroupSection extends StatelessWidget {
|
||||
group.hasDescription
|
||||
? ListTile(
|
||||
leading: Icon(Icons.note),
|
||||
title: Text(tr("Description")),
|
||||
title: Text(tr("Description")!),
|
||||
subtitle: Text(group.description),
|
||||
)
|
||||
: Container(),
|
||||
@@ -44,64 +44,64 @@ class AboutGroupSection extends StatelessWidget {
|
||||
ListTile(
|
||||
leading: Icon(Icons.access_time),
|
||||
title: Text("Created"),
|
||||
subtitle: Text(diffTimeFromNowToStr(group.timeCreate)),
|
||||
subtitle: Text(diffTimeFromNowToStr(group.timeCreate!)!),
|
||||
),
|
||||
|
||||
// Number of members
|
||||
ListTile(
|
||||
leading: Icon(Icons.group),
|
||||
title: Text(tr("Members")),
|
||||
title: Text(tr("Members")!),
|
||||
subtitle: Text(
|
||||
tr("%1% members", args: {"1": group.numberMembers.toString()})),
|
||||
tr("%1% members", args: {"1": group.numberMembers.toString()})!),
|
||||
),
|
||||
|
||||
// Who can create posts
|
||||
ListTile(
|
||||
leading: Icon(Icons.add),
|
||||
title: Text(tr("Who can create posts")),
|
||||
title: Text(tr("Who can create posts")!),
|
||||
subtitle: Text(
|
||||
group.postCreationLevel == GroupPostCreationLevel.MEMBERS
|
||||
? tr("Every members")
|
||||
: tr("Only moderators and administrators")),
|
||||
? tr("Every members")!
|
||||
: tr("Only moderators and administrators")!),
|
||||
),
|
||||
|
||||
// Registration process
|
||||
ListTile(
|
||||
leading: Icon(Icons.login),
|
||||
title: Text(tr("Registration process")),
|
||||
title: Text(tr("Registration process")!),
|
||||
subtitle: Text(group.registrationLevel ==
|
||||
GroupRegistrationLevel.CLOSED
|
||||
? tr("On invitation only")
|
||||
? tr("On invitation only")!
|
||||
: (group.registrationLevel == GroupRegistrationLevel.MODERATED
|
||||
? tr("A moderator has to approve requests")
|
||||
: tr("Anyone can join the group without approval"))),
|
||||
? tr("A moderator has to approve requests")!
|
||||
: tr("Anyone can join the group without approval")!)),
|
||||
),
|
||||
|
||||
// Group visibility
|
||||
ListTile(
|
||||
leading: Icon(Icons.remove_red_eye),
|
||||
title: Text(tr("Visibility")),
|
||||
title: Text(tr("Visibility")!),
|
||||
subtitle: Text(group.visibilityLevel == GroupVisibilityLevel.SECRETE
|
||||
? tr("Secrete group")
|
||||
? tr("Secrete group")!
|
||||
: (group.visibilityLevel == GroupVisibilityLevel.PRIVATE
|
||||
? tr("Private group")
|
||||
: tr("Open group"))),
|
||||
? tr("Private group")!
|
||||
: tr("Open group")!)),
|
||||
),
|
||||
|
||||
// Group members visibility
|
||||
ListTile(
|
||||
leading: Icon(Icons.remove_red_eye),
|
||||
title: Text(tr("Members list visibility")),
|
||||
title: Text(tr("Members list visibility")!),
|
||||
subtitle:
|
||||
Text(group.isMembersListPublic ? tr("Public") : tr("Private")),
|
||||
Text(group.isMembersListPublic! ? tr("Public")! : tr("Private")!),
|
||||
),
|
||||
|
||||
group.isForezGroup
|
||||
? // Group members visibility
|
||||
ListTile(
|
||||
leading: Icon(Icons.info_outline),
|
||||
title: Text(tr("Forez group")),
|
||||
subtitle: Text(tr("Forez special features enabled")),
|
||||
title: Text(tr("Forez group")!),
|
||||
subtitle: Text(tr("Forez special features enabled")!),
|
||||
)
|
||||
: Container(),
|
||||
],
|
||||
|
@@ -16,8 +16,8 @@ class ForezPresenceSection extends StatefulWidget {
|
||||
final int groupID;
|
||||
|
||||
const ForezPresenceSection({
|
||||
Key key,
|
||||
@required this.groupID,
|
||||
Key? key,
|
||||
required this.groupID,
|
||||
}) : assert(groupID != null),
|
||||
super(key: key);
|
||||
|
||||
@@ -26,17 +26,17 @@ class ForezPresenceSection extends StatefulWidget {
|
||||
}
|
||||
|
||||
class _ForezPresenceSectionState extends State<ForezPresenceSection> {
|
||||
PresenceSet _presences;
|
||||
UsersList _users;
|
||||
PresenceSet? _presences;
|
||||
late UsersList _users;
|
||||
DateTime _currentDay = DateTime.now();
|
||||
|
||||
List<int> get _currentListOfUsers => _presences.getUsersAtDate(_currentDay);
|
||||
List<int> get _currentListOfUsers => _presences!.getUsersAtDate(_currentDay);
|
||||
|
||||
Future<void> _refresh() async {
|
||||
await ForezPresenceHelper.refreshCache(widget.groupID);
|
||||
|
||||
_presences = await ForezPresenceHelper.getAll(widget.groupID);
|
||||
_users = await UsersHelper().getList(_presences.usersID);
|
||||
_users = await UsersHelper().getList(_presences!.usersID);
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -71,7 +71,7 @@ class _ForezPresenceSectionState extends State<ForezPresenceSection> {
|
||||
}
|
||||
|
||||
Widget _buildCalendar() => PresenceCalendarWidget(
|
||||
presenceSet: _presences,
|
||||
presenceSet: _presences!,
|
||||
mode: CalendarDisplayMode.MULTIPLE_USERS,
|
||||
selectedDay: _currentDay,
|
||||
onDayClicked: _selectDay,
|
||||
|
@@ -12,8 +12,8 @@ class GroupConversationSection extends StatelessWidget {
|
||||
final Conversation conv;
|
||||
|
||||
const GroupConversationSection({
|
||||
Key key,
|
||||
@required this.conv,
|
||||
Key? key,
|
||||
required this.conv,
|
||||
}) : assert(conv != null),
|
||||
super(key: key);
|
||||
|
||||
@@ -21,7 +21,7 @@ class GroupConversationSection extends StatelessWidget {
|
||||
Widget build(BuildContext context) => Stack(
|
||||
children: [
|
||||
ConversationScreen(
|
||||
conversationID: conv.id,
|
||||
conversationID: conv.id!,
|
||||
),
|
||||
Positioned(
|
||||
right: 1.0,
|
||||
@@ -31,12 +31,12 @@ class GroupConversationSection extends StatelessWidget {
|
||||
? IconButton(
|
||||
icon: Icon(Icons.phone),
|
||||
onPressed: () =>
|
||||
MainController.of(context).startCall(conv.id),
|
||||
MainController.of(context)!.startCall(conv.id!),
|
||||
)
|
||||
: Container(),
|
||||
IconButton(
|
||||
icon: Icon(Icons.settings),
|
||||
onPressed: () => MainController.of(context)
|
||||
onPressed: () => MainController.of(context)!
|
||||
.openConversationSettingsRoute(conv),
|
||||
),
|
||||
],
|
||||
|
@@ -21,7 +21,7 @@ import 'package:flutter/material.dart';
|
||||
class GroupMembersSection extends StatefulWidget {
|
||||
final int groupID;
|
||||
|
||||
const GroupMembersSection({Key key, this.groupID})
|
||||
const GroupMembersSection({Key? key, required this.groupID})
|
||||
: assert(groupID != null),
|
||||
super(key: key);
|
||||
|
||||
@@ -31,9 +31,9 @@ class GroupMembersSection extends StatefulWidget {
|
||||
|
||||
class _GroupMembersSectionState extends State<GroupMembersSection> {
|
||||
final _key = GlobalKey<AsyncScreenWidgetState>();
|
||||
Group _group;
|
||||
GroupMembersList _members;
|
||||
UsersList _users;
|
||||
late Group _group;
|
||||
late GroupMembersList _members;
|
||||
late UsersList _users;
|
||||
|
||||
Future<void> _refresh() async {
|
||||
final group = await GroupsHelper().getSingle(widget.groupID, force: true);
|
||||
@@ -50,7 +50,7 @@ class _GroupMembersSectionState extends State<GroupMembersSection> {
|
||||
key: _key,
|
||||
onReload: _refresh,
|
||||
onBuild: _buildBodyContent,
|
||||
errorMessage: tr("Could not load the list of members of this group!"),
|
||||
errorMessage: tr("Could not load the list of members of this group!")!,
|
||||
showOldDataWhileUpdating: true,
|
||||
);
|
||||
|
||||
@@ -70,7 +70,7 @@ class _GroupMembersSectionState extends State<GroupMembersSection> {
|
||||
group: _group,
|
||||
membership: membership,
|
||||
user: user,
|
||||
onUpdated: () => _key.currentState.refresh(),
|
||||
onUpdated: () => _key.currentState!.refresh(),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -93,40 +93,40 @@ class _GroupMembersSectionState extends State<GroupMembersSection> {
|
||||
await GroupsHelper.sendInvitation(widget.groupID, userID);
|
||||
} catch (e, s) {
|
||||
print("Could not invite a user! $e\n$s");
|
||||
showSimpleSnack(context, tr("Could not invite a user!"));
|
||||
showSimpleSnack(context, tr("Could not invite a user!")!);
|
||||
}
|
||||
|
||||
_key.currentState.refresh();
|
||||
_key.currentState!.refresh();
|
||||
}
|
||||
}
|
||||
|
||||
List<MultiChoiceEntry<GroupMembershipLevel>> get _membershipLevels => [
|
||||
MultiChoiceEntry(
|
||||
id: GroupMembershipLevel.ADMINISTRATOR,
|
||||
title: tr("Administrator"),
|
||||
title: tr("Administrator")!,
|
||||
subtitle: tr("Can change members privileges and group settings")),
|
||||
MultiChoiceEntry(
|
||||
id: GroupMembershipLevel.MODERATOR,
|
||||
title: tr("Moderator"),
|
||||
title: tr("Moderator")!,
|
||||
subtitle: tr(
|
||||
"Can always create posts, invite users and respond to membership request")),
|
||||
MultiChoiceEntry(
|
||||
id: GroupMembershipLevel.MEMBER,
|
||||
title: tr("Member"),
|
||||
title: tr("Member")!,
|
||||
subtitle: tr("Can access to all group posts")),
|
||||
MultiChoiceEntry(
|
||||
id: GroupMembershipLevel.PENDING,
|
||||
title: tr("Requested"),
|
||||
title: tr("Requested")!,
|
||||
hidden: true,
|
||||
),
|
||||
MultiChoiceEntry(
|
||||
id: GroupMembershipLevel.INVITED,
|
||||
title: tr("Invited"),
|
||||
title: tr("Invited")!,
|
||||
hidden: true,
|
||||
),
|
||||
MultiChoiceEntry(
|
||||
id: GroupMembershipLevel.VISITOR,
|
||||
title: tr("Visitor"),
|
||||
title: tr("Visitor")!,
|
||||
hidden: true,
|
||||
),
|
||||
];
|
||||
@@ -138,11 +138,11 @@ class _GroupMembershipTile extends StatefulWidget {
|
||||
final void Function() onUpdated;
|
||||
|
||||
const _GroupMembershipTile({
|
||||
Key key,
|
||||
@required this.group,
|
||||
@required this.membership,
|
||||
@required this.user,
|
||||
@required this.onUpdated,
|
||||
Key? key,
|
||||
required this.group,
|
||||
required this.membership,
|
||||
required this.user,
|
||||
required this.onUpdated,
|
||||
}) : assert(group != null),
|
||||
assert(membership != null),
|
||||
assert(user != null),
|
||||
@@ -176,7 +176,7 @@ class __GroupMembershipTileState extends State<_GroupMembershipTile> {
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildTrailing() {
|
||||
Widget? _buildTrailing() {
|
||||
switch (widget.membership.level) {
|
||||
case GroupMembershipLevel.ADMINISTRATOR:
|
||||
case GroupMembershipLevel.MODERATOR:
|
||||
@@ -205,14 +205,14 @@ class __GroupMembershipTileState extends State<_GroupMembershipTile> {
|
||||
itemBuilder: (c) => [
|
||||
// Change membership level
|
||||
PopupMenuItem(
|
||||
child: Text(tr("Change level")),
|
||||
child: Text(tr("Change level")!),
|
||||
enabled: !_isCurrentUser && widget.group.isAdmin,
|
||||
value: _MemberMenuOptions.CHANGE_LEVEL,
|
||||
),
|
||||
|
||||
// Remove membership
|
||||
PopupMenuItem(
|
||||
child: Text(tr("Remove")),
|
||||
child: Text(tr("Remove")!),
|
||||
value: _MemberMenuOptions.DELETE,
|
||||
enabled: !_isCurrentUser,
|
||||
),
|
||||
@@ -247,7 +247,7 @@ class __GroupMembershipTileState extends State<_GroupMembershipTile> {
|
||||
await GroupsHelper.setNewLevel(groupID, memberID, newLevel);
|
||||
} catch (e, s) {
|
||||
print("Could not change group membership level! $e\n$s");
|
||||
showSimpleSnack(context, tr("Could not change group membership level!"));
|
||||
showSimpleSnack(context, tr("Could not change group membership level!")!);
|
||||
}
|
||||
|
||||
widget.onUpdated();
|
||||
@@ -263,7 +263,7 @@ class __GroupMembershipTileState extends State<_GroupMembershipTile> {
|
||||
await GroupsHelper.removeMemberFromGroup(groupID, memberID);
|
||||
} catch (e, s) {
|
||||
print("Could not remove membership! $e\n$s");
|
||||
showSimpleSnack(context, tr("Could not remove this membership!"));
|
||||
showSimpleSnack(context, tr("Could not remove this membership!")!);
|
||||
}
|
||||
|
||||
widget.onUpdated();
|
||||
@@ -272,7 +272,7 @@ class __GroupMembershipTileState extends State<_GroupMembershipTile> {
|
||||
Widget _buildInvitedCase() {
|
||||
return MaterialButton(
|
||||
onPressed: _cancelMembership,
|
||||
child: Text(tr("Cancel").toUpperCase()),
|
||||
child: Text(tr("Cancel")!.toUpperCase()),
|
||||
textColor: Colors.red,
|
||||
);
|
||||
}
|
||||
@@ -282,7 +282,7 @@ class __GroupMembershipTileState extends State<_GroupMembershipTile> {
|
||||
await GroupsHelper.cancelInvitation(groupID, memberID);
|
||||
} catch (e, s) {
|
||||
print("Could not cancel invitation! $e\n$s");
|
||||
showSimpleSnack(context, tr("Could not cancel invitation!"));
|
||||
showSimpleSnack(context, tr("Could not cancel invitation!")!);
|
||||
}
|
||||
|
||||
widget.onUpdated();
|
||||
@@ -294,12 +294,12 @@ class __GroupMembershipTileState extends State<_GroupMembershipTile> {
|
||||
children: <Widget>[
|
||||
MaterialButton(
|
||||
onPressed: () => _respondRequest(false),
|
||||
child: Text(tr("Reject").toUpperCase()),
|
||||
child: Text(tr("Reject")!.toUpperCase()),
|
||||
textColor: Colors.red,
|
||||
),
|
||||
MaterialButton(
|
||||
onPressed: () => _respondRequest(true),
|
||||
child: Text(tr("Accept").toUpperCase()),
|
||||
child: Text(tr("Accept")!.toUpperCase()),
|
||||
textColor: Colors.green,
|
||||
)
|
||||
],
|
||||
@@ -311,7 +311,7 @@ class __GroupMembershipTileState extends State<_GroupMembershipTile> {
|
||||
await GroupsHelper.respondRequest(groupID, memberID, accept);
|
||||
} catch (e, s) {
|
||||
print("Could not respond to membership request! $e\n$s");
|
||||
showSimpleSnack(context, tr("Could not respond to membership request!"));
|
||||
showSimpleSnack(context, tr("Could not respond to membership request!")!);
|
||||
}
|
||||
|
||||
widget.onUpdated();
|
||||
|
@@ -12,8 +12,8 @@ class GroupPostsSection extends StatefulWidget {
|
||||
final AdvancedGroupInfo group;
|
||||
|
||||
const GroupPostsSection({
|
||||
Key key,
|
||||
@required this.group,
|
||||
Key? key,
|
||||
required this.group,
|
||||
}) : assert(group != null),
|
||||
super(key: key);
|
||||
|
||||
@@ -31,7 +31,7 @@ class _GroupPostsSectionState extends State<GroupPostsSection> {
|
||||
return PostCreateFormWidget(
|
||||
postTarget: PostTarget.GROUP_PAGE,
|
||||
targetID: widget.group.id,
|
||||
onCreated: () => _postsKey.currentState.loadPostsList(getOlder: false),
|
||||
onCreated: () => _postsKey.currentState!.loadPostsList(getOlder: false),
|
||||
);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user