|
|
@@ -3,16 +3,18 @@ package com.sk.weichat.ui.erp.fragment;
|
|
|
import android.app.Activity;
|
|
|
import android.app.AlertDialog;
|
|
|
import android.app.ProgressDialog;
|
|
|
+import android.content.BroadcastReceiver;
|
|
|
import android.content.ComponentName;
|
|
|
import android.content.Context;
|
|
|
import android.content.DialogInterface;
|
|
|
import android.content.Intent;
|
|
|
+import android.content.IntentFilter;
|
|
|
import android.content.ServiceConnection;
|
|
|
import android.os.Bundle;
|
|
|
import android.os.Handler;
|
|
|
import android.os.IBinder;
|
|
|
-import android.support.v4.app.FragmentManager;
|
|
|
-import android.support.v4.app.FragmentTransaction;
|
|
|
+import android.os.Message;
|
|
|
+
|
|
|
import android.text.InputFilter;
|
|
|
import android.text.TextUtils;
|
|
|
import android.util.Log;
|
|
|
@@ -29,6 +31,8 @@ import android.widget.ListView;
|
|
|
import android.widget.RelativeLayout;
|
|
|
import android.widget.TextView;
|
|
|
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
import com.android.volley.Response;
|
|
|
import com.android.volley.VolleyError;
|
|
|
import com.handmark.pulltorefresh.library.PullToRefreshBase;
|
|
|
@@ -57,12 +61,20 @@ import com.sk.weichat.ui.cardcast.FriendFragment;
|
|
|
import com.sk.weichat.ui.circle.BasicInfoActivity;
|
|
|
import com.sk.weichat.ui.erp.activity.CommonFragmentActivity;
|
|
|
import com.sk.weichat.ui.erp.activity.CompanyContactsActivity;
|
|
|
+import com.sk.weichat.ui.erp.db.DBManager;
|
|
|
+import com.sk.weichat.ui.erp.entity.EmployeesEntity;
|
|
|
+import com.sk.weichat.ui.erp.entity.Hrorgs;
|
|
|
+import com.sk.weichat.ui.erp.entity.HrorgsEntity;
|
|
|
+import com.sk.weichat.ui.erp.util.CommonUtil;
|
|
|
+import com.sk.weichat.ui.erp.util.Constants;
|
|
|
+import com.sk.weichat.ui.erp.util.ViewUtil;
|
|
|
import com.sk.weichat.ui.erp.view.ListViewInScroller;
|
|
|
import com.sk.weichat.ui.message.ChatActivity;
|
|
|
import com.sk.weichat.ui.message.NewFriendActivity;
|
|
|
import com.sk.weichat.ui.nearby.UserSearchActivity;
|
|
|
import com.sk.weichat.util.ProgressDialogUtil;
|
|
|
import com.sk.weichat.util.StringUtils;
|
|
|
+import com.sk.weichat.util.TimeUtils;
|
|
|
import com.sk.weichat.util.ToastUtil;
|
|
|
import com.sk.weichat.volley.ArrayResult;
|
|
|
import com.sk.weichat.volley.ObjectResult;
|
|
|
@@ -74,7 +86,9 @@ import com.sk.weichat.xmpp.CoreService;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Collections;
|
|
|
import java.util.HashMap;
|
|
|
+import java.util.LinkedHashMap;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
/**
|
|
|
* @desc:联系人
|
|
|
@@ -82,7 +96,7 @@ import java.util.List;
|
|
|
*/
|
|
|
public class LinksManFragment extends XutilsFragment implements View.OnClickListener {
|
|
|
|
|
|
- // private String TAG = "LinksManFragment";
|
|
|
+
|
|
|
private Context ct;
|
|
|
@ViewInject(R.id.my_data_rl)
|
|
|
private RelativeLayout my_data_rl;
|
|
|
@@ -98,10 +112,23 @@ public class LinksManFragment extends XutilsFragment implements View.OnClickList
|
|
|
private BaseComparator<Friend> mBaseComparator;
|
|
|
private FriendSortAdapter mAdapter;
|
|
|
private String mLoginUserId;
|
|
|
- private Handler mHandler = new Handler();
|
|
|
+ private Handler mHandler = new Handler() ;
|
|
|
private boolean mNeedUpdate = true;
|
|
|
private Activity mActivity;
|
|
|
+ private DBManager manager;
|
|
|
|
|
|
+ //接收修改公司广播
|
|
|
+ private IntentFilter inputFilter;
|
|
|
+ private BroadcastReceiver receiver=new BroadcastReceiver() {
|
|
|
+ @Override
|
|
|
+ public void onReceive(Context context, Intent intent) {
|
|
|
+ if ("home".equals(intent.getStringExtra("falg"))){
|
|
|
+ upDataFriend();
|
|
|
+ loadData();
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
@Override
|
|
|
public void onClick(View v) {
|
|
|
switch (v.getId()) {
|
|
|
@@ -113,8 +140,8 @@ public class LinksManFragment extends XutilsFragment implements View.OnClickList
|
|
|
break;
|
|
|
case R.id.local_video_rl:
|
|
|
//TODO 在通讯录页面点击商务伙伴时调转页面,待实现
|
|
|
- Log.i("gongpengmimngIV","点击了商务圈");
|
|
|
- ToastUtil.showToast(getActivity(),"抱歉,该功能还未开发");
|
|
|
+ Log.i("gongpengmimngIV", "点击了商务圈");
|
|
|
+ ToastUtil.showToast(getActivity(), "抱歉,该功能还未开发");
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
@@ -134,15 +161,56 @@ public class LinksManFragment extends XutilsFragment implements View.OnClickList
|
|
|
@Override
|
|
|
public void onCreate(Bundle savedInstanceState) {
|
|
|
super.onCreate(savedInstanceState);
|
|
|
+ inputFilter=new IntentFilter("com.app.home.update");
|
|
|
+ getActivity().registerReceiver(receiver,inputFilter);
|
|
|
setHasOptionsMenu(true);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
protected void onCreateView(Bundle savedInstanceState, boolean createView) {
|
|
|
+
|
|
|
if (createView) {
|
|
|
ct = getActivity();
|
|
|
initView();
|
|
|
}
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void getDataByDB(List<Friend> friend) {
|
|
|
+ if (manager == null)
|
|
|
+ manager = new DBManager(ct);
|
|
|
+
|
|
|
+ String master = CommonUtil.getSharedPreferences(ct, "erp_master"); //待优化 每次都 读取文件耗性能
|
|
|
+
|
|
|
+ List<EmployeesEntity> emList = manager.select_getEmployee(
|
|
|
+ new String[]{master},
|
|
|
+ "whichsys=?");
|
|
|
+
|
|
|
+ List<Friend> friends = new ArrayList<>();
|
|
|
+ for (int i = 0; i < emList.size(); i++) {
|
|
|
+ String fId = String.valueOf(emList.get(i).getEm_IMID());
|
|
|
+ for (int j = 0; j < friend.size(); j++) {
|
|
|
+ if (fId.equals(friend.get(j).getUserId())){ //当有重复
|
|
|
+ break;
|
|
|
+ } else if ((j == (friend.size() - 1))&&!(fId.equals(friend.get(j).getUserId()))) {
|
|
|
+ friends.add(EnterChatAction(emList.get(i)));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ friend.addAll(friends);
|
|
|
+ }
|
|
|
+
|
|
|
+ private Friend EnterChatAction(EmployeesEntity employee) {
|
|
|
+ Friend friend = new Friend();
|
|
|
+ friend.setUserId(String.valueOf(employee.getEm_IMID()));
|
|
|
+ friend.setOwnerId(MyApplication.getInstance().mLoginUser.getUserId());
|
|
|
+ friend.setRemarkName(employee.getEM_NAME());//备注
|
|
|
+ friend.setNickName(employee.getEM_NAME());//昵称
|
|
|
+// friend.setDescription("企业通讯录人员");
|
|
|
+ // timeSend作为取群聊离线消息的标志,所以要在这里设置一个初始值
|
|
|
+ friend.setTimeSend(TimeUtils.sk_time_current_time());
|
|
|
+ friend.setStatus(Friend.STATUS_UNKNOW);
|
|
|
+ return friend;
|
|
|
}
|
|
|
|
|
|
private void upDataFriend() {
|
|
|
@@ -161,6 +229,7 @@ public class LinksManFragment extends XutilsFragment implements View.OnClickList
|
|
|
boolean success = Result.defaultParser(mActivity, result, false);
|
|
|
if (success) {
|
|
|
FriendDao.getInstance().addAttentionUsers(mHandler, MyApplication.getInstance().mLoginUser.getUserId(), result.getData(),
|
|
|
+
|
|
|
new OnCompleteListener() {
|
|
|
@Override
|
|
|
public void onCompleted() {
|
|
|
@@ -196,7 +265,7 @@ public class LinksManFragment extends XutilsFragment implements View.OnClickList
|
|
|
|
|
|
my_friend_rl = (RelativeLayout) headview.findViewById(R.id.my_friend_rl);
|
|
|
my_data_rl = (RelativeLayout) headview.findViewById(R.id.my_data_rl);
|
|
|
- local_video_rl= (RelativeLayout) headview.findViewById(R.id.local_video_rl);
|
|
|
+ local_video_rl = (RelativeLayout) headview.findViewById(R.id.local_video_rl);
|
|
|
|
|
|
local_video_rl.setOnClickListener(this);
|
|
|
my_data_rl.setOnClickListener(this);
|
|
|
@@ -248,7 +317,7 @@ public class LinksManFragment extends XutilsFragment implements View.OnClickList
|
|
|
try {
|
|
|
friend = mSortFriends.get((int) id).getBean();
|
|
|
} catch (ArrayIndexOutOfBoundsException e) {
|
|
|
- return;
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
Intent intent = null;
|
|
|
@@ -310,7 +379,10 @@ public class LinksManFragment extends XutilsFragment implements View.OnClickList
|
|
|
final List<Friend> friends = FriendDao.getInstance().getFriends(mLoginUserId);
|
|
|
Log.i("wang", "friends =" + friends);
|
|
|
Log.i("wang", "friends mloginuserid=" + mLoginUserId);
|
|
|
- if (friends != null) Log.i("wang", "friends size()=" + friends.size());
|
|
|
+ getDataByDB(friends);
|
|
|
+ if (friends != null)
|
|
|
+ Log.i("wang", "friends size()=" + friends.size());
|
|
|
+
|
|
|
long delayTime = 200 - (startTime - System.currentTimeMillis());// 保证至少200ms的刷新过程
|
|
|
if (delayTime < 0) {
|
|
|
delayTime = 0;
|
|
|
@@ -597,8 +669,8 @@ public class LinksManFragment extends XutilsFragment implements View.OnClickList
|
|
|
|
|
|
/**
|
|
|
* @param
|
|
|
- * @param type 0 取消关注 <br/>
|
|
|
- * 1、彻底删除<br/>
|
|
|
+ * @param type 0 取消关注 <br/>
|
|
|
+ * 1、彻底删除<br/>
|
|
|
*/
|
|
|
private void deleteFriend(final BaseSortModel<Friend> sortFriend, final int type) {
|
|
|
HashMap<String, String> params = new HashMap<String, String>();
|
|
|
@@ -661,6 +733,14 @@ public class LinksManFragment extends XutilsFragment implements View.OnClickList
|
|
|
inflater.inflate(R.menu.menu_nearby, menu);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void onDestroy() {
|
|
|
+ Log.i("gongpengming","onDestroy");
|
|
|
+ getActivity().unregisterReceiver(receiver);
|
|
|
+
|
|
|
+ super.onDestroy();
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public boolean onOptionsItemSelected(MenuItem item) {
|
|
|
if (item.getItemId() == R.id.search) {
|