弹出电话页面
This commit is contained in:
@@ -1,7 +1,11 @@
|
||||
import 'package:cashier_reserve/call/call_view.dart';
|
||||
import 'package:cashier_reserve/common/base/ui.dart';
|
||||
import 'package:cashier_reserve/common/base/ui_model.dart';
|
||||
import 'package:cashier_reserve/common/channel/model/call_status_change_model.dart';
|
||||
import 'package:cashier_reserve/common/manager/app_manager.dart';
|
||||
import 'package:cashier_reserve/common/manager/event_manager.dart';
|
||||
import 'package:cashier_reserve/common/print/print.dart';
|
||||
import 'package:cashier_reserve/common/push/push.dart';
|
||||
|
||||
class HomeViewModel extends BaseUIModel {
|
||||
int _currentIndex = 0;
|
||||
@@ -37,12 +41,23 @@ class HomeViewModel extends BaseUIModel {
|
||||
|
||||
PageController? get pageController => _pageController;
|
||||
|
||||
bool isShowCallView = false;
|
||||
|
||||
HomeViewModel() {
|
||||
_pageController = PageController(initialPage: 0);
|
||||
|
||||
Future.delayed(const Duration(milliseconds: 700), () {
|
||||
_checkLogin();
|
||||
});
|
||||
|
||||
EventManager.addListener<CallStatusChangeEvent>(this, (event) {
|
||||
yjPrint("HomeViewModel CallStatusChangeEvent state: ${event.model.state}");
|
||||
if (event.model.state == "Incoming") {
|
||||
showCallInfoView(event.model);
|
||||
} else {
|
||||
hideCallInfoView();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -65,4 +80,20 @@ class HomeViewModel extends BaseUIModel {
|
||||
|
||||
_pageController?.jumpToPage(index);
|
||||
}
|
||||
|
||||
showCallInfoView(CallStatusChangeModel model) {
|
||||
if (isShowCallView) {
|
||||
return;
|
||||
}
|
||||
YJPush.presentWidget(context!, CallView(statusModel: model));
|
||||
isShowCallView = true;
|
||||
}
|
||||
|
||||
hideCallInfoView() {
|
||||
if (!isShowCallView) {
|
||||
return;
|
||||
}
|
||||
Navigator.of(context!).pop();
|
||||
isShowCallView = false;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user