|
|
@@ -11,8 +11,8 @@ 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 +29,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 +59,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 +84,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:联系人
|
|
|
@@ -83,6 +95,7 @@ import java.util.List;
|
|
|
public class LinksManFragment extends XutilsFragment implements View.OnClickListener {
|
|
|
|
|
|
// private String TAG = "LinksManFragment";
|
|
|
+ private final int LOAD_SUCCESS_ALLDATA = 9;
|
|
|
private Context ct;
|
|
|
@ViewInject(R.id.my_data_rl)
|
|
|
private RelativeLayout my_data_rl;
|
|
|
@@ -98,9 +111,48 @@ 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() {
|
|
|
+ @Override
|
|
|
+ public void handleMessage(Message msg) {
|
|
|
+ if (msg.what == LOAD_SUCCESS_ALLDATA) {
|
|
|
+
|
|
|
+ String result = msg.getData().getString("result");
|
|
|
+ JSONObject jsonobject = JSON.parseObject(result);
|
|
|
+
|
|
|
+ String server_time = jsonobject.getString("sysdate");
|
|
|
+ Log.i("gongpengming", result);
|
|
|
+// List<HrorgsEntity> hrorgsEntities = JSON.parseArray(jsonobject.getString("hrorgs"), HrorgsEntity.class);
|
|
|
+// List<EmployeesEntity> employeesEntities = JSON.parseArray(jsonobject.getString("employees"), EmployeesEntity.class);
|
|
|
+// Log.i(TAG, result);
|
|
|
+// master = CommonUtil.getSharedPreferences(ct, "erp_master");
|
|
|
+// HrorgsEntity hrEntity = manager.select_getRootData(new String[]{master}, "whichsys=?");
|
|
|
+// boolean isFristLoad = true;//是否第一次加载
|
|
|
+// if (hrEntity != null) {
|
|
|
+// isFristLoad = false;
|
|
|
+// }
|
|
|
+// reScrollView.getLoadingLayoutProxy().setRefreshingLabel("正在同步数据,请稍等...");
|
|
|
+// //空代表取缓存
|
|
|
+// if (!hrorgsEntities.isEmpty() || !employeesEntities.isEmpty()) {
|
|
|
+// Log.i(TAG, "是否是第一次加载数据:" + isFristLoad);
|
|
|
+// Log.i(TAG, "同步数据......");
|
|
|
+// insertDataSqlite(isFristLoad, hrorgsEntities, employeesEntities,
|
|
|
+// server_time); //写入缓存
|
|
|
+// rl_empty.setVisibility(View.GONE);
|
|
|
+// ll_content.setVisibility(View.VISIBLE);
|
|
|
+// LoadRootHrorgFromServer();//取缓存
|
|
|
+// } else {
|
|
|
+// Log.i(TAG, "取缓存数据.....!");
|
|
|
+// LoadRootHrorgFromServer();//取缓存
|
|
|
+// }
|
|
|
+// reScrollView.onRefreshComplete();
|
|
|
+// progressDialog.dismiss();
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
private boolean mNeedUpdate = true;
|
|
|
private Activity mActivity;
|
|
|
+ private DBManager manager;
|
|
|
|
|
|
@Override
|
|
|
public void onClick(View v) {
|
|
|
@@ -113,8 +165,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;
|
|
|
}
|
|
|
}
|
|
|
@@ -139,10 +191,49 @@ public class LinksManFragment extends XutilsFragment implements View.OnClickList
|
|
|
|
|
|
@Override
|
|
|
protected void onCreateView(Bundle savedInstanceState, boolean createView) {
|
|
|
+
|
|
|
if (createView) {
|
|
|
ct = getActivity();
|
|
|
initView();
|
|
|
}
|
|
|
+// getDataByDB();
|
|
|
+ }
|
|
|
+
|
|
|
+ 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 +252,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 +288,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 +340,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 +402,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 +692,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>();
|