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/ViewController/EaseUsersListViewController.m |  180 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 180 insertions(+), 0 deletions(-)

diff --git a/screendisplay/Pods/EaseUI/EaseUI/EMUIKit/ViewController/EaseUsersListViewController.m b/screendisplay/Pods/EaseUI/EaseUI/EMUIKit/ViewController/EaseUsersListViewController.m
new file mode 100755
index 0000000..3ccde7a
--- /dev/null
+++ b/screendisplay/Pods/EaseUI/EaseUI/EMUIKit/ViewController/EaseUsersListViewController.m
@@ -0,0 +1,180 @@
+/************************************************************
+ *  * 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 "EaseUsersListViewController.h"
+
+#import "UIViewController+HUD.h"
+#import "EaseMessageViewController.h"
+
+@interface EaseUsersListViewController ()
+
+@property (strong, nonatomic) UISearchBar *searchBar;
+
+@end
+
+@implementation EaseUsersListViewController
+
+- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
+{
+    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
+    if (self) {
+        
+    }
+    return self;
+}
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    // Do any additional setup after loading the view.
+    
+    [self tableViewDidTriggerHeaderRefresh];
+}
+
+- (void)didReceiveMemoryWarning {
+    [super didReceiveMemoryWarning];
+    // Dispose of any resources that can be recreated.
+}
+
+#pragma mark - setter
+
+- (void)setShowSearchBar:(BOOL)showSearchBar
+{
+    if (_showSearchBar != showSearchBar) {
+        _showSearchBar = showSearchBar;
+    }
+}
+
+#pragma mark - Table view data source
+
+- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
+{
+    // Return the number of sections.
+    return 2;
+}
+
+- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
+{
+    // Return the number of rows in the section.
+    if (section == 0) {
+        if ([_dataSource respondsToSelector:@selector(numberOfRowInUserListViewController:)]) {
+            return [_dataSource numberOfRowInUserListViewController:self];
+        }
+        return 0;
+    }
+    return [self.dataArray count];
+}
+
+- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
+{
+    NSString *CellIdentifier = [EaseUserCell cellIdentifierWithModel:nil];
+    EaseUserCell *cell = (EaseUserCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
+    
+    // Configure the cell...
+    if (cell == nil) {
+        cell = [[EaseUserCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
+    }
+    
+    if (indexPath.section == 0) {
+        return nil;
+    } else {
+        id<IUserModel> model = nil;
+        if ([_dataSource respondsToSelector:@selector(userListViewController:userModelForIndexPath:)]) {
+            model = [_dataSource userListViewController:self userModelForIndexPath:indexPath];
+        }
+        else {
+            model = [self.dataArray objectAtIndex:indexPath.row];
+        }
+        
+        if (model) {
+            cell.model = model;
+        }
+        
+        return cell;
+    }
+}
+
+#pragma mark - Table view delegate
+
+- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
+{
+    return [EaseUserCell cellHeightWithModel:nil];
+}
+
+- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
+{
+    [tableView deselectRowAtIndexPath:indexPath animated:YES];
+    
+    id<IUserModel> model = nil;
+    if (_dataSource && [_dataSource respondsToSelector:@selector(userListViewController:userModelForIndexPath:)]) {
+        model = [_dataSource userListViewController:self userModelForIndexPath:indexPath];
+    }
+    else {
+        model = [self.dataArray objectAtIndex:indexPath.row];
+    }
+    
+    if (model) {
+        if (_delegate && [_delegate respondsToSelector:@selector(userListViewController:didSelectUserModel:)]) {
+            [_delegate userListViewController:self didSelectUserModel:model];
+        } else {
+            EaseMessageViewController *viewController = [[EaseMessageViewController alloc] initWithConversationChatter:model.buddy conversationType:EMConversationTypeChat];
+            viewController.title = model.nickname;
+            [self.navigationController pushViewController:viewController animated:YES];
+        }
+    }}
+
+#pragma mark - data
+
+- (void)tableViewDidTriggerHeaderRefresh
+{
+    __weak typeof(self) weakself = self;
+    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
+        EMError *error = nil;
+        NSArray *buddyList = [[EMClient sharedClient].contactManager getContactsFromServerWithError:&error];
+        if (!error) {
+            NSMutableArray *contactsSource = [NSMutableArray arrayWithArray:buddyList];
+            NSMutableArray *tempDataArray = [NSMutableArray array];
+            
+            // remove the contact that is currently in the black list
+            NSArray *blockList = [[EMClient sharedClient].contactManager getBlackList];
+            for (NSInteger i = 0; i < buddyList.count; i++) {
+                NSString *buddy = [buddyList objectAtIndex:i];
+                if (![blockList containsObject:buddy]) {
+                    [contactsSource addObject:buddy];
+                    
+                    id<IUserModel> model = nil;
+                    if (weakself.dataSource && [weakself.dataSource respondsToSelector:@selector(userListViewController:modelForBuddy:)]) {
+                        model = [weakself.dataSource userListViewController:self modelForBuddy:buddy];
+                    }
+                    else{
+                        model = [[EaseUserModel alloc] initWithBuddy:buddy];
+                    }
+                    
+                    if(model){
+                        [tempDataArray addObject:model];
+                    }
+                }
+            }
+            dispatch_async(dispatch_get_main_queue(), ^{
+                [weakself.dataArray removeAllObjects];
+                [weakself.dataArray addObjectsFromArray:tempDataArray];
+                [weakself.tableView reloadData];
+            });
+        }
+        [weakself tableViewDidFinishTriggerHeader:YES reload:NO];
+    });
+}
+
+- (void)dealloc
+{
+}
+
+@end

--
Gitblit v1.8.0