From 83de5ad48e86873b698c904f8954576e8b31dfb5 Mon Sep 17 00:00:00 2001
From: Davin <591807572@qq.com>
Date: 星期二, 20 六月 2023 11:35:36 +0800
Subject: [PATCH] feature 门锁全屏 && 设置页面UI

---
 EZSDK/EZSDK/EZ/UIViewControllers/EZDeviceTableViewController.m         |    3 
 EZSDK/EZSDK/EZ/UIViewControllers/EZSettingViewController.m             |  157 ++++++++++++++++-----
 EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.m            |   96 +++++++++++++
 EZDemo/HDLEZDemo/HDLEZDemo/libEZSDK.a                                  |    0 
 EZDemo/HDLEZDemo/HDLEZDemo/EZMain.storyboard                           |  116 ++++++++++++++++
 EZDemo/HDLEZDemo/HDLEZDemo/resources/zh-Hans.lproj/Localizable.strings |    7 +
 EZDemo/HDLEZDemo/HDLEZDemo/resources/en.lproj/Localizable.strings      |    7 +
 EZSDK/EZSDK/EZSDK.m                                                    |    1 
 EZDemo/HDLEZDemo/HDLEZDemo/AppDelegate.m                               |    8 
 EZDemo/HDLEZDemo/HDLEZDemo/ViewController.m                            |    2 
 EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.h            |    2 
 11 files changed, 353 insertions(+), 46 deletions(-)

diff --git a/EZDemo/HDLEZDemo/HDLEZDemo/AppDelegate.m b/EZDemo/HDLEZDemo/HDLEZDemo/AppDelegate.m
index 286b072..55783a5 100644
--- a/EZDemo/HDLEZDemo/HDLEZDemo/AppDelegate.m
+++ b/EZDemo/HDLEZDemo/HDLEZDemo/AppDelegate.m
@@ -25,10 +25,10 @@
     // Override point for customization after application launch.
     [[EZSDK sharedInstance] initLibWithAppKey:@"1aa98a90489b4838b966b57018b4b04b" globalAppKey:@"1aa98a90489b4838b966b57018b4b04b"];
 //    [[EZSDK sharedInstance] initLibWithAppKey:@"941b1b72b6294998acfd36c14931b675" globalAppKey:@"941b1b72b6294998acfd36c14931b675"];
-    [[EZSDK sharedInstance] setHDlAccessToken:@"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiI1NTc3YTY5ZDYxMTM0YzgxYjFiMzQ3NjczYjAzYTI3MSIsImNvbXBhbnlJZCI6IjAiLCJyb2xlIjoiIiwiaGVhZGVyUHJlZml4IjoiQmVhcmVyICIsInVzZXJBY2NvdW50Ijoid3hyIiwidGVuYW50SWQiOiIyMCIsInVzZXJUeXBlIjoiVVNFUl9DIiwidG9rZW5UeXBlIjoiYWNjZXNzX3Rva2VuIiwidXNlck5hbWUiOiJ3eHIiLCJ1c2VyRGF0YVJpZ2h0IjoiMSIsIm9wZW5BcHBsaWNhdGlvbklkIjoiMCIsInVzZXJJZCI6IjEzOTIwMzU1NjgyMDQ0MjMxNjkiLCJleHAiOjE2ODE3MzEwOTMsIm5iZiI6MTY4MTcyMzg5M30.E-h5ba1N1vJZjrNgvBAx0XLg13oTxITqjMVuzxeXdgoxYRzhmYUlGATIz_B3OK71Bv91pVq-q2Z6LlA8-40pUNDGN_YGLBSt4p34KliTGisr106ksoFd5B2f3qJt3bgfDHANJCp8tfFcUBGSdX0I9TSworLkQYS0K4Asd_t-ObA" refreshToken:@"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJmNDZlOTYzMDQ1ODU0MzI4YTUwOWE2ZDljYmE2YjU1NCIsImNvbXBhbnlJZCI6IjAiLCJoZWFkZXJQcmVmaXgiOiJCZWFyZXIgIiwidGVuYW50SWQiOiIyMCIsInRva2VuVHlwZSI6InJlZnJlc2hfdG9rZW4iLCJvcGVuQXBwbGljYXRpb25JZCI6IjAiLCJ1c2VySWQiOiIxMzkyMDM1NTY4MjA0NDIzMTY5IiwiZXhwIjoxNjgyMzI4NjkzLCJuYmYiOjE2ODE3MjM4OTN9.iQu24WYLPqr3g7LUklZFS7JlY5eO_smPDgUwM3z9s2ldK528nw1EMp0SQgy5USpKpgFzATliDLpb_UDXhx-8-uUjO9dtL8dY3P-I9xmpwjnF13I8eYg5h40hZa5ihuokURsOf9DnD7cjLEItQ_FCsT8rdu9vFzQSE-TWoTmkSV8"];
-    [[EZSDK sharedInstance] setRequestHttpsHostAndPlatform:@"https://test-gz.hdlcontrol.com" platform:1 homeId:@"1547099040465408002"];
-//    [[EZSDK sharedInstance] setRequestHttpsHostAndPlatform:@"https://test-gz.hdlcontrol.com" platform:1 homeId:@"1644171733588557825"];
-    [[EZSDK sharedInstance] setEZAccessToken:@"ra.be9kj2gsdeldsty13rdsieay3wigmdxn-9dccz2nop6-11v2z1o-jslwzcqgz"];
+    [[EZSDK sharedInstance] setHDlAccessToken:@"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiIyM2UwOTM3YjliNGU0YzU4YWUxMzRiODdlNzkxY2M0NSIsImNvbXBhbnlJZCI6IjAiLCJyb2xlIjoiIiwiaGVhZGVyUHJlZml4IjoiQmVhcmVyICIsInRlbmFudElkIjoiMjAiLCJ1c2VyVHlwZSI6IlVTRVJfQyIsInRva2VuVHlwZSI6ImFjY2Vzc190b2tlbiIsInVzZXJOYW1lIjoiS2FlZGUiLCJ1c2VyRGF0YVJpZ2h0IjoiMSIsIm9wZW5BcHBsaWNhdGlvbklkIjoiMCIsInVzZXJJZCI6IjEzNTAyODA5OTU5OTg4NjMzNjEiLCJleHAiOjE2ODcxNzY4NDgsIm5iZiI6MTY4NzE2OTY0OH0.XqlQEtiyKvoVSo3HmDOW9LSRhdJI7KOGWEOLDCerb0Nod_rDnjPYvYuPct-vPGYhXklEqqcPz0vILHimmS3VpJj04O_5q_Rgsjnpp11rUJ2CxoqZmXAdpfis5HHeIj3n_UVg1exCjsyK-DOdEijIgaToGrLuHM5uvgfD_nvvNDI" refreshToken:@"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiI2MWI3Y2Y4YmFlMjY0NzMyYjc5YjFiYWUzMzE3NzYxMSIsImNvbXBhbnlJZCI6IjAiLCJoZWFkZXJQcmVmaXgiOiJCZWFyZXIgIiwidGVuYW50SWQiOiIyMCIsInRva2VuVHlwZSI6InJlZnJlc2hfdG9rZW4iLCJvcGVuQXBwbGljYXRpb25JZCI6IjAiLCJ1c2VySWQiOiIxMzUwMjgwOTk1OTk4ODYzMzYxIiwiZXhwIjoxNjg3Nzc0NDQ4LCJuYmYiOjE2ODcxNjk2NDh9.eUcIwEGgpX3xSLvLfSlyANsTNpi0IHGkspF2O3igyRIDUWcQcs8fPouLBzXf29y87_A9AuCURI6ZAj5OPnC9xafQkgnV9_KTBAG62kGTRbAGiOBiAtyJmD6HQ4zUuI8sNmzoI67ewhu2gCQPFPoHOlJ8duODpbSk3NkUrYvxL2k"];
+//    [[EZSDK sharedInstance] setRequestHttpsHostAndPlatform:@"https://test-gz.hdlcontrol.com" platform:1 homeId:@"1547099040465408002"];
+    [[EZSDK sharedInstance] setRequestHttpsHostAndPlatform:@"https://nearest.hdlcontrol.com" platform:1 homeId:@"1546324800135176193"];
+    [[EZSDK sharedInstance] setEZAccessToken:@"ra.6noaub1s86aqfnbz56vp17q2cn7w5bqp-1lbac5acq7-1m25l9w-ai5d2u8gp"];
 //    [[EZSDK sharedInstance] setEZAccessToken:@"ra.3hkirwcadrpfmaa89wep99io3wto4yds-7zptb10d20-1wxg4f3-ygiojudee"];
 
     
diff --git a/EZDemo/HDLEZDemo/HDLEZDemo/EZMain.storyboard b/EZDemo/HDLEZDemo/HDLEZDemo/EZMain.storyboard
index d163528..eb97911 100644
--- a/EZDemo/HDLEZDemo/HDLEZDemo/EZMain.storyboard
+++ b/EZDemo/HDLEZDemo/HDLEZDemo/EZMain.storyboard
@@ -1289,6 +1289,98 @@
                                 <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                 <nil key="highlightedColor"/>
                             </label>
+                            <view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="sMv-Yh-W5N">
+                                <rect key="frame" x="0.0" y="312" width="375" height="355"/>
+                                <subviews>
+                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="---" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="8Fe-E7-C5g">
+                                        <rect key="frame" x="32" y="89" width="311" height="21"/>
+                                        <fontDescription key="fontDescription" type="system" pointSize="17"/>
+                                        <color key="textColor" red="0.090196078430000007" green="0.094117647060000004" blue="0.29411764709999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                        <nil key="highlightedColor"/>
+                                    </label>
+                                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="aq5-rn-Dgo">
+                                        <rect key="frame" x="142.5" y="160" width="84.5" height="35"/>
+                                        <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                        <state key="normal" title="Button"/>
+                                        <buttonConfiguration key="configuration" style="plain" title="蹇界暐"/>
+                                        <userDefinedRuntimeAttributes>
+                                            <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
+                                                <integer key="value" value="8"/>
+                                            </userDefinedRuntimeAttribute>
+                                            <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
+                                            <userDefinedRuntimeAttribute type="number" keyPath="layer.borderWidth">
+                                                <real key="value" value="0.5"/>
+                                            </userDefinedRuntimeAttribute>
+                                            <userDefinedRuntimeAttribute type="color" keyPath="layer. borderColorWithUIColor">
+                                                <color key="value" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                            </userDefinedRuntimeAttribute>
+                                        </userDefinedRuntimeAttributes>
+                                        <connections>
+                                            <action selector="clickCalloutIgnoreAction:" destination="uBF-Yq-Qo0" eventType="touchUpInside" id="fTQ-p0-9jk"/>
+                                        </connections>
+                                    </button>
+                                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="2bC-B5-gMZ">
+                                        <rect key="frame" x="259" y="160" width="84" height="35"/>
+                                        <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                        <state key="normal" title="Button"/>
+                                        <buttonConfiguration key="configuration" style="plain" title="鎺ュ惉"/>
+                                        <userDefinedRuntimeAttributes>
+                                            <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
+                                                <integer key="value" value="8"/>
+                                            </userDefinedRuntimeAttribute>
+                                            <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
+                                            <userDefinedRuntimeAttribute type="number" keyPath="layer.borderWidth">
+                                                <real key="value" value="0.5"/>
+                                            </userDefinedRuntimeAttribute>
+                                            <userDefinedRuntimeAttribute type="color" keyPath="layer. borderColorWithUIColor">
+                                                <color key="value" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                            </userDefinedRuntimeAttribute>
+                                        </userDefinedRuntimeAttributes>
+                                        <connections>
+                                            <action selector="clickCalloutAnswerAction:" destination="uBF-Yq-Qo0" eventType="touchUpInside" id="2tR-65-1sv"/>
+                                        </connections>
+                                    </button>
+                                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="jPI-nC-uAq">
+                                        <rect key="frame" x="32" y="160" width="78.5" height="35"/>
+                                        <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                        <state key="normal" title="Button"/>
+                                        <buttonConfiguration key="configuration" style="plain" title="鎸傛柇"/>
+                                        <userDefinedRuntimeAttributes>
+                                            <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
+                                                <integer key="value" value="8"/>
+                                            </userDefinedRuntimeAttribute>
+                                            <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
+                                            <userDefinedRuntimeAttribute type="number" keyPath="layer.borderWidth">
+                                                <real key="value" value="0.5"/>
+                                            </userDefinedRuntimeAttribute>
+                                            <userDefinedRuntimeAttribute type="color" keyPath="layer. borderColorWithUIColor">
+                                                <color key="value" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                            </userDefinedRuntimeAttribute>
+                                        </userDefinedRuntimeAttributes>
+                                        <connections>
+                                            <action selector="clickCalloutHangupAction:" destination="uBF-Yq-Qo0" eventType="touchUpInside" id="Szo-xH-Mh6"/>
+                                        </connections>
+                                    </button>
+                                </subviews>
+                                <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                <constraints>
+                                    <constraint firstItem="aq5-rn-Dgo" firstAttribute="centerY" secondItem="jPI-nC-uAq" secondAttribute="centerY" id="0YK-rV-xIW"/>
+                                    <constraint firstAttribute="trailing" secondItem="8Fe-E7-C5g" secondAttribute="trailing" constant="32" id="8NR-Fc-tPc"/>
+                                    <constraint firstItem="aq5-rn-Dgo" firstAttribute="leading" secondItem="jPI-nC-uAq" secondAttribute="trailing" constant="32" id="8ht-5u-0y7"/>
+                                    <constraint firstItem="2bC-B5-gMZ" firstAttribute="height" secondItem="aq5-rn-Dgo" secondAttribute="height" id="B0O-2O-7OG"/>
+                                    <constraint firstAttribute="height" secondItem="aq5-rn-Dgo" secondAttribute="height" multiplier="10.1429" id="BR6-y6-ljY"/>
+                                    <constraint firstItem="jPI-nC-uAq" firstAttribute="centerY" secondItem="sMv-Yh-W5N" secondAttribute="centerY" id="Fa3-MI-9zW"/>
+                                    <constraint firstItem="aq5-rn-Dgo" firstAttribute="width" secondItem="jPI-nC-uAq" secondAttribute="width" multiplier="1.07143" id="Jzm-Kq-s1B"/>
+                                    <constraint firstItem="aq5-rn-Dgo" firstAttribute="top" secondItem="8Fe-E7-C5g" secondAttribute="bottom" constant="50" id="aM7-YH-wta"/>
+                                    <constraint firstItem="aq5-rn-Dgo" firstAttribute="height" secondItem="jPI-nC-uAq" secondAttribute="height" id="dri-gY-bvB"/>
+                                    <constraint firstItem="jPI-nC-uAq" firstAttribute="leading" secondItem="sMv-Yh-W5N" secondAttribute="leading" constant="32" id="eUw-x2-5HY"/>
+                                    <constraint firstItem="2bC-B5-gMZ" firstAttribute="leading" secondItem="aq5-rn-Dgo" secondAttribute="trailing" constant="32" id="eu1-g4-zxI"/>
+                                    <constraint firstAttribute="trailing" secondItem="2bC-B5-gMZ" secondAttribute="trailing" constant="32" id="fzR-kq-9dw"/>
+                                    <constraint firstItem="2bC-B5-gMZ" firstAttribute="centerY" secondItem="aq5-rn-Dgo" secondAttribute="centerY" id="jQf-ae-vvC"/>
+                                    <constraint firstItem="8Fe-E7-C5g" firstAttribute="leading" secondItem="sMv-Yh-W5N" secondAttribute="leading" constant="32" id="p4O-md-aUe"/>
+                                    <constraint firstItem="2bC-B5-gMZ" firstAttribute="width" secondItem="aq5-rn-Dgo" secondAttribute="width" id="w2D-Ia-3nQ"/>
+                                </constraints>
+                            </view>
                         </subviews>
                         <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                         <constraints>
@@ -1297,6 +1389,7 @@
                             <constraint firstItem="YwB-6z-DKL" firstAttribute="leading" secondItem="PYB-vu-Xcw" secondAttribute="leading" id="135-mO-STg"/>
                             <constraint firstItem="7Gq-77-ypg" firstAttribute="top" secondItem="NRj-hs-uOI" secondAttribute="bottom" priority="751" constant="37" id="4Dh-L5-Wxp"/>
                             <constraint firstItem="YwB-6z-DKL" firstAttribute="centerX" secondItem="PYB-vu-Xcw" secondAttribute="centerX" id="58C-Bi-adb"/>
+                            <constraint firstItem="3qm-Zv-a7S" firstAttribute="top" secondItem="sMv-Yh-W5N" secondAttribute="bottom" id="5fc-VK-Tfj"/>
                             <constraint firstItem="dTs-1h-o4p" firstAttribute="centerX" secondItem="PYB-vu-Xcw" secondAttribute="centerX" id="7Nq-GR-ypc"/>
                             <constraint firstItem="NRj-hs-uOI" firstAttribute="trailing" secondItem="1FE-Su-4U4" secondAttribute="trailing" id="9po-jh-PJt"/>
                             <constraint firstAttribute="trailing" secondItem="NRj-hs-uOI" secondAttribute="trailing" id="G3Q-MC-BpN"/>
@@ -1306,6 +1399,7 @@
                             <constraint firstItem="1FE-Su-4U4" firstAttribute="top" secondItem="dTs-1h-o4p" secondAttribute="bottom" id="Qae-km-Xxm"/>
                             <constraint firstItem="NRj-hs-uOI" firstAttribute="centerY" secondItem="yYv-tJ-QCV" secondAttribute="centerY" id="TGA-a5-AUm"/>
                             <constraint firstItem="nkn-oC-NfP" firstAttribute="top" secondItem="heE-pR-PSR" secondAttribute="bottom" id="Tn0-Se-wHE"/>
+                            <constraint firstItem="sMv-Yh-W5N" firstAttribute="top" secondItem="7Gq-77-ypg" secondAttribute="top" id="TvP-3j-NV3"/>
                             <constraint firstItem="nkn-oC-NfP" firstAttribute="leading" secondItem="PYB-vu-Xcw" secondAttribute="leading" id="YSp-TA-bZd"/>
                             <constraint firstItem="yYv-tJ-QCV" firstAttribute="centerX" secondItem="YwB-6z-DKL" secondAttribute="centerX" id="Yt6-5R-nAw"/>
                             <constraint firstItem="1FE-Su-4U4" firstAttribute="top" secondItem="NRj-hs-uOI" secondAttribute="bottom" id="aO9-KQ-MPh"/>
@@ -1314,6 +1408,7 @@
                             <constraint firstItem="3qm-Zv-a7S" firstAttribute="top" secondItem="gFl-PI-CLn" secondAttribute="bottom" id="fSZ-Xw-PGz"/>
                             <constraint firstItem="gFl-PI-CLn" firstAttribute="leading" secondItem="PYB-vu-Xcw" secondAttribute="leading" id="hvI-bX-2fD"/>
                             <constraint firstItem="3XK-Ur-ZIj" firstAttribute="leading" secondItem="PYB-vu-Xcw" secondAttribute="leading" constant="16" id="hya-DL-nrl"/>
+                            <constraint firstItem="sMv-Yh-W5N" firstAttribute="trailing" secondItem="PYB-vu-Xcw" secondAttribute="trailing" id="jzU-g2-HL3"/>
                             <constraint firstItem="1FE-Su-4U4" firstAttribute="leading" secondItem="PYB-vu-Xcw" secondAttribute="leading" id="mfp-Y3-aJF"/>
                             <constraint firstItem="7Gq-77-ypg" firstAttribute="leading" secondItem="PYB-vu-Xcw" secondAttribute="leading" id="nIY-1B-8KJ"/>
                             <constraint firstItem="NRj-hs-uOI" firstAttribute="leading" secondItem="PYB-vu-Xcw" secondAttribute="leading" id="opo-g8-z05"/>
@@ -1323,18 +1418,23 @@
                             <constraint firstAttribute="trailing" secondItem="gFl-PI-CLn" secondAttribute="trailing" id="vZX-0k-C1e"/>
                             <constraint firstItem="3XK-Ur-ZIj" firstAttribute="top" secondItem="2bL-GF-xWw" secondAttribute="bottom" constant="55" id="vyg-ls-OTR"/>
                             <constraint firstItem="Yrc-c9-rvb" firstAttribute="centerX" secondItem="PYB-vu-Xcw" secondAttribute="centerX" id="y5l-xh-jsd"/>
+                            <constraint firstItem="sMv-Yh-W5N" firstAttribute="leading" secondItem="PYB-vu-Xcw" secondAttribute="leading" id="yPz-fc-ra1"/>
                         </constraints>
                     </view>
                     <navigationItem key="navigationItem" id="vpB-aG-zb3"/>
                     <connections>
+                        <outlet property="answerButton" destination="2bC-B5-gMZ" id="T42-Dl-1mx"/>
                         <outlet property="bottomView" destination="7Gq-77-ypg" id="kLP-FN-Tvv"/>
+                        <outlet property="callOutAlertLabel" destination="8Fe-E7-C5g" id="h1w-BY-5fi"/>
                         <outlet property="captureButton" destination="wEO-O3-gSJ" id="ABn-Ub-QEs"/>
                         <outlet property="cloudBtn" destination="WYB-ca-Ox6" id="E4S-1L-4uS"/>
                         <outlet property="cloudTip" destination="wXb-RI-dLd" id="bCu-fP-8IF"/>
                         <outlet property="controlButton" destination="fUI-tR-jyG" id="uqI-1T-h8V"/>
                         <outlet property="currentHDStatus" destination="oNR-gT-NPm" id="STe-rh-VhG"/>
                         <outlet property="emptyButton" destination="MqM-GF-jSr" id="jD7-hz-yfd"/>
+                        <outlet property="hangUpButton" destination="jPI-nC-uAq" id="WAF-xK-pJI"/>
                         <outlet property="highButton" destination="skK-Ar-y6h" id="jbk-j5-fCX"/>
+                        <outlet property="ignoreButton" destination="aq5-rn-Dgo" id="0J6-cC-KP5"/>
                         <outlet property="largeBackButton" destination="nkn-oC-NfP" id="kwo-DU-hgk"/>
                         <outlet property="largeButton" destination="lTh-qe-8pV" id="feK-gX-fjt"/>
                         <outlet property="largeTitleLabel" destination="2bL-GF-xWw" id="mev-Ko-lDT"/>
@@ -1358,6 +1458,7 @@
                         <outlet property="qualityButton" destination="JEB-Q6-XNh" id="z41-pC-jcF"/>
                         <outlet property="qualityView" destination="dTs-1h-o4p" id="cwe-H0-P0z"/>
                         <outlet property="scrollView" destination="NRj-hs-uOI" id="eoY-a5-7Nt"/>
+                        <outlet property="scrollViewTopMargin" destination="PXn-FW-8dk" id="ROR-nh-sCL"/>
                         <outlet property="scrollViewWHRatio" destination="FHe-T4-BRJ" id="VDa-Ms-cmg"/>
                         <outlet property="speakImageView" destination="SdD-om-sXP" id="vut-X7-g34"/>
                         <outlet property="streamPlayBtn" destination="X2B-Km-Emd" id="wjk-zR-FDC"/>
@@ -1367,6 +1468,7 @@
                         <outlet property="talkView" destination="IqL-eW-ddl" id="hTy-iu-CUA"/>
                         <outlet property="talkViewContraint" destination="IcU-Zd-4MD" id="vMR-vH-k7J"/>
                         <outlet property="toolBar" destination="1FE-Su-4U4" id="CTH-vb-IfL"/>
+                        <outlet property="videoCallOutView" destination="sMv-Yh-W5N" id="RBZ-2y-YXA"/>
                         <outlet property="voiceButton" destination="tAW-X2-E9K" id="N5O-Qz-qd6"/>
                         <outlet property="zoomSizeLabel" destination="3XK-Ur-ZIj" id="vYD-CM-uoE"/>
                     </connections>
@@ -1948,6 +2050,8 @@
                         <outlet property="hdSwitch" destination="KBU-5V-GwK" id="lf0-8b-Qeq"/>
                         <outlet property="nVersionLabel" destination="bvq-5A-JW8" id="dqy-G7-H05"/>
                         <outlet property="nameLabel" destination="8Y3-zX-Cnw" id="w24-b8-OXa"/>
+                        <outlet property="privacyMaskSwitch" destination="rv3-Sh-Gib" id="Cmw-V7-tnn"/>
+                        <outlet property="rightArrowImg" destination="PR2-qZ-cVt" id="g4z-ld-DK0"/>
                         <outlet property="serialLabel" destination="9VV-np-Xv9" id="Vvo-rR-zdY"/>
                         <outlet property="updateImageView" destination="A8K-Mk-xFS" id="qqg-Hg-1rw"/>
                         <outlet property="videoSwitch" destination="eKv-yq-ycl" id="HD9-JX-sBQ"/>
@@ -1977,6 +2081,17 @@
                         <action selector="HDChanged:" destination="3ZH-14-C2h" eventType="valueChanged" id="fHK-6L-vL6"/>
                     </connections>
                 </switch>
+                <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" id="rv3-Sh-Gib">
+                    <rect key="frame" x="0.0" y="0.0" width="51" height="31"/>
+                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+                    <connections>
+                        <action selector="privacyMasking:" destination="3ZH-14-C2h" eventType="valueChanged" id="Tj0-Ec-Wey"/>
+                    </connections>
+                </switch>
+                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="hdl_ez_list_next" id="PR2-qZ-cVt">
+                    <rect key="frame" x="0.0" y="0.0" width="42" height="49"/>
+                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+                </imageView>
                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="璁惧鍚�" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="8Y3-zX-Cnw">
                     <rect key="frame" x="0.0" y="0.0" width="72" height="21"/>
                     <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
@@ -2486,6 +2601,7 @@
         <image name="chuanshujilu--2" width="24" height="24"/>
         <image name="cloud" width="32" height="32"/>
         <image name="duijiangji" width="39" height="39"/>
+        <image name="hdl_ez_list_next" width="8" height="8"/>
         <image name="icon_download_fill" width="20" height="20"/>
         <image name="large_back_btn" width="10" height="19"/>
         <image name="logo" width="210" height="94"/>
diff --git a/EZDemo/HDLEZDemo/HDLEZDemo/ViewController.m b/EZDemo/HDLEZDemo/HDLEZDemo/ViewController.m
index b882b5e..4a5da22 100644
--- a/EZDemo/HDLEZDemo/HDLEZDemo/ViewController.m
+++ b/EZDemo/HDLEZDemo/HDLEZDemo/ViewController.m
@@ -10,7 +10,7 @@
 
 //钀ょ煶闂ㄩ攣spk
 #define HDLEZ_DOOR_SPK  @"security.door.ezviz"
-#define HDLEZ_DEVICEID  @"1644223814848573441"
+#define HDLEZ_DEVICEID  @"1670680809556606978"
 //#define HDLEZ_DEVICESERIAL @"K36229010"
 #define HDLEZ_DEVICESERIAL @"J92513662"
 
diff --git a/EZDemo/HDLEZDemo/HDLEZDemo/libEZSDK.a b/EZDemo/HDLEZDemo/HDLEZDemo/libEZSDK.a
index a65e682..daf69cc 100644
--- a/EZDemo/HDLEZDemo/HDLEZDemo/libEZSDK.a
+++ b/EZDemo/HDLEZDemo/HDLEZDemo/libEZSDK.a
Binary files differ
diff --git a/EZDemo/HDLEZDemo/HDLEZDemo/resources/en.lproj/Localizable.strings b/EZDemo/HDLEZDemo/HDLEZDemo/resources/en.lproj/Localizable.strings
index 0f496ef..d14b423 100644
--- a/EZDemo/HDLEZDemo/HDLEZDemo/resources/en.lproj/Localizable.strings
+++ b/EZDemo/HDLEZDemo/HDLEZDemo/resources/en.lproj/Localizable.strings
@@ -107,6 +107,10 @@
 "device_temp_copied"="Copied";
 "device_temp_long_tap_copy"="Long press to copy";
 "device_temp_sure_to_delete"="Are you sure to delete the temporary password?";
+"device_callout_alert_message" = "Doorbell on call...";
+"device_callout_hang_up" = "Hang up";
+"device_callout_ignore" = "Ignore";
+"device_callout_answer" = "Answer";
 
 "dmessage_title"="Message";
 "message_read"="Mark as Read";
@@ -140,6 +144,9 @@
 "setting_secure_code"="Encrypt Video and Picture";
 "setting_cloud_storage"="Cloud Storage";
 "setting_hardware_decoding" = "Hardware decoding";
+"setting_privacy_masking" = "Privacy masking";
+"setting_sd_card_formatting" = "SD card formatting";
+"setting_formatting_alert_message" = "You are currently formatting an SD card";
 "setting_opration_fail"="Operation failed.";
 "setting_opration_success"="Completed.";
 "setting_switching"="Switching. Please wait...";
diff --git a/EZDemo/HDLEZDemo/HDLEZDemo/resources/zh-Hans.lproj/Localizable.strings b/EZDemo/HDLEZDemo/HDLEZDemo/resources/zh-Hans.lproj/Localizable.strings
index 8272092..8ba980f 100644
--- a/EZDemo/HDLEZDemo/HDLEZDemo/resources/zh-Hans.lproj/Localizable.strings
+++ b/EZDemo/HDLEZDemo/HDLEZDemo/resources/zh-Hans.lproj/Localizable.strings
@@ -67,6 +67,10 @@
 "device_account_pw_empty"="甯愬彿鎴栧瘑鐮佷笉鑳戒负绌�";
 "device_lan_preview_title"="灞�鍩熺綉棰勮";
 "device_add_device_qr_code"="璁惧浜岀淮鐮�";
+"device_callout_alert_message" = "闂ㄩ搩鍛煎彨涓�...";
+"device_callout_hang_up" = "鎸傛柇";
+"device_callout_ignore" = "蹇界暐";
+"device_callout_answer" = "鎺ュ惉";
 
 "device_open"="寮�闂�";
 "device_open_success"="寮�闂ㄦ垚鍔燂紒";
@@ -141,6 +145,9 @@
 "setting_secure_code"="瑙嗛鍥剧墖鍔犲瘑";
 "setting_cloud_storage"="浜戝瓨鍌�";
 "setting_hardware_decoding" = "纭В鐮�";
+"setting_privacy_masking" = "闅愮閬斀";
+"setting_sd_card_formatting" = "SD鍗℃牸寮忓寲";
+"setting_formatting_alert_message" = "鎮ㄥ綋鍓嶆鍦ㄦ牸寮忓寲SD鍗�";
 "setting_opration_fail"="鎿嶄綔澶辫触";
 "setting_opration_success"="鎿嶄綔鎴愬姛";
 "setting_switching"="姝e湪鍒囨崲锛岃绋嶅��...";
diff --git a/EZSDK/EZSDK/EZ/UIViewControllers/EZDeviceTableViewController.m b/EZSDK/EZSDK/EZ/UIViewControllers/EZDeviceTableViewController.m
index 609e952..bb4a517 100644
--- a/EZSDK/EZSDK/EZ/UIViewControllers/EZDeviceTableViewController.m
+++ b/EZSDK/EZSDK/EZ/UIViewControllers/EZDeviceTableViewController.m
@@ -192,6 +192,9 @@
     EZDeviceInfo *deviceInfo = sender;
     if ([[segue destinationViewController] isKindOfClass:[EZLivePlayViewController class]]) {
         ((EZLivePlayViewController *)[segue destinationViewController]).deviceInfo = deviceInfo;
+#warning mock test
+        NSLog(@"#######璺宠浆鍒拌澶囪鎯呴〉");
+        ((EZLivePlayViewController *)[segue destinationViewController]).isShowAlert = YES;
     } else if ([[segue destinationViewController] isKindOfClass:[EZPlaybackViewController class]]) {
         ((EZPlaybackViewController *)[segue destinationViewController]).deviceInfo = deviceInfo;
     } else if ([[segue destinationViewController] isKindOfClass:[EZMessageListViewController class]]) {
diff --git a/EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.h b/EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.h
index ec2b1fd..a12b37f 100644
--- a/EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.h
+++ b/EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.h
@@ -15,9 +15,11 @@
 @property (nonatomic, strong) EZDeviceInfo *deviceInfo;
 @property (nonatomic, copy) NSString *hubCoDevSerial;
 @property (nonatomic) NSInteger cameraIndex;
+@property (nonatomic, assign) BOOL isShowAlert;     // 灞曠ず鍛煎彨寮规
 
 @property (nonatomic, copy) NSString *deviceSerial;//璁惧搴忓垪鍙�
 @property (nonatomic, copy) NSString *deviceId;//璁惧id
+@property (nonatomic, assign) BOOL isVideoDoorLock; // 鏄惁涓鸿棰戦棬閿�
 
 
 - (void)imageSavedToPhotosAlbum:(UIImage *)image
diff --git a/EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.m b/EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.m
index c77fe02..d790261 100644
--- a/EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.m
+++ b/EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.m
@@ -89,6 +89,7 @@
 @property (nonatomic, strong) EZCameraInfo *cameraInfo;
 @property (weak, nonatomic) IBOutlet UILabel *streamTypeLabel;
 @property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
+@property (weak, nonatomic) IBOutlet NSLayoutConstraint *scrollViewTopMargin;
 @property (weak, nonatomic) IBOutlet UILabel *zoomSizeLabel;
 @property (weak, nonatomic) IBOutlet NSLayoutConstraint *scrollViewWHRatio; // 婊氬姩瑙嗗浘瀹介珮姣�
 @property (nonatomic, strong) HDLEZButton *unlockButton;//寮�閿佹寜閽�
@@ -96,6 +97,13 @@
 @property (nonatomic, copy) NSString *streamToken;
 
 @property (nonatomic, strong) UIView *doorPlayerView;//闂ㄩ攣鎾斁view
+
+// 鍛煎彨瑙嗗浘鐩稿叧鎺т欢
+@property (weak, nonatomic) IBOutlet UIView *videoCallOutView;      // 鍛煎彨寮规
+@property (weak, nonatomic) IBOutlet UILabel *callOutAlertLabel;    // 鎻愮ず璇█
+@property (weak, nonatomic) IBOutlet UIButton *hangUpButton;        // 鎸傛柇鎸夐挳
+@property (weak, nonatomic) IBOutlet UIButton *ignoreButton;        // 蹇界暐鎸夐挳
+@property (weak, nonatomic) IBOutlet UIButton *answerButton;        // 鎺ュ惉鎸夐挳
 
 @end
 
@@ -333,6 +341,7 @@
     self.captureButton.enabled = NO;
     self.localRecordButton.enabled = NO;
     self.streamPlayBtn.hidden = YES;
+    self.isShowAlert = YES;
     
     if (_url)
     {
@@ -464,6 +473,14 @@
 //        [self.controlButton setImage:[UIImage imageNamed:@"hdl_ez_ic_unlock"] forState:UIControlStateNormal];
 //        [self.controlButton setTitle:NSLocalizedString(@"device_open", @"寮�闂�") forState:UIControlStateNormal];
     }
+    
+    self.callOutAlertLabel.text = HDLEZLocallizedString(@"device_callout_alert_message");
+    [self.hangUpButton setTitle:HDLEZLocallizedString(@"device_callout_hang_up") forState:UIControlStateNormal];
+    [self.ignoreButton setTitle:HDLEZLocallizedString(@"device_callout_ignore") forState:UIControlStateNormal];
+    [self.answerButton setTitle:HDLEZLocallizedString(@"device_callout_answer") forState:UIControlStateNormal];
+    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(10 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+        self.isShowAlert = NO;
+    });
 }
 
 /*寮�閿�
@@ -536,7 +553,7 @@
 //}
 - (UIInterfaceOrientationMask)supportedInterfaceOrientations {
     if (@available(iOS 16.0, *)) {
-        if (_landscape) {
+        if (_landscape && !self.isVideoDoorLock) {
             //妯睆
             return UIInterfaceOrientationMaskLandscape;
         } else {
@@ -551,6 +568,7 @@
 - (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
                                 duration:(NSTimeInterval)duration
 {
+    if (self.isVideoDoorLock) return;
     self.navigationController.navigationBarHidden = NO;
     self.toolBar.hidden = NO;
     self.largeBackButton.hidden = YES;
@@ -863,8 +881,27 @@
         [self largeBack:self.largeBackButton];
         return;
     }
-    NSLog(@"######杩涘叆妯睆锛�");
     _landscape = YES;
+    if (self.isVideoDoorLock) {
+        self.navigationController.navigationBarHidden = YES;
+        self.localRecrodContraint.constant = 50;
+        self.toolBar.hidden = NO;
+        self.largeTitleLabel.hidden = NO;
+        self.largeBackButton.hidden = YES;
+        self.bottomView.hidden = YES;
+                
+        [self.scrollView setTranslatesAutoresizingMaskIntoConstraints:NO];
+        [self.toolBar setTranslatesAutoresizingMaskIntoConstraints:NO];
+        [NSLayoutConstraint deactivateConstraints:@[self.scrollViewTopMargin, self.scrollViewWHRatio]];
+        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.scrollViewWHRatio = [NSLayoutConstraint constraintWithItem:self.scrollView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:self.scrollView attribute:NSLayoutAttributeHeight multiplier:HDLEZ_APP_SCREEN_WIDTH/(HDLEZ_APP_SCREEN_HEIGHT - 37.) constant:0];
+        [NSLayoutConstraint activateConstraints:@[self.scrollViewTopMargin, self.scrollViewWHRatio]];
+        dispatch_async(dispatch_get_main_queue(), ^{
+            [self.scrollView layoutIfNeeded];
+            [self.toolBar layoutIfNeeded];
+        });
+        return;
+    }
     if (@available(iOS 16.0, *)) {
         if (self.navigationController) {
             dispatch_async(dispatch_get_main_queue(), ^{
@@ -892,6 +929,26 @@
 {
     NSLog(@"######鏀跺洖妯睆锛�");
     _landscape = NO;
+    if (self.isVideoDoorLock) {
+        self.navigationController.navigationBarHidden = NO;
+        self.toolBar.hidden = NO;
+        self.largeBackButton.hidden = YES;
+        self.bottomView.hidden = NO;
+        self.largeTitleLabel.hidden = YES;
+        self.localRecrodContraint.constant = 10;
+        
+        [self.scrollView setTranslatesAutoresizingMaskIntoConstraints:NO];
+        [self.toolBar setTranslatesAutoresizingMaskIntoConstraints:NO];
+        [NSLayoutConstraint deactivateConstraints:@[self.scrollViewTopMargin,self.scrollViewWHRatio]];
+        self.scrollViewTopMargin = [NSLayoutConstraint constraintWithItem:self.scrollView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.topLayoutGuide attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0];
+        self.scrollViewWHRatio = [NSLayoutConstraint constraintWithItem:self.scrollView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:self.scrollView attribute:NSLayoutAttributeHeight multiplier:16/9. constant:0];
+        [NSLayoutConstraint activateConstraints:@[self.scrollViewTopMargin,self.scrollViewWHRatio]];
+        dispatch_async(dispatch_get_main_queue(), ^{
+            [self.scrollView layoutIfNeeded];
+            [self.toolBar layoutIfNeeded];
+        });
+        return;
+    }
     if (@available(iOS 16.0, *)) {
         if (self.navigationController) {
             dispatch_async(dispatch_get_main_queue(), ^{
@@ -1292,6 +1349,31 @@
     _isPressed = !_isPressed;
 }
 
+- (IBAction)clickCalloutHangupAction:(id)sender {
+    [UIView dd_showMessage:@"鎸傛柇寮�鍙戜腑..."];
+}
+
+- (IBAction)clickCalloutIgnoreAction:(id)sender {
+    [UIView dd_showMessage:@"蹇界暐寮�鍙戜腑..."];
+}
+
+- (IBAction)clickCalloutAnswerAction:(id)sender {
+    [UIView dd_showMessage:@"鎺ュ惉寮�鍙戜腑..."];
+}
+
+
+#pragma mark - Publish Methods
+/// 灞曠ず鍛煎彨寮规
+- (void)showCallOutAlertView {
+    self.videoCallOutView.hidden = NO;
+}
+
+/// 闅愯棌鍛煎彨寮规
+- (void)hiddenCallOutAlertView {
+    self.videoCallOutView.hidden = YES;
+
+}
+
 #pragma mark - Private Methods
 
 - (void) checkMicPermissionResult:(void(^)(BOOL enable)) retCb
@@ -1547,6 +1629,16 @@
     }
 }
 
+#pragma Setter
+- (void)setIsShowAlert:(BOOL)isShowAlert {
+    _isShowAlert = isShowAlert;
+    if (isShowAlert) {
+        [self showCallOutAlertView];
+    } else {
+        [self hiddenCallOutAlertView];
+    }
+}
+
 - (BOOL)prefersHomeIndicatorAutoHidden {
     return YES;
 }
diff --git a/EZSDK/EZSDK/EZ/UIViewControllers/EZSettingViewController.m b/EZSDK/EZSDK/EZ/UIViewControllers/EZSettingViewController.m
index a4071bb..ad334b8 100644
--- a/EZSDK/EZSDK/EZ/UIViewControllers/EZSettingViewController.m
+++ b/EZSDK/EZSDK/EZ/UIViewControllers/EZSettingViewController.m
@@ -26,6 +26,8 @@
 @property (nonatomic, weak) IBOutlet UISwitch *videoSwitch;
 @property (nonatomic, weak) IBOutlet UISwitch *actionSwitch;
 @property (weak, nonatomic) IBOutlet UISwitch *hdSwitch;
+@property (weak, nonatomic) IBOutlet UISwitch *privacyMaskSwitch;
+@property (weak, nonatomic) IBOutlet UIImageView *rightArrowImg;
 @property (nonatomic, weak) IBOutlet UILabel *nameLabel;
 @property (nonatomic, weak) IBOutlet UILabel *serialLabel;
 @property (nonatomic, weak) IBOutlet UILabel *currentVersionLabel;
@@ -78,6 +80,8 @@
         self.videoSwitch.on = self.deviceInfo.isEncrypt;
     }
     [_settingList addObject:@[NSLocalizedString(@"setting_hardware_decoding", @"纭В鐮�")]];
+    [_settingList addObject:@[NSLocalizedString(@"setting_privacy_masking", @"闅愮閬斀")]];
+    [_settingList addObject:@[NSLocalizedString(@"setting_sd_card_formatting", @"SD鍗℃牸寮忓寲")]];
     [_settingList addObject:@[NSLocalizedString(@"delete", @"鍒犻櫎")]];
     
     self.serialLabel.text = self.deviceInfo.deviceSerial;
@@ -214,6 +218,27 @@
     }
     else if (indexPath.section == 6)
     {
+        [cell.contentView addSubview:self.privacyMaskSwitch];
+        [self.privacyMaskSwitch mas_remakeConstraints:^(MASConstraintMaker *make) {
+            make.trailing.mas_equalTo(@(-17));
+            make.centerY.mas_equalTo(cell.contentView.mas_centerY);
+            make.width.mas_equalTo(@51);
+            make.height.mas_equalTo(@31);
+        }];
+        self.privacyMaskSwitch.on = !self.privacyMaskSwitch.on;
+    }
+    else if (indexPath.section == 7)
+    {
+        [cell.contentView addSubview:self.rightArrowImg];
+        [self.rightArrowImg mas_remakeConstraints:^(MASConstraintMaker *make) {
+            make.trailing.mas_equalTo(@(-17));
+            make.centerY.mas_equalTo(cell.contentView.mas_centerY);
+            make.width.mas_equalTo(@20);
+            make.height.mas_equalTo(@20);
+        }];
+    }
+    else if (indexPath.section == 8)
+    {
         cell.textLabel.textColor = [UIColor redColor];
         cell.textLabel.textAlignment = NSTextAlignmentCenter;
     }
@@ -277,10 +302,27 @@
 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
 {
     [tableView deselectRowAtIndexPath:indexPath animated:YES];
-    if (indexPath.section == 6)
+    if (indexPath.section == 8)
     {
-        UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:NSLocalizedString(@"cancel", @"鍙栨秷") destructiveButtonTitle:NSLocalizedString(@"delete",@"鍒犻櫎") otherButtonTitles:nil];
-        [actionSheet showInView:self.view];
+//        UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:NSLocalizedString(@"cancel", @"鍙栨秷") destructiveButtonTitle:NSLocalizedString(@"delete",@"鍒犻櫎") otherButtonTitles:nil];
+//        [actionSheet showInView:self.view];
+        
+        __weak __typeof(self)weakSelf = self;
+        UIAlertController *actionSheet = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];
+        
+        [actionSheet addAction:[UIAlertAction actionWithTitle:NSLocalizedString(@"cancel", @"鍙栨秷") style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {
+            [weakSelf dismissViewControllerAnimated:YES completion:^{
+            }];
+        }]];
+        
+        [actionSheet addAction:[UIAlertAction actionWithTitle:NSLocalizedString(@"delete",@"鍒犻櫎") style:UIAlertActionStyleDestructive handler:^(UIAlertAction *action) {
+            [weakSelf deleteCurrentDevice];
+            [weakSelf dismissViewControllerAnimated:YES completion:^{
+            }];
+        }]];
+        
+        [self presentViewController:actionSheet animated:YES completion:nil];
+        
     }
 //    else if (indexPath.section == 5)
 //    {
@@ -294,9 +336,18 @@
     {
         [self performSegueWithIdentifier:@"go2Upgrade" sender:nil];
     }
-    else if (indexPath.section == 1)
+    else if (indexPath.section == 7)
     {
-        
+        UIAlertController *alert=[UIAlertController alertControllerWithTitle:HDLEZLocallizedString(@"alert_title") message:HDLEZLocallizedString(@"setting_formatting_alert_message") preferredStyle:UIAlertControllerStyleAlert];
+        UIAlertAction *cancle=[UIAlertAction actionWithTitle:HDLEZLocallizedString(@"device_temp_cancle") style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
+        }];
+        __weak __typeof(self)weakSelf = self;
+        UIAlertAction *sure=[UIAlertAction actionWithTitle:HDLEZLocallizedString(@"device_temp_sure") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
+            [UIView dd_showMessage:@"鍔熻兘寮�鍙戜腑..."];
+        }];
+        [alert addAction:cancle];
+        [alert addAction:sure];
+        [self presentViewController:alert animated:YES completion:nil];
     }
 }
 
@@ -353,17 +404,57 @@
 }
 
 #pragma mark - UIActionSheetDelegate Methods
+- (void)deleteCurrentDevice {
+    __weak MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
+    hud.labelText = NSLocalizedString(@"message_deleting", @"姝e湪鍒犻櫎锛岃绋嶅��...");
 
-- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
-{
-    if(buttonIndex == 0)
-    {
-        __weak MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
-        hud.labelText = NSLocalizedString(@"message_deleting", @"姝e湪鍒犻櫎锛岃绋嶅��...");
-//        [EZOPENSDK deleteDevice:self.deviceInfo.deviceSerial completion:^(NSError *error) {
-//            if(!error)
+    [EZHttpUtil.sharedManager deleteDeviceByHDL:self.deviceInfo.deviceSerial completion:^(ResponseData *responseData) {
+        [hud hide:YES];
+        if(responseData.success) {
+            NSArray *viewControllers = self.navigationController.viewControllers;
+            for (UIViewController *vc in viewControllers)
+            {
+                if([vc isKindOfClass:[EZDeviceTableViewController class]])
+                {
+                    ((EZDeviceTableViewController *)vc).needRefresh = YES;
+                    [self.navigationController popToViewController:vc animated:YES];
+                    break;
+                }
+            }
+        } else {
+            NSString *mes = [NSString stringWithFormat:@"%@(%@)",NSLocalizedString(@"setting_opration_fail", @"鎿嶄綔澶辫触"),responseData.code];
+            [self.view makeToast:mes duration:2.0 position:@"center"];
+        }
+    }];
+}
+
+//- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
+//{
+//    if(buttonIndex == 0)
+//    {
+//        __weak MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
+//        hud.labelText = NSLocalizedString(@"message_deleting", @"姝e湪鍒犻櫎锛岃绋嶅��...");
+////        [EZOPENSDK deleteDevice:self.deviceInfo.deviceSerial completion:^(NSError *error) {
+////            if(!error)
+////            {
+////                [hud hide:YES];
+////                NSArray *viewControllers = self.navigationController.viewControllers;
+////                for (UIViewController *vc in viewControllers)
+////                {
+////                    if([vc isKindOfClass:[EZDeviceTableViewController class]])
+////                    {
+////                        ((EZDeviceTableViewController *)vc).needRefresh = YES;
+////                        [self.navigationController popToViewController:vc animated:YES];
+////                        break;
+////                    }
+////                }
+////            }
+////        }];
+//
+//        [EZHttpUtil.sharedManager deleteDeviceByHDL:self.deviceInfo.deviceSerial completion:^(ResponseData *responseData) {
+//            [hud hide:YES];
+//            if(responseData.success)
 //            {
-//                [hud hide:YES];
 //                NSArray *viewControllers = self.navigationController.viewControllers;
 //                for (UIViewController *vc in viewControllers)
 //                {
@@ -374,33 +465,16 @@
 //                        break;
 //                    }
 //                }
+//            }else{
+//                NSString *mes = [NSString stringWithFormat:@"%@(%@)",NSLocalizedString(@"setting_opration_fail", @"鎿嶄綔澶辫触"),responseData.code];
+//
+//                [self.view makeToast:mes duration:2.0 position:@"center"];
 //            }
 //        }];
-        
-        [EZHttpUtil.sharedManager deleteDeviceByHDL:self.deviceInfo.deviceSerial completion:^(ResponseData *responseData) {
-            [hud hide:YES];
-            if(responseData.success)
-            {
-                NSArray *viewControllers = self.navigationController.viewControllers;
-                for (UIViewController *vc in viewControllers)
-                {
-                    if([vc isKindOfClass:[EZDeviceTableViewController class]])
-                    {
-                        ((EZDeviceTableViewController *)vc).needRefresh = YES;
-                        [self.navigationController popToViewController:vc animated:YES];
-                        break;
-                    }
-                }
-            }else{
-                NSString *mes = [NSString stringWithFormat:@"%@(%@)",NSLocalizedString(@"setting_opration_fail", @"鎿嶄綔澶辫触"),responseData.code];
-                
-                [self.view makeToast:mes duration:2.0 position:@"center"];
-            }
-        }];
-        
-        
-    }
-}
+//
+//
+//    }
+//}
 
 #pragma mark - UIAlertViewDelegate Methods
 
@@ -465,6 +539,11 @@
     [[NSUserDefaults standardUserDefaults] synchronize];
 }
 
+- (IBAction)privacyMasking:(id)sender {
+    UISwitch *pmSwitch = (UISwitch*)sender;
+    BOOL status = pmSwitch.isOn;
+}
+
 - (IBAction)encryptChanged:(id)sender
 {
     if(!self.videoSwitch.on)
diff --git a/EZSDK/EZSDK/EZSDK.m b/EZSDK/EZSDK/EZSDK.m
index ae54994..fa3e998 100644
--- a/EZSDK/EZSDK/EZSDK.m
+++ b/EZSDK/EZSDK/EZSDK.m
@@ -237,6 +237,7 @@
     EZLivePlayViewController *vc = [ezMainStoryBoard instantiateViewControllerWithIdentifier:@"EZLivePlayViewController"];
     vc.deviceId=deviceId;
     vc.deviceSerial=deviceSerial;
+    vc.isVideoDoorLock = [deviceType isEqualToString:HDLEZ_DOOR_SPK];
     [[self getCurrentVC] setNavigationBarHidden:NO];
     [[self getCurrentVC].navigationBar setHidden:NO];
     [[self getCurrentVC] pushViewController:vc animated:YES];

--
Gitblit v1.8.0