null safety

This commit is contained in:
phyothandar
2021-09-10 12:00:08 +06:30
parent a144c945b6
commit 5e672937b5
67 changed files with 901 additions and 896 deletions

View File

@@ -14,14 +14,14 @@ import 'package:fcs/pages/widgets/multi_img_file.dart';
import 'package:fcs/pages/widgets/progress.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_icons/flutter_icons.dart';
import 'package:flutter_vector_icons/flutter_vector_icons.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:provider/provider.dart';
typedef void FindCallBack();
class ReceivingEditor extends StatefulWidget {
final Package package;
final Package? package;
const ReceivingEditor({this.package});
@override
_ReceivingEditorState createState() => _ReceivingEditorState();
@@ -30,8 +30,8 @@ class ReceivingEditor extends StatefulWidget {
class _ReceivingEditorState extends State<ReceivingEditor> {
Package package = Package();
bool _isLoading = false;
bool _isNew;
User user;
late bool _isNew;
User? user;
TextEditingController _trackingIDCtl = new TextEditingController();
TextEditingController _remarkCtl = new TextEditingController();
MultiImgController _multiImgController = MultiImgController();
@@ -41,7 +41,7 @@ class _ReceivingEditorState extends State<ReceivingEditor> {
super.initState();
_isNew = widget.package == null;
if (!_isNew) {
package = widget.package;
package = widget.package!;
_trackingIDCtl.text = package.trackingID;
_remarkCtl.text = package.remark;
_multiImgController.setImageUrls = package.photoUrls;
@@ -71,7 +71,7 @@ class _ReceivingEditorState extends State<ReceivingEditor> {
children: <Widget>[
Expanded(
child: DisplayText(
text: user != null ? user.fcsID : "",
text: user != null ? user!.fcsID : "",
labelTextKey: "receiving.fcs.id",
icon: FcsIDIcon(),
)),
@@ -124,7 +124,7 @@ class _ReceivingEditorState extends State<ReceivingEditor> {
title: "Receiving",
);
final namebox = DisplayText(
text: user != null ? user.name : "",
text: user != null ? user!.name : "",
labelTextKey: "receiving.consignee.name",
iconData: Icons.person,
);
@@ -199,17 +199,17 @@ class _ReceivingEditorState extends State<ReceivingEditor> {
}
_scan() async {
PermissionStatus permission =
await PermissionHandler().checkPermissionStatus(PermissionGroup.camera);
if (permission != PermissionStatus.granted) {
Map<PermissionGroup, PermissionStatus> permissions =
await PermissionHandler()
.requestPermissions([PermissionGroup.camera]);
if (permissions[PermissionGroup.camera] != PermissionStatus.granted) {
showMsgDialog(context, "Error", "Camera permission is not granted");
return null;
}
}
// PermissionStatus permission =
// await PermissionHandler().checkPermissionStatus(PermissionGroup.camera);
// if (permission != PermissionStatus.granted) {
// Map<PermissionGroup, PermissionStatus> permissions =
// await PermissionHandler()
// .requestPermissions([PermissionGroup.camera]);
// if (permissions[PermissionGroup.camera] != PermissionStatus.granted) {
// showMsgDialog(context, "Error", "Camera permission is not granted");
// return null;
// }
// }
try {
String barcode = await scanBarcode();
@@ -239,12 +239,12 @@ class _ReceivingEditorState extends State<ReceivingEditor> {
try {
if (_isNew) {
await packageModel.createReceiving(
user, _p, _multiImgController.getAddedFile);
user!, _p, _multiImgController.getAddedFile);
} else {
_p.id = widget.package.id;
_p.id = widget.package!.id;
_p.photoUrls = package.photoUrls;
await packageModel.updateReceiving(
user,
user!,
_p,
_multiImgController.getAddedFile,
_multiImgController.getDeletedUrl);
@@ -269,9 +269,9 @@ class _ReceivingEditorState extends State<ReceivingEditor> {
var _package = Package(
trackingID: _trackingIDCtl.text,
remark: _remarkCtl.text,
fcsID: user.fcsID,
photoUrls: widget.package.photoUrls);
return widget.package.isChangedForEdit(_package) ||
fcsID: user!.fcsID,
photoUrls: widget.package!.photoUrls);
return widget.package!.isChangedForEdit(_package) ||
_multiImgController.getAddedFile.isNotEmpty ||
_multiImgController.getDeletedUrl.isNotEmpty;
}

View File

@@ -13,7 +13,7 @@ import 'package:fcs/pages/widgets/progress.dart';
import 'package:fcs/pages/widgets/status_tree.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_icons/flutter_icons.dart';
import 'package:flutter_vector_icons/flutter_vector_icons.dart';
import 'package:intl/intl.dart';
import 'package:provider/provider.dart';
@@ -22,7 +22,7 @@ import 'receiving_editor.dart';
final DateFormat dateFormat = DateFormat("d MMM yyyy");
class ReceivingInfo extends StatefulWidget {
final Package package;
final Package? package;
ReceivingInfo({this.package});
@override
@@ -30,14 +30,14 @@ class ReceivingInfo extends StatefulWidget {
}
class _ReceivingInfoState extends State<ReceivingInfo> {
Package _package;
Package? _package;
bool _isLoading = false;
MultiImgController multiImgController = MultiImgController();
@override
void initState() {
super.initState();
initPackage(widget.package);
initPackage(widget.package!);
}
initPackage(Package package) {
@@ -57,22 +57,22 @@ class _ReceivingInfoState extends State<ReceivingInfo> {
bool isCustomer = Provider.of<MainModel>(context).isCustomer();
final trackingIdBox = DisplayText(
text: _package.trackingID,
text: _package!.trackingID,
labelTextKey: "package.tracking.id",
iconData: MaterialCommunityIcons.barcode_scan,
);
var fcsIDBox = DisplayText(
text: _package.fcsID,
text: _package!.fcsID,
labelTextKey: "processing.fcs.id",
icon: FcsIDIcon(),
);
final customerNameBox = DisplayText(
text: _package.userName,
text: _package!.userName,
labelTextKey: "package.create.name",
iconData: Icons.perm_identity,
);
final remarkBox = DisplayText(
text: _package.remark ?? "-",
text: _package!.remark ?? "-",
labelTextKey: "package.edit.remark",
iconData: Entypo.new_message,
);
@@ -123,10 +123,10 @@ class _ReceivingInfoState extends State<ReceivingInfo> {
fcsIDBox,
customerNameBox,
remarkBox,
_package.photoUrls.length == 0 ? Container() : img,
_package!.photoUrls.length == 0 ? Container() : img,
StatusTree(
shipmentHistory: _package.shipmentHistory,
currentStatus: _package.status),
shipmentHistory: _package!.shipmentHistory,
currentStatus: _package!.status),
SizedBox(
height: 20,
)
@@ -149,7 +149,7 @@ class _ReceivingInfoState extends State<ReceivingInfo> {
);
PackageModel packageModel =
Provider.of<PackageModel>(context, listen: false);
var pkg = await packageModel.getPackage(widget.package.id);
var pkg = await packageModel.getPackage(widget.package!.id);
initPackage(pkg);
}
@@ -164,7 +164,7 @@ class _ReceivingInfoState extends State<ReceivingInfo> {
try {
PackageModel packageModel =
Provider.of<PackageModel>(context, listen: false);
await packageModel.deleteReceiving(_package);
await packageModel.deleteReceiving(_package!);
Navigator.pop(context);
} catch (e) {
showMsgDialog(context, "Error", e.toString());

View File

@@ -3,7 +3,7 @@ import 'package:fcs/helpers/theme.dart';
import 'package:fcs/pages/main/util.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_icons/flutter_icons.dart';
import 'package:flutter_vector_icons/flutter_vector_icons.dart';
import 'package:intl/intl.dart';
import 'receiving_info.dart';
@@ -11,12 +11,12 @@ import 'receiving_info.dart';
typedef CallbackPackageSelect(Package package);
class ReceivingListRow extends StatelessWidget {
final Package package;
final CallbackPackageSelect callbackPackageSelect;
final Package? package;
final CallbackPackageSelect? callbackPackageSelect;
final double dotSize = 15.0;
final DateFormat dateFormat = new DateFormat("dd MMM yyyy");
ReceivingListRow({Key key, this.package, this.callbackPackageSelect})
ReceivingListRow({Key? key, this.package, this.callbackPackageSelect})
: super(key: key);
@override
@@ -24,7 +24,7 @@ class ReceivingListRow extends StatelessWidget {
return InkWell(
onTap: () {
if (callbackPackageSelect != null) {
callbackPackageSelect(package);
callbackPackageSelect!(package!);
return;
}
Navigator.push(
@@ -55,7 +55,7 @@ class ReceivingListRow extends StatelessWidget {
Padding(
padding: const EdgeInsets.only(left: 8.0),
child: new Text(
package.id == null ? '' : package.trackingID,
package!.id == null ? '' : package!.trackingID,
style: new TextStyle(
fontSize: 15.0, color: Colors.black),
),
@@ -63,7 +63,7 @@ class ReceivingListRow extends StatelessWidget {
Padding(
padding: const EdgeInsets.only(left: 8.0),
child: new Text(
package.market == null ? '' : package.market,
package!.market == null ? '' : package!.market,
style: new TextStyle(
fontSize: 15.0, color: Colors.black),
),
@@ -79,12 +79,12 @@ class ReceivingListRow extends StatelessWidget {
children: <Widget>[
Padding(
padding: const EdgeInsets.all(3.0),
child: getStatus(package.status),
child: getStatus(package!.status),
),
Padding(
padding: const EdgeInsets.all(0),
child: new Text(
dateFormat.format(package.currentStatusDate),
dateFormat.format(package!.currentStatusDate),
style: new TextStyle(fontSize: 15.0, color: Colors.grey),
),
),