From 55bd5c4ccb56cbd3c10e6b170aaab20d7023c139 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期一, 14 十二月 2020 10:44:41 +0800
Subject: [PATCH] Merge branch 'CJL' into NewFilePath
---
HDL-ON_iOS/AppDelegate.cs | 256 +++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 198 insertions(+), 58 deletions(-)
diff --git a/HDL-ON_iOS/AppDelegate.cs b/HDL-ON_iOS/AppDelegate.cs
index 22e01c9..456c684 100644
--- a/HDL-ON_iOS/AppDelegate.cs
+++ b/HDL-ON_iOS/AppDelegate.cs
@@ -4,6 +4,11 @@
using Shared;
using UIKit;
using UserNotifications;
+using Microsoft.AppCenter;
+using Microsoft.AppCenter.Analytics;
+using Microsoft.AppCenter.Crashes;
+using HDL_ON.UI;
+using HDL_ON.DAL.Server;
namespace SharedMethod
{
@@ -15,14 +20,11 @@
//public static string CheckVersion()
//{
-
// Harpy.Harpy.SharedInstance.CheckVersion();
-
// UserConfig.Instance.IsAppStoreVersionNewer = Harpy.Harpy.SharedInstance.TestIsAppStoreVersionNewer;
// UserConfig.Instance.StoreVersion = Harpy.Harpy.SharedInstance.CurrentAppStoreVersion;
// UserConfig.Instance.SaveUserConfig();
-
- // if (Shared.SimpleControl.MainPage.LoginUser.AccountString == @"464027401@qq.com")
+ // if (Shared.SimpleControl. UserInfo.Current.AccountString == @"464027401@qq.com")
// {
// return $"TestIsAppStoreVersionNewer : {UserConfig.Instance.IsAppStoreVersionNewer};; CurrentAppStoreVersion : {UserConfig.Instance.StoreVersion}";
// }
@@ -33,6 +35,7 @@
//}
}
+
}
namespace HDL_ON_iOS
@@ -40,7 +43,7 @@
// The UIApplicationDelegate for the application. This class is responsible for launching the
// User Interface of the application, as well as listening (and optionally responding) to application events from iOS.
[Register("AppDelegate")]
- public class AppDelegate : BaseApplicationDelegate
+ public class AppDelegate : BaseApplicationDelegateForHdlOn// BaseApplicationDelegate
{
// class-level declarations
@@ -56,6 +59,7 @@
// // If not required for your application you can safely delete this method
// return true;
//}
+ internal static UINavigationController rootViewController;
public static void CleanApplicationIconBadgeNumber()
{
@@ -95,18 +99,23 @@
// Save new device token
NSUserDefaults.StandardUserDefaults.SetString(DeviceToken, "PushDeviceToken");
- string userPhoneName = UIDevice.CurrentDevice.Name;
- UserConfig.Instance.tokenID = DeviceToken;
- UserConfig.Instance.phoneName = userPhoneName;
- UserConfig.Instance.SaveUserConfig();
+ //UserInfo.Current.PushDeviceToken = DeviceToken;
+ //UserInfo.Current.PhoneName = userPhoneName;
+ //UserInfo.Current.SaveUserInfo();
+ OnAppConfig.Instance.PushDeviceToken = DeviceToken;
+ OnAppConfig.Instance.PhoneName = UIDevice.CurrentDevice.Name;
+ OnAppConfig.Instance.SaveConfig();
}
- if (UserConfig.Instance.tokenID != DeviceToken)
+ if (OnAppConfig.Instance.PushDeviceToken != DeviceToken)
{
- string userPhoneName = UIDevice.CurrentDevice.Name;
- UserConfig.Instance.tokenID = DeviceToken;
- UserConfig.Instance.phoneName = userPhoneName;
- UserConfig.Instance.SaveUserConfig();
+ //string userPhoneName = UIDevice.CurrentDevice.Name;
+ //UserInfo.Current.PushDeviceToken = DeviceToken;
+ //UserInfo.Current.PhoneName = userPhoneName;
+ //UserInfo.Current.SaveUserInfo();
+ OnAppConfig.Instance.PushDeviceToken = DeviceToken;
+ OnAppConfig.Instance.PhoneName = UIDevice.CurrentDevice.Name;
+ OnAppConfig.Instance.SaveConfig();
}
}
@@ -114,10 +123,28 @@
{
Console.WriteLine("DidReceiveRemoteNotification:" + application.ApplicationState.ToString());
- UserConfig.Instance.SaveUserConfig();
-
//璇诲彇鎺ㄩ�佷俊鎭�
UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0;
+
+ if (userInfo == null)
+ {
+ return;
+ }
+
+ Console.WriteLine(userInfo);
+
+ if (application.ApplicationState == UIApplicationState.Active || application.ApplicationState == UIApplicationState.Background)
+ {
+
+ HandleNotificationMessageUserInfo(userInfo, false);
+ }
+ else
+ {
+ //Inactive
+ HandleNotificationMessageUserInfo(userInfo, false);
+
+ }
+ completionHandler(UIBackgroundFetchResult.NewData);
}
public override void ReceivedRemoteNotification(UIApplication application, NSDictionary userInfo)
@@ -143,7 +170,8 @@
public override void OnResignActivation(UIApplication application)
{
Console.WriteLine("OnResignActivation");
- BusSocket.Stop();
+ UserInfo.Current.unlockTime = DateTime.Now;
+ HDL_ON.DriverLayer.UdpSocket._BusSocket.Stop();
}
public override void DidEnterBackground(UIApplication application)
@@ -152,11 +180,15 @@
Console.WriteLine("DidEnterBackground");
}
+
public override void WillEnterForeground(UIApplication application)
{
SharedMethod.SharedMethod.IsBackground = false;
+ HDL_ON.DriverLayer.UdpSocket._BusSocket.Start();
+ new AppUnlockPage().LoadPage();
Console.WriteLine("WillEnterForeground");
UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0;
+ HDL_ON.DriverLayer.Control.Ins.SearchLoaclGateway();
}
public override void WillTerminate(UIApplication application)
@@ -168,45 +200,61 @@
{
Console.WriteLine("OnActivated");
base.OnActivated(application);
+
+ //if (haveToSignOut == true)
+ //{
+ ////寮哄埗涓嬬嚎
+ //UserInfo.Current.LastTime = DateTime.MinValue;
+ //UserInfo.Current.headImagePagePath = "LoginIcon/2.png";//閲嶇疆鐢ㄦ埛澶村儚
+ //UserInfo.Current.SaveUserInfo();
+ //HDLCommon.Current.ShowAlert(Language.StringByID(StringId.LoggedOnOtherDevices));
+ //}
+
}
public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions)
{
- //AppCenter.Start("b95f7814-49fb-4345-bac5-98e70d098252", typeof(Analytics), typeof(Crashes));
- Console.WriteLine("FinishedLaunching");
+
+ //Shared.Application.FontSize = 12;
+
+ //鍙栨秷EditText榛樿瀵嗙爜杈撳叆鏂瑰紡
+ Shared.Application.IsEditTextContentTypePassword = false;
+ //榛樿浣跨敤鑻规柟瀛椾綋
+ Shared.Application.IsUsePingFang = true;
+ ////榛樿绂佹闊充箰鏈嶅姟
+ //Shared.Application.IsMusicEnable = false;
+ //淇濇寔灞忓箷甯镐寒鎴栬�呰嚜鍔ㄩ攣灞�
+ application.IdleTimerDisabled = false;
+
+ Window = new UIWindow(UIScreen.MainScreen.Bounds);
+ rootViewController = new UINavigationController(new ViewController()) { NavigationBarHidden = true };
+ Window.RootViewController = rootViewController;
+ Window.MakeKeyAndVisible();
+
+ AppCenter.Start("e1add75a-82c6-4a5c-a902-4705b195748e",typeof(Analytics), typeof(Crashes));
base.FinishedLaunching(application, launchOptions);
SharedMethod.SharedMethod.sharedApp = application;
-
//NSString* nsCount = [[NSLocale currentLocale] objectForKey: NSLocaleCountryCode];
- string nsCount = NSLocale.CurrentLocale.CountryCode;
- if (nsCount != UserConfig.Instance.CountryCode)
- {
- UserConfig.Instance.CountryCode = nsCount;
- UserConfig.Instance.SaveUserConfig();
- }
- application.IdleTimerDisabled = true;
+ application.StatusBarStyle = UIStatusBarStyle.DarkContent;
+
+ //string nsCount = NSLocale.CurrentLocale.CountryCode;
+
+ //if ( UserInfo.Current != null && nsCount != UserInfo.Current.areaCode.ToString())
+ //{
+ // //int.TryParse(nsCount,out UserInfo.Current.areaCode);
+ // //2020-11-18
+ // UserInfo.Current.areaCode = nsCount;
+ // OnAppConfig.Instance.SaveUserConfig();
+ //}
+
+
application.RegisterForRemoteNotificationTypes(UIRemoteNotificationType.Alert | UIRemoteNotificationType.Badge | UIRemoteNotificationType.Sound);
- Window = new UIWindow(UIScreen.MainScreen.Bounds);
- var Root = new UINavigationController(new ViewController()) { NavigationBarHidden = true };
- Window.RootViewController = Root;
- Window.MakeKeyAndVisible();
//window.AccessibilityNavigationStyle = UIAccessibilityNavigationStyle.Automatic;
// check for a notification
- if (launchOptions != null)
- {
- // check for a remote notification
- if (launchOptions.ContainsKey(UIApplication.LaunchOptionsRemoteNotificationKey))
- {
-
- NSDictionary remoteNotification = launchOptions[UIApplication.LaunchOptionsRemoteNotificationKey] as NSDictionary;
- if (remoteNotification != null)
- {
- //UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0;
- }
- }
- }
+ DealWithPushMes(launchOptions);
+
if (UIDevice.CurrentDevice.CheckSystemVersion(8, 0))
{
var notificationSettings = UIUserNotificationSettings.GetSettingsForTypes(UIUserNotificationType.Alert | UIUserNotificationType.Badge | UIUserNotificationType.Sound, null);
@@ -226,28 +274,120 @@
{
//RemoteInfo.Current.ReadMsgList(true);
}
- //if (UserConfig.Instance.SkinCode == 0)
- //{
- // application.StatusBarStyle = UIStatusBarStyle.LightContent;
- // Shared.Application.Skin = UserConfig.Instance.CurrentSkinName;
- //}
- //else if (UserConfig.Instance.SkinCode == 1)
- //{
- application.StatusBarStyle = UIStatusBarStyle.Default;
- //application.SetStatusBarStyle(UIStatusBarStyle.LightContent, false);
- Console.WriteLine($"application.StatusBarStyle:{application.StatusBarStyle}");
- // Shared.Application.Skin = UserConfig.Instance.CurrentSkinName;
- //}
- //SkinStyle.Current.ChangeColor();
-
//Harpy.Harpy.SharedInstance.PresentingViewController = this.Window.RootViewController;
//Harpy.Harpy.SharedInstance.WeakDelegate = this;
//Harpy.Harpy.SharedInstance.AlertType = Harpy.HarpyAlertType.Skip;
//Harpy.Harpy.SharedInstance.DebugEnabled = false;
//Harpy.Harpy.SharedInstance.ForceLanguageLocalization = Harpy.Constants.HarpyLanguageChineseSimplified;
+ Console.WriteLine("FinishedLaunching");
return true;
}
+
+ /// <summary>
+ /// 澶勭悊閫氱煡娑堟伅
+ /// </summary>
+ void HandleNotificationMessageUserInfo(NSDictionary userInfo, bool bFinishedLaunching)
+ {
+ try
+ {
+ if (userInfo.ContainsKey(new NSString("aps")))
+ {
+ var aps = userInfo["aps"] as NSDictionary;
+ var alert = aps["alert"] as NSDictionary;
+ var body = alert["body"] as NSString;
+ var title = alert["title"] as NSString;
+ var expandData = "";
+ if (userInfo.ContainsKey(new NSString("expandData")))
+ {
+ var expandDataStr = userInfo["expandData"] as NSString;
+ if(expandDataStr == null)
+ {
+ var expandDataNSD = userInfo["expandData"] as NSDictionary;
+ if (expandDataNSD != null)
+ {
+ expandData = expandDataNSD.ToString();
+ }
+ }
+ else
+ {
+ expandData = expandDataStr;
+ }
+
+ //var expandDataNSD = userInfo["expandData"] as NSDictionary;
+ //if (expandDataNSD != null && expandDataNSD is NSDictionary)
+ //{
+ // if (expandDataNSD.ContainsKey(new NSString("messageType")))
+ // {
+ // expandData = expandDataNSD["messageType"] as NSString;
+ // }
+ //}
+ }
+ var pushMes = new JPushMessageInfo()
+ {
+ Title = title,
+ Content = body,
+ Extras = expandData,
+ };
+ System.Console.WriteLine("PushMes title : " + pushMes.Title);
+ System.Console.WriteLine("PushMes message : " + pushMes.Content);
+ System.Console.WriteLine("PushMes extras : " + pushMes.Extras);
+
+ if (bFinishedLaunching)
+ {
+ if (pushMes.Extras != null && pushMes.Extras.Contains("OffLine"))
+ {
+ //haveToSignOut = true;
+ //寮哄埗涓嬬嚎
+ UserInfo.Current.LastTime = DateTime.MinValue;
+ UserInfo.Current.headImagePagePath = "LoginIcon/2.png";//閲嶇疆鐢ㄦ埛澶村儚
+ UserInfo.Current.SaveUserInfo();
+ HDLCommon.Current.ShowAlert(Language.StringByID(StringId.LoggedOnOtherDevices));
+ }
+ }
+ else
+ {
+ HDLCommon.Current.AdjustPushMessage(pushMes);
+ }
+
+ }
+ }
+ catch
+ {
+
+ }
+ }
+
+ ///// <summary>
+ ///// 閫�鍑虹櫥褰曟爣璁�
+ ///// </summary>
+ //bool haveToSignOut;
+ /// <summary>
+ /// 鍚姩APP 澶勭悊閫氱煡
+ /// </summary>
+ /// <param name="launchOptions"></param>
+ void DealWithPushMes(NSDictionary launchOptions)
+ {
+ //haveToSignOut = false;
+ if (launchOptions != null)
+ {
+ // check for a remote notification
+ if (launchOptions.ContainsKey(UIApplication.LaunchOptionsRemoteNotificationKey))
+ {
+ NSDictionary userInfo = launchOptions[UIApplication.LaunchOptionsRemoteNotificationKey] as NSDictionary;
+
+ if (userInfo != null)
+ {
+ HandleNotificationMessageUserInfo(userInfo, true);
+
+ }
+ }
+ }
+ }
+
+
+
}
+
}
--
Gitblit v1.8.0