fix(ui): Fix some ui bugs in DetailDeviceScreen, HomeScreen, UnregisterDeviceDialog
This commit is contained in:
@@ -1,12 +1,14 @@
|
||||
// ignore_for_file: use_build_context_synchronously
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import '../../bloc/devices_manager_bloc.dart';
|
||||
import '../../product/constant/enums/role_enums.dart';
|
||||
import '../../product/services/api_services.dart';
|
||||
import '../../product/services/language_services.dart';
|
||||
import '../../product/utils/response_status_utils.dart';
|
||||
|
||||
handleDeleteDevice(BuildContext context, String thingID, String role) {
|
||||
handleDeleteDevice(BuildContext context, DevicesManagerBloc devicesManagerBloc,
|
||||
extID, String role) {
|
||||
showDialog(
|
||||
context: context,
|
||||
builder: (dialogContext) {
|
||||
@@ -26,9 +28,10 @@ handleDeleteDevice(BuildContext context, String thingID, String role) {
|
||||
appLocalization(dialogContext).delete_button_content,
|
||||
style: const TextStyle(color: Colors.red),
|
||||
),
|
||||
onPressed: () {
|
||||
deleteOrUnregisterDevice(context, thingID, role);
|
||||
Navigator.of(context).pop();
|
||||
onPressed: () async {
|
||||
await deleteOrUnregisterDevice(
|
||||
context, devicesManagerBloc, extID, role);
|
||||
Navigator.of(dialogContext).pop();
|
||||
},
|
||||
),
|
||||
],
|
||||
@@ -37,12 +40,12 @@ handleDeleteDevice(BuildContext context, String thingID, String role) {
|
||||
);
|
||||
}
|
||||
|
||||
deleteOrUnregisterDevice(
|
||||
BuildContext context, String thingID, String role) async {
|
||||
deleteOrUnregisterDevice(BuildContext context, DevicesManagerBloc devicesBloc,
|
||||
String extID, String role) async {
|
||||
APIServices apiServices = APIServices();
|
||||
if (role == RoleEnums.USER.name) {
|
||||
Map<String, dynamic> body = {
|
||||
"thing_id": thingID,
|
||||
"ext_id": extID,
|
||||
};
|
||||
int statusCode = await apiServices.unregisterDevice(body);
|
||||
showSnackBarResponseByStatusCode(
|
||||
@@ -50,12 +53,14 @@ deleteOrUnregisterDevice(
|
||||
statusCode,
|
||||
appLocalization(context).notification_delete_device_success,
|
||||
appLocalization(context).notification_delete_device_failed);
|
||||
devicesBloc.getDeviceByState(-2);
|
||||
} else {
|
||||
int statusCode = await apiServices.deleteDeviceByAdmin(thingID);
|
||||
int statusCode = await apiServices.deleteDeviceByAdmin(extID);
|
||||
showSnackBarResponseByStatusCode(
|
||||
context,
|
||||
statusCode,
|
||||
appLocalization(context).notification_delete_device_success,
|
||||
appLocalization(context).notification_delete_device_failed);
|
||||
devicesBloc.getDeviceByState(-2);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user