From 48c5a2c66c549d26fecadc6d2dad1924fdd1cc8b Mon Sep 17 00:00:00 2001
From: Davin <591807572@qq.com>
Date: 星期四, 27 七月 2023 13:52:08 +0800
Subject: [PATCH] bugfix 猫眼呼叫问题修复

---
 EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.m |   63 +++++++++++++++++++++++++++++--
 1 files changed, 59 insertions(+), 4 deletions(-)

diff --git a/EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.m b/EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.m
index fc46471..d8cfecf 100644
--- a/EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.m
+++ b/EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.m
@@ -284,6 +284,14 @@
     return _doorPlayerView;
 }
 
+- (void)viewWillAppear:(BOOL)animated {
+    [super viewWillAppear:animated];
+    if (self.navigationController) {
+        self.navigationController.navigationBar.hidden = NO;
+        [self.navigationController setNavigationBarHidden:NO];
+    }
+}
+
 - (void)viewDidAppear:(BOOL)animated {
     [super viewDidAppear:animated];
     self.navigationController.navigationBar.hidden = NO;//2021-02-01
@@ -501,7 +509,7 @@
     [self.ignoreButton setTitle:HDLEZLocallizedString(@"device_callout_ignore") forState:UIControlStateNormal];
     self.ignoreButton.imagePosition = HDLEZOPButtonImagePositionTop;
     self.ignoreButton.spacingBetweenImageAndTitle = 12.;
-    [self.answerButton setTitle:HDLEZLocallizedString(@"device_callout_answer") forState:UIControlStateNormal];
+    [self.answerButton setTitle:HDLEZLocallizedString(@"device_callout_answered") forState:UIControlStateNormal];
     self.answerButton.imagePosition = HDLEZOPButtonImagePositionTop;
     self.answerButton.spacingBetweenImageAndTitle = 12.;
     
@@ -512,11 +520,22 @@
     [self.fullSceneToolView configPlayStatus:YES soundOn:YES videoLevel:_cameraInfo.videoLevel toolOperation:^(HDLEZVideoFullSceneOperation operationType) {
         [weakSelf doorLockFullSceneOperation:operationType];
     }];
+    
+    // 鎸傛柇寮规
+    if (_isShowAlert) {
+        [self showCallOutAlertView];
+    } else {
+        [self hiddenCallOutAlertView];
+    }
 }
 
 /*寮�閿�
  */
 -(void)unlockDoor{
+    if (![self isSupportOneKeyUnlockDoor]) {    // 涓嶆敮鎸佷竴閿紑閿�
+        [UIView dd_showMessage:@"璇ヨ澶囦笉鏀寔涓�閿紑閿�"];
+        return;
+    }
     [HDLEZAlertInputView showInputAlertWithtitle:HDLEZLocallizedString(@"device_please_input_door_password") cancleTitle:HDLEZLocallizedString(@"device_temp_cancle") sureTitle:HDLEZLocallizedString(@"device_temp_sure") keyboardType:UIKeyboardTypeASCIICapableNumberPad cancleBlock:^{
         
     } sureBlock:^(NSString * _Nonnull content) {
@@ -864,7 +883,11 @@
     self.streamToken=tokenInfo.token;
     
     if (!_unlockButton.isEnabled) {
-        [_unlockButton setImage:[UIImage imageNamed:@"hdl_ez_ic_unlock"] forState:UIControlStateNormal];
+        if ([self isSupportOneKeyUnlockDoor]) {    // 鏀寔涓�閿紑閿�
+            [_unlockButton setImage:[UIImage imageNamed:@"hdl_ez_ic_unlock"] forState:UIControlStateNormal];
+        } else {
+            [_unlockButton setImage:[UIImage imageNamed:@"hdl_ez_ic_unlock_disable"] forState:UIControlStateNormal];
+        }
         _unlockButton.enabled=YES;
     }
 }
@@ -947,7 +970,7 @@
         [self.scrollView setTranslatesAutoresizingMaskIntoConstraints:NO];
         [self.playerView setTranslatesAutoresizingMaskIntoConstraints:NO];
         [NSLayoutConstraint deactivateConstraints:@[self.scrollViewTopMargin, self.scrollViewWHRatio, self.playerViewWHRatio, self.playerViewBottomMargin]];
-        self.scrollViewTopMargin = [NSLayoutConstraint constraintWithItem:self.scrollView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.topLayoutGuide attribute:NSLayoutAttributeBottom multiplier:1.0 constant:-HDLEZ_APP_STATUS_BAR_HEIGHT];
+        self.scrollViewTopMargin = [NSLayoutConstraint constraintWithItem:self.scrollView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.topLayoutGuide attribute:NSLayoutAttributeBottom multiplier:1.0 constant:-[self hdlEZStatusBarHeight]];
         self.scrollViewWHRatio = [NSLayoutConstraint constraintWithItem:self.scrollView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:self.scrollView attribute:NSLayoutAttributeHeight multiplier:HDLEZ_APP_SCREEN_WIDTH/HDLEZ_APP_SCREEN_HEIGHT constant:0];
         
         self.playerViewWHRatio = [NSLayoutConstraint constraintWithItem:self.playerView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:self.playerView attribute:NSLayoutAttributeHeight multiplier:self.doorPlayerAspectRatio constant:0];
@@ -1429,6 +1452,12 @@
 - (IBAction)clickCalloutHangupAction:(id)sender {
     self.isShowAlert = NO;
     [self closeTalkView:self.talkCloseButton];
+    if (self.msgId && self.msgId.length > 0) {
+        [[EZHttpUtil sharedManager] updateAnswerStatusWithMsgId:self.msgId answerStatus:@"no_answer" completion:^(ResponseData * _Nonnull responseData) {
+            HDLEZLog(@"###########鎸傛柇####锛�%@", [responseData yy_modelToJSONString]);
+        }];
+    }
+    [self.navigationController popViewControllerAnimated:YES];
 }
 
 - (IBAction)clickCalloutIgnoreAction:(id)sender {
@@ -1441,6 +1470,12 @@
     self.isShowAlert = NO;
     self.isAnswering = YES;
     [self talkButtonClicked:self.talkButton];
+    if (self.msgId && self.msgId.length > 0) {
+        [[EZHttpUtil sharedManager] updateAnswerStatusWithMsgId:self.msgId answerStatus:@"answer" completion:^(ResponseData * _Nonnull responseData) {
+            HDLEZLog(@"###########鎺ュ惉####锛�%@", [responseData yy_modelToJSONString]);
+        }];
+    }
+    [self.navigationController popViewControllerAnimated:YES];
 }
 
 
@@ -1766,7 +1801,7 @@
 #pragma Setter
 - (void)setIsShowAlert:(BOOL)isShowAlert {
     _isShowAlert = isShowAlert;
-    if (isShowAlert) {
+    if (_isShowAlert) {
         [self showCallOutAlertView];
     } else {
         [self hiddenCallOutAlertView];
@@ -1786,4 +1821,24 @@
     return YES;
 }
 
+- (CGFloat)hdlEZStatusBarHeight {
+    if (@available(iOS 13.0, *)) {
+        NSSet *set = [UIApplication sharedApplication].connectedScenes;
+        UIWindowScene *windowScene = [set anyObject];
+        UIStatusBarManager *statusBarManager = windowScene.statusBarManager;
+        return statusBarManager.statusBarFrame.size.height;
+    } else {
+        return [UIApplication sharedApplication].statusBarFrame.size.height;
+    }
+}
+
+/// 鏄惁鏀寔涓�閿紑閿�
+- (BOOL)isSupportOneKeyUnlockDoor {
+    BOOL isSupport = YES;
+    if (self.deviceInfo && self.deviceInfo.deviceType && ([self.deviceInfo.deviceType containsString:@"LT20VC"] || [self.deviceInfo.deviceType containsString:@"LT20VC"])) {
+        isSupport = NO;
+    }
+    return isSupport;
+}
+
 @end

--
Gitblit v1.8.0