From 00ab3ddb140ba8bb88b5cf572b004a85e1da85e9 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期四, 02 一月 2020 19:51:56 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev-tzy' into DEV_GXC

---
 ZigbeeApp/GateWay.Droid/Application.cs |   76 ++++++++++++++++++++++++-------------
 1 files changed, 49 insertions(+), 27 deletions(-)

diff --git a/ZigbeeApp/GateWay.Droid/Application.cs b/ZigbeeApp/GateWay.Droid/Application.cs
index ad28e44..08af5cf 100644
--- a/ZigbeeApp/GateWay.Droid/Application.cs
+++ b/ZigbeeApp/GateWay.Droid/Application.cs
@@ -60,7 +60,7 @@
 
                 }
             }
-            
+
             this.Finish();
         }
         //IWXAPI api;
@@ -97,7 +97,8 @@
             var req = new SendAuth.Req { Scope = "snsapi_userinfo", State = "ZigbeeApp" };
             api.SendReq(req);
         }
-        /// <summary>鈥�        /// 鎵�鏈夊垵濮嬪寲鍏ㄩ儴鍦ㄨ繖涓柟娉曞疄鐜扳��        /// </summary>鈥�        void initAll()鈥�        {鈥�            //BaseActivity.IsEnnableGPS = false;
+        /// <summary>鈥�        /// 鎵�鏈夊垵濮嬪寲鍏ㄩ儴鍦ㄨ繖涓柟娉曞疄鐜扳��        /// </summary>鈥�        void initAll()鈥�        {
+            Shared.Application.IsGpsEnable = false;
             //璁剧疆鏋佸厜璋冭瘯妯″紡锛屼负false鏃跺彧鎵撳嵃璀﹀憡淇℃伅
             // System.Console.WriteLine($"AAA : {System.DateTime.Now.ToString()}");
 #if Release鈥�            JPushInterface.SetDebugMode(false);
@@ -280,31 +281,52 @@
 {
     public static class QRCode
     {
-        static ZXing.Mobile.MobileBarcodeScanner scanner;
-        public static void ScanQRcode(Action<string> action)
-        {
-            ((BaseActivity)Shared.Application.Activity).SetCamera(async (obj) => {
-                if (obj)
-                {
-                    if (scanner == null)
-                    {
-                        MobileBarcodeScanner.Initialize(Shared.Application.Activity.Application);
-                        scanner = new ZXing.Mobile.MobileBarcodeScanner();
-                    }
-
-                    var result = await scanner.Scan();
-
-                    if (result != null)
-                        action?.Invoke(result.Text);
-                    else
-                        action?.Invoke(null);
-
-                }
-                else
-                {
-                    action?.Invoke(null);
-                }
-            });
+        static ZXing.Mobile.MobileBarcodeScanner scanner;
+        public static void ScanQRcode(Action<string> action, string cancel = "鍙栨秷", string flashText = "闂厜鐏�", string titleText = "浜岀淮鐮佹壂鎻�")
+        {
+            ((BaseActivity)Shared.Application.Activity).SetCamera(async (obj) =>
+            {
+                if (obj)
+                {
+                    if (scanner == null)
+                    {
+                        MobileBarcodeScanner.Initialize(Shared.Application.Activity.Application);
+                        var mZXingCustomScanView = new GateWay.Droid.ZXingCustomScanView(Shared.Application.Activity.Application);
+                        mZXingCustomScanView.cancelTextView.Text = cancel;
+                        mZXingCustomScanView.flashTextView.Text = flashText;
+                        mZXingCustomScanView.titleTextView.Text = titleText;
+                        var bOn = false;
+                        scanner = new ZXing.Mobile.MobileBarcodeScanner()
+                        {
+                            UseCustomOverlay = true,
+                            CustomOverlay = mZXingCustomScanView
+                        };
+
+                        mZXingCustomScanView.OnCancel += () => {
+
+                            scanner?.Cancel();
+                        };
+
+                        mZXingCustomScanView.OnTorch += () =>
+                        {
+                            bOn = !bOn;
+                            scanner?.Torch(bOn);
+                        };
+                    }
+
+                    var result = await scanner.Scan();
+
+                    if (result != null)
+                        action?.Invoke(result.Text);
+                    else
+                        action?.Invoke(null);
+
+                }
+                else
+                {
+                    action?.Invoke(null);
+                }
+            });
         }
 
         public static byte[] BytesFromText(string text, int width = 300, int height = 300)

--
Gitblit v1.8.0