From 7b02207537d35bfa1714bf8beafc921f717d100a Mon Sep 17 00:00:00 2001
From: 单军华
Date: Wed, 11 Jul 2018 10:47:42 +0800
Subject: [PATCH] 首次上传

---
 screendisplay/Pods/EaseUI/EaseUI/EMUIKit/Helper/EaseSDKHelper.m |  273 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 273 insertions(+), 0 deletions(-)

diff --git a/screendisplay/Pods/EaseUI/EaseUI/EMUIKit/Helper/EaseSDKHelper.m b/screendisplay/Pods/EaseUI/EaseUI/EMUIKit/Helper/EaseSDKHelper.m
new file mode 100755
index 0000000..f524c38
--- /dev/null
+++ b/screendisplay/Pods/EaseUI/EaseUI/EMUIKit/Helper/EaseSDKHelper.m
@@ -0,0 +1,273 @@
+/************************************************************
+ *  * Hyphenate CONFIDENTIAL
+ * __________________
+ * Copyright (C) 2016 Hyphenate Inc. All rights reserved.
+ *
+ * NOTICE: All information contained herein is, and remains
+ * the property of Hyphenate Inc.
+ * Dissemination of this information or reproduction of this material
+ * is strictly forbidden unless prior written permission is obtained
+ * from Hyphenate Inc.
+ */
+
+#import <UserNotifications/UserNotifications.h>
+#import "EaseSDKHelper.h"
+
+#import "EaseConvertToCommonEmoticonsHelper.h"
+
+//@interface EMChatImageOptions : NSObject<IChatImageOptions>
+//
+//@property (assign, nonatomic) CGFloat compressionQuality;
+//
+//@end
+
+static EaseSDKHelper *helper = nil;
+
+@implementation EaseSDKHelper
+
+@synthesize isShowingimagePicker = _isShowingimagePicker;
+
+- (instancetype)init
+{
+    self = [super init];
+    if (self) {
+        [self commonInit];
+    }
+    
+    return self;
+}
+
++(instancetype)shareHelper
+{
+    static dispatch_once_t onceToken;
+    dispatch_once(&onceToken, ^{
+        helper = [[EaseSDKHelper alloc] init];
+    });
+    
+    return helper;
+}
+
+#pragma mark - private
+
+- (void)commonInit
+{
+    
+}
+
+#pragma mark - app delegate notifications
+
+/** @brief ������App������������������������������������ */
+- (void)_setupAppDelegateNotifications
+{
+    [[NSNotificationCenter defaultCenter] addObserver:self
+                                             selector:@selector(appDidEnterBackgroundNotif:)
+                                                 name:UIApplicationDidEnterBackgroundNotification
+                                               object:nil];
+    
+    
+    [[NSNotificationCenter defaultCenter] addObserver:self
+                                             selector:@selector(appWillEnterForeground:)
+                                                 name:UIApplicationWillEnterForegroundNotification
+                                               object:nil];
+}
+
+- (void)appDidEnterBackgroundNotif:(NSNotification*)notif
+{
+    [[EMClient sharedClient] applicationDidEnterBackground:notif.object];
+}
+
+- (void)appWillEnterForeground:(NSNotification*)notif
+{
+    [[EMClient sharedClient] applicationWillEnterForeground:notif.object];
+}
+
+#pragma mark - register apns
+
+/** @brief ������������������ */
+- (void)_registerRemoteNotification
+{
+    UIApplication *application = [UIApplication sharedApplication];
+    application.applicationIconBadgeNumber = 0;
+
+    if (NSClassFromString(@"UNUserNotificationCenter")) {
+        [[UNUserNotificationCenter currentNotificationCenter] requestAuthorizationWithOptions:UNAuthorizationOptionBadge | UNAuthorizationOptionSound | UNAuthorizationOptionAlert completionHandler:^(BOOL granted, NSError *error) {
+            if (granted) {
+#if !TARGET_IPHONE_SIMULATOR
+                dispatch_async(dispatch_get_main_queue(), ^{
+                    [application registerForRemoteNotifications];
+                });
+#endif
+            }
+        }];
+        return;
+    }
+
+    if([application respondsToSelector:@selector(registerUserNotificationSettings:)])
+    {
+        UIUserNotificationType notificationTypes = UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert;
+        UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:notificationTypes categories:nil];
+        [application registerUserNotificationSettings:settings];
+    }
+    
+#if !TARGET_IPHONE_SIMULATOR
+    if ([application respondsToSelector:@selector(registerForRemoteNotifications)]) {
+        [application registerForRemoteNotifications];
+    }else{
+        UIRemoteNotificationType notificationTypes = UIRemoteNotificationTypeBadge |
+        UIRemoteNotificationTypeSound |
+        UIRemoteNotificationTypeAlert;
+        [[UIApplication sharedApplication] registerForRemoteNotificationTypes:notificationTypes];
+    }
+#endif
+}
+
+#pragma mark - init Hyphenate
+
+- (void)hyphenateApplication:(UIApplication *)application
+didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
+                    appkey:(NSString *)appkey
+              apnsCertName:(NSString *)apnsCertName
+               otherConfig:(NSDictionary *)otherConfig
+{
+    [self _setupAppDelegateNotifications];
+    [self _registerRemoteNotification];
+    
+    EMOptions *options = [EMOptions optionsWithAppkey:appkey];
+    options.apnsCertName = apnsCertName;
+    options.isAutoAcceptGroupInvitation = NO;
+    if ([otherConfig objectForKey:kSDKConfigEnableConsoleLogger]) {
+        options.enableConsoleLog = YES;
+    }
+    
+    BOOL isHttpsOnly = NO;
+    if ([otherConfig objectForKey:@"httpsOnly"]) {
+        isHttpsOnly = [[otherConfig objectForKey:@"httpsOnly"] boolValue];
+    }
+    options.usingHttpsOnly = isHttpsOnly;
+    
+    NSUserDefaults *udefaults = [NSUserDefaults standardUserDefaults];
+    if ([udefaults objectForKey:@"autoTransferMessageFile"]) {
+        options.isAutoTransferMessageAttachments = [[udefaults objectForKey:@"autoTransferMessageFile"] boolValue];
+    }
+    if ([udefaults objectForKey:@"autoDownloadMessageThumbnail"]) {
+        options.isAutoDownloadThumbnail = [[udefaults objectForKey:@"autoDownloadMessageThumbnail"] boolValue];
+    }
+    
+    BOOL sandBox = [otherConfig objectForKey:@"easeSandBox"] && [[otherConfig objectForKey:@"easeSandBox"] boolValue];
+    if (!sandBox) {
+        [[EMClient sharedClient] initializeSDKWithOptions:options];
+    }
+}
+
+- (void)hyphenateApplication:(UIApplication *)application
+didReceiveRemoteNotification:(NSDictionary *)userInfo
+{
+    [[EMClient sharedClient] application:application didReceiveRemoteNotification:userInfo];
+}
+
+- (void)dealloc
+{
+    [[NSNotificationCenter defaultCenter] removeObserver:self];
+}
+
+#pragma mark - send message
+
++ (EMMessage *)getTextMessage:(NSString *)text
+                           to:(NSString *)to
+                  messageType:(EMChatType)messageType
+                   messageExt:(NSDictionary *)messageExt
+
+{
+    NSString *willSendText = [EaseConvertToCommonEmoticonsHelper convertToCommonEmoticons:text];
+    EMTextMessageBody *body = [[EMTextMessageBody alloc] initWithText:willSendText];
+    NSString *from = [[EMClient sharedClient] currentUsername];
+    EMMessage *message = [[EMMessage alloc] initWithConversationID:to from:from to:to body:body ext:messageExt];
+    message.chatType = messageType;
+    
+    return message;
+}
+
++ (EMMessage *)getCmdMessage:(NSString *)action
+                          to:(NSString *)to
+                 messageType:(EMChatType)messageType
+                  messageExt:(NSDictionary *)messageExt
+                   cmdParams:(NSArray *)params
+{
+    EMCmdMessageBody *body = [[EMCmdMessageBody alloc] initWithAction:action];
+    if (params) {
+        body.params = params;
+    }
+    NSString *from = [[EMClient sharedClient] currentUsername];
+    EMMessage *message = [[EMMessage alloc] initWithConversationID:to from:from to:to body:body ext:messageExt];
+    message.chatType = messageType;
+    
+    return message;
+}
+
++ (EMMessage *)getLocationMessageWithLatitude:(double)latitude
+                                    longitude:(double)longitude
+                                      address:(NSString *)address
+                                           to:(NSString *)to
+                                  messageType:(EMChatType)messageType
+                                   messageExt:(NSDictionary *)messageExt
+{
+    EMLocationMessageBody *body = [[EMLocationMessageBody alloc] initWithLatitude:latitude longitude:longitude address:address];
+    NSString *from = [[EMClient sharedClient] currentUsername];
+    EMMessage *message = [[EMMessage alloc] initWithConversationID:to from:from to:to body:body ext:messageExt];
+    message.chatType = messageType;
+    
+    return message;
+}
+
++ (EMMessage *)getImageMessageWithImageData:(NSData *)imageData
+                                         to:(NSString *)to
+                                messageType:(EMChatType)messageType
+                                 messageExt:(NSDictionary *)messageExt
+{
+    EMImageMessageBody *body = [[EMImageMessageBody alloc] initWithData:imageData displayName:@"image"];
+    NSString *from = [[EMClient sharedClient] currentUsername];
+    EMMessage *message = [[EMMessage alloc] initWithConversationID:to from:from to:to body:body ext:messageExt];
+    message.chatType = messageType;
+    
+    return message;
+}
+
++ (EMMessage *)getImageMessageWithImage:(UIImage *)image
+                                     to:(NSString *)to
+                            messageType:(EMChatType)messageType
+                             messageExt:(NSDictionary *)messageExt
+{
+    NSData *data = UIImageJPEGRepresentation(image, 1);
+    
+    return [self getImageMessageWithImageData:data to:to messageType:messageType messageExt:messageExt];
+}
+
++ (EMMessage *)getVoiceMessageWithLocalPath:(NSString *)localPath
+                                   duration:(NSInteger)duration
+                                         to:(NSString *)to
+                                messageType:(EMChatType)messageType
+                                 messageExt:(NSDictionary *)messageExt
+{
+    EMVoiceMessageBody *body = [[EMVoiceMessageBody alloc] initWithLocalPath:localPath displayName:@"audio"];
+    body.duration = (int)duration;
+    NSString *from = [[EMClient sharedClient] currentUsername];
+    EMMessage *message = [[EMMessage alloc] initWithConversationID:to from:from to:to body:body ext:messageExt];
+    message.chatType = messageType;
+    
+    return message;
+}
+
++ (EMMessage *)getVideoMessageWithURL:(NSURL *)url
+                                   to:(NSString *)to
+                          messageType:(EMChatType)messageType
+                           messageExt:(NSDictionary *)messageExt
+{
+    EMVideoMessageBody *body = [[EMVideoMessageBody alloc] initWithLocalPath:[url path] displayName:@"video.mp4"];
+    NSString *from = [[EMClient sharedClient] currentUsername];
+    EMMessage *message = [[EMMessage alloc] initWithConversationID:to from:from to:to body:body ext:messageExt];
+    message.chatType = messageType;
+    
+    return message;
+}
+
+@end

--
Gitblit v1.8.0