check null safety

This commit is contained in:
tzw
2021-09-10 16:33:52 +06:30
parent 3eacbef117
commit d8c86a512b
46 changed files with 275 additions and 304 deletions

View File

@@ -21,14 +21,17 @@ import 'package:provider/provider.dart';
import 'bubble.dart';
class MessageDetail extends StatelessWidget {
final String receiverName;
final String receiverID;
final String? receiverName;
final String? receiverID;
final MessageModel messageModel;
final TextEditingController textEditingController = TextEditingController();
final ScrollController listScrollController = ScrollController();
MessageDetail(
{Key key, this.messageModel, this.receiverName, this.receiverID})
{Key? key,
required this.messageModel,
this.receiverName,
this.receiverID})
: super(key: key) {
listScrollController.addListener(() {
if (listScrollController.offset >=
@@ -44,7 +47,7 @@ class MessageDetail extends StatelessWidget {
@override
Widget build(BuildContext context) {
String userID = Provider.of<MessageModel>(context).user.id;
String userID = Provider.of<MessageModel>(context).user?.id ?? "";
return Scaffold(
appBar: AppBar(
@@ -96,8 +99,8 @@ class MessageDetail extends StatelessWidget {
Widget buildBubble(Message msg, String userID, bool showDate,
CallbackOnViewDetail callback) {
return Bubble(
message: msg.message,
date: msg.date,
message: msg.message ?? "",
date: msg.date!,
delivered: true,
sender: msg.senderName,
isMine: msg.senderID == userID || msg.receiverID == receiverID,
@@ -117,8 +120,8 @@ class MessageDetail extends StatelessWidget {
child: Container(
child: TextField(
onSubmitted: (value) {
Provider.of<MessageModel>(context, listen: false)
.sendMessage(textEditingController.text, receiverID);
Provider.of<MessageModel>(context, listen: false).sendMessage(
textEditingController.text, receiverID ?? "");
textEditingController.text = "";
},
style: TextStyle(color: primaryColor, fontSize: 15.0),
@@ -152,8 +155,8 @@ class MessageDetail extends StatelessWidget {
child: IconButton(
icon: Icon(Icons.send),
onPressed: () {
Provider.of<MessageModel>(context, listen: false)
.sendMessage(textEditingController.text, receiverID);
Provider.of<MessageModel>(context, listen: false).sendMessage(
textEditingController.text, receiverID ?? "");
textEditingController.text = "";
},
color: primaryColor,
@@ -165,7 +168,8 @@ class MessageDetail extends StatelessWidget {
),
width: double.infinity,
decoration: BoxDecoration(
border: Border(top: BorderSide(color: Colors.grey[700], width: 0.5)),
border:
Border(top: BorderSide(color: Colors.grey.shade700, width: 0.5)),
color: Colors.white),
);
}
@@ -176,7 +180,7 @@ class MessageDetail extends StatelessWidget {
message.messageID != "") {
PackageModel packageModel =
Provider.of<PackageModel>(context, listen: false);
Package p = await packageModel.getPackage(message.messageID);
Package p = await packageModel.getPackage(message.messageID!);
if (p == null) return;
Navigator.push<bool>(context,
CupertinoPageRoute(builder: (context) => PackageInfo(package: p)));
@@ -186,7 +190,7 @@ class MessageDetail extends StatelessWidget {
message.messageID != "") {
MainModel mainModel = Provider.of<MainModel>(context, listen: false);
if (mainModel.user.isCustomer()) {
if (mainModel.user?.isCustomer() ?? false) {
Navigator.push<bool>(
context, CupertinoPageRoute(builder: (context) => Profile()));
} else {
@@ -202,7 +206,7 @@ class MessageDetail extends StatelessWidget {
message.messageID != "") {
ShipmentModel shipmentModel =
Provider.of<ShipmentModel>(context, listen: false);
Shipment s = await shipmentModel.getShipment(message.messageID);
Shipment s = await shipmentModel.getShipment(message.messageID!);
if (s == null) return;
await Navigator.push<bool>(
context,