|
|
@@ -51,10 +51,12 @@ import com.sk.weichat.ui.erp.activity.NoticesActivity;
|
|
|
import com.sk.weichat.ui.erp.activity.ScheduleActivity;
|
|
|
import com.sk.weichat.ui.erp.activity.TaskActivity;
|
|
|
import com.sk.weichat.ui.erp.model.AllProcess;
|
|
|
+import com.sk.weichat.ui.erp.model.NewsEntity;
|
|
|
import com.sk.weichat.ui.erp.model.NoticeEntity;
|
|
|
import com.sk.weichat.ui.erp.util.CommonUtil;
|
|
|
import com.sk.weichat.ui.erp.util.Constants;
|
|
|
import com.sk.weichat.ui.erp.util.FlexJsonUtil;
|
|
|
+import com.sk.weichat.ui.erp.util.ObjectUtils;
|
|
|
import com.sk.weichat.ui.erp.util.ViewUtil;
|
|
|
import com.sk.weichat.util.HtmlUtils;
|
|
|
import com.sk.weichat.util.ProgressDialogUtil;
|
|
|
@@ -81,662 +83,715 @@ import java.util.Map;
|
|
|
* @author:Administrator on 2016/2/17 17:33
|
|
|
*/
|
|
|
public class MessageFragment extends EasyFragment {
|
|
|
- private boolean mNeedUpdate = true;
|
|
|
-
|
|
|
- private ClearEditText mClearEditText;
|
|
|
-
|
|
|
- private PullToRefreshSlideListView mPullToRefreshListView;
|
|
|
-
|
|
|
- private List<BaseSortModel<Friend>> mFriendList;// 筛选后的朋友数据
|
|
|
- private List<BaseSortModel<Friend>> mOriginalFriendList;// 原始的朋友数据,也就是从数据库查询出来,没有筛选的
|
|
|
- private NearlyMessageAdapter mAdapter;
|
|
|
- private Handler mHandler = new Handler();
|
|
|
- private boolean isRefeshed;
|
|
|
- //界面更新广播
|
|
|
- private BroadcastReceiver mUpdateReceiver = new BroadcastReceiver() {
|
|
|
- @Override
|
|
|
- public void onReceive(Context context, Intent intent) {
|
|
|
- if (intent.getAction().equals(MsgBroadcast.ACTION_MSG_UI_UPDATE)) {
|
|
|
- if (isResumed()) {
|
|
|
- Log.i("MessageFragment","更新ui界面广播开始...........................");
|
|
|
- loadData();
|
|
|
- } else {
|
|
|
- mNeedUpdate = true;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- };
|
|
|
- private BaseActivity mActivity;
|
|
|
-
|
|
|
- public MessageFragment() {
|
|
|
- mOriginalFriendList = new ArrayList<BaseSortModel<Friend>>();
|
|
|
- mFriendList = new ArrayList<BaseSortModel<Friend>>();
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- protected int inflateLayoutId() {
|
|
|
- return R.layout.fragment_message;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- protected void onCreateView(Bundle savedInstanceState, boolean createView) {
|
|
|
- if (createView) {
|
|
|
- initView();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onCreate(Bundle savedInstanceState) {
|
|
|
- super.onCreate(savedInstanceState);
|
|
|
- getActivity().registerReceiver(mUpdateReceiver, new IntentFilter(MsgBroadcast.ACTION_MSG_UI_UPDATE));
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onDestroy() {
|
|
|
- super.onDestroy();
|
|
|
- getActivity().unregisterReceiver(mUpdateReceiver);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onResume() {
|
|
|
- super.onResume();
|
|
|
- if (mNeedUpdate) {
|
|
|
- mNeedUpdate = false;
|
|
|
- loadData();
|
|
|
- Log.i("MessageFragment", "加载流程数据...........................");
|
|
|
- loadERPMsgNum(getActivity());//另外的线程网络请求
|
|
|
- loadGongGaoCount(getActivity());
|
|
|
- loadNoticeCount(getActivity());
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private void initView() {
|
|
|
- mClearEditText = (ClearEditText) findViewById(R.id.search_edit);
|
|
|
- mClearEditText.addTextChangedListener(new TextWatcher() {
|
|
|
- @Override
|
|
|
- public void onTextChanged(CharSequence s, int start, int before, int count) {
|
|
|
- String filter = mClearEditText.getText().toString().trim().toUpperCase();
|
|
|
- mFriendList.clear();
|
|
|
- if (mOriginalFriendList != null && mOriginalFriendList.size() > 0) {
|
|
|
- for (int i = 0; i < mOriginalFriendList.size(); i++) {
|
|
|
- BaseSortModel<Friend> mode = mOriginalFriendList.get(i);
|
|
|
- // 获取筛选的数据
|
|
|
- if (TextUtils.isEmpty(filter) || mode.getSimpleSpell().startsWith(filter) || mode.getWholeSpell().startsWith(filter)
|
|
|
- || mode.getBean().getShowName().startsWith(filter)) {
|
|
|
- mFriendList.add(mode);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
- mAdapter.notifyDataSetChanged();
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void afterTextChanged(Editable s) {
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- mPullToRefreshListView = (PullToRefreshSlideListView) findViewById(R.id.pull_refresh_list);
|
|
|
- mPullToRefreshListView.setShowIndicator(false);
|
|
|
- mPullToRefreshListView.setMode(Mode.PULL_FROM_START);
|
|
|
-
|
|
|
- mAdapter = new NearlyMessageAdapter(getActivity());
|
|
|
-
|
|
|
- mPullToRefreshListView.getRefreshableView().setAdapter(mAdapter);
|
|
|
-
|
|
|
- mPullToRefreshListView.setOnRefreshListener(new OnRefreshListener<SlideListView>() {
|
|
|
- @Override
|
|
|
- public void onRefresh(PullToRefreshBase<SlideListView> refreshView) {
|
|
|
- upDataFriend();
|
|
|
- loadData();
|
|
|
- loadERPMsgNum(getActivity());
|
|
|
- loadGongGaoCount(getActivity());
|
|
|
- loadNoticeCount(getActivity());
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- mPullToRefreshListView.getRefreshableView().setOnItemClickListener(new AdapterView.OnItemClickListener() {
|
|
|
- @Override
|
|
|
- public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
|
|
|
- Friend friend = (Friend) arg0.getItemAtPosition(position);
|
|
|
- if (friend.getRoomFlag() == 0) {
|
|
|
- if (friend.getUserId().equals(Friend.ID_NEW_FRIEND_MESSAGE)) {// 新朋友消息
|
|
|
- startActivity(new Intent(getActivity(), NewFriendActivity.class));
|
|
|
- } else if (friend.getUserId().equals(Friend.ID_ERP_PROCESS)) {//待办事宜
|
|
|
- //ViewUtil.ShowMessageFDialogAutoDismiss(getActivity(),"待审批流程",2000);
|
|
|
- startActivity(new Intent(getActivity(), ScheduleActivity.class));
|
|
|
- } else if (friend.getUserId().equals(Friend.ID_ERP_TASK)) {//我的任务
|
|
|
- startActivity(new Intent(getActivity(), TaskActivity.class));
|
|
|
- } else if (friend.getUserId().equals(Friend.ID_ERP_ZHIHUI)) {//我的知会
|
|
|
- startActivity(new Intent(getActivity(), NoticeMenuActivity.class));
|
|
|
- } else if (friend.getUserId().equals(Friend.ID_ERP_NEWS)) {//新闻
|
|
|
- startActivity(new Intent(getActivity(), NewsTwoActivity.class).putExtra("type", 0));
|
|
|
- } else if (friend.getUserId().equals(Friend.ID_ERP_NOTICE)) {//通知
|
|
|
- startActivity(new Intent(getActivity(), NoticesActivity.class).putExtra("type", 1));
|
|
|
- } else if (friend.getUserId().equals(Friend.ID_ERP_GONGGAO)) {//公告
|
|
|
- startActivity(new Intent(getActivity(), NoticesActivity.class).putExtra("type", 2));
|
|
|
- } else {
|
|
|
- Intent intent = new Intent(getActivity(), ChatActivity.class);
|
|
|
- intent.putExtra(ChatActivity.FRIEND, friend);
|
|
|
- startActivity(intent);
|
|
|
- }
|
|
|
- } else {
|
|
|
- Intent intent = new Intent(getActivity(), MucChatActivity.class);
|
|
|
- intent.putExtra(AppConstant.EXTRA_USER_ID, friend.getUserId());
|
|
|
- intent.putExtra(AppConstant.EXTRA_NICK_NAME, friend.getNickName());
|
|
|
- intent.putExtra(AppConstant.EXTRA_IS_GROUP_CHAT, true);
|
|
|
- startActivity(intent);
|
|
|
- }
|
|
|
-
|
|
|
- if (friend.getUnReadNum() > 0) {
|
|
|
- MsgBroadcast.broadcastMsgNumUpdate(getActivity(), false, friend.getUnReadNum());
|
|
|
- friend.setUnReadNum(0);
|
|
|
- mAdapter.notifyDataSetChanged();
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 更新朋友信息
|
|
|
- */
|
|
|
- private void upDataFriend() {
|
|
|
- isRefeshed=true;
|
|
|
- HashMap<String, String> params = new HashMap<String, String>();
|
|
|
- params.put("access_token", MyApplication.getInstance().mAccessToken);
|
|
|
+ private boolean mNeedUpdate = true;
|
|
|
+
|
|
|
+ private ClearEditText mClearEditText;
|
|
|
+
|
|
|
+ private PullToRefreshSlideListView mPullToRefreshListView;
|
|
|
+
|
|
|
+ private List<BaseSortModel<Friend>> mFriendList;// 筛选后的朋友数据
|
|
|
+ private List<BaseSortModel<Friend>> mOriginalFriendList;// 原始的朋友数据,也就是从数据库查询出来,没有筛选的
|
|
|
+ private NearlyMessageAdapter mAdapter;
|
|
|
+ private Handler mHandler = new Handler();
|
|
|
+ private boolean isRefeshed;
|
|
|
+ //界面更新广播
|
|
|
+ private BroadcastReceiver mUpdateReceiver = new BroadcastReceiver() {
|
|
|
+ @Override
|
|
|
+ public void onReceive(Context context, Intent intent) {
|
|
|
+ if (intent.getAction().equals(MsgBroadcast.ACTION_MSG_UI_UPDATE)) {
|
|
|
+ if (isResumed()) {
|
|
|
+ Log.i("MessageFragment", "更新ui界面广播开始...........................");
|
|
|
+ loadData();
|
|
|
+ } else {
|
|
|
+ mNeedUpdate = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
+ private BaseActivity mActivity;
|
|
|
+
|
|
|
+ public MessageFragment() {
|
|
|
+ mOriginalFriendList = new ArrayList<BaseSortModel<Friend>>();
|
|
|
+ mFriendList = new ArrayList<BaseSortModel<Friend>>();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ protected int inflateLayoutId() {
|
|
|
+ return R.layout.fragment_message;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ protected void onCreateView(Bundle savedInstanceState, boolean createView) {
|
|
|
+ if (createView) {
|
|
|
+ initView();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onCreate(Bundle savedInstanceState) {
|
|
|
+ super.onCreate(savedInstanceState);
|
|
|
+ getActivity().registerReceiver(mUpdateReceiver, new IntentFilter(MsgBroadcast.ACTION_MSG_UI_UPDATE));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onDestroy() {
|
|
|
+ super.onDestroy();
|
|
|
+ getActivity().unregisterReceiver(mUpdateReceiver);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onResume() {
|
|
|
+ super.onResume();
|
|
|
+ if (mNeedUpdate) {
|
|
|
+ mNeedUpdate = false;
|
|
|
+ loadData();
|
|
|
+ Log.i("MessageFragment", "加载流程数据...........................");
|
|
|
+ FriendDao.getInstance().markUserMessageRead(
|
|
|
+ MyApplication.getInstance().mLoginUser.getUserId(),
|
|
|
+ Friend.ID_ERP_ZHIHUI);
|
|
|
+ loadERPMsgNum(getActivity());//另外的线程网络请求
|
|
|
+ loadGongGaoCount(getActivity());
|
|
|
+ loadNoticeCount(getActivity());
|
|
|
+ loadERPNewsNum(getActivity());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void initView() {
|
|
|
+ mClearEditText = (ClearEditText) findViewById(R.id.search_edit);
|
|
|
+ mClearEditText.addTextChangedListener(new TextWatcher() {
|
|
|
+ @Override
|
|
|
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
|
|
|
+ String filter = mClearEditText.getText().toString().trim().toUpperCase();
|
|
|
+ mFriendList.clear();
|
|
|
+ if (mOriginalFriendList != null && mOriginalFriendList.size() > 0) {
|
|
|
+ for (int i = 0; i < mOriginalFriendList.size(); i++) {
|
|
|
+ BaseSortModel<Friend> mode = mOriginalFriendList.get(i);
|
|
|
+ // 获取筛选的数据
|
|
|
+ if (TextUtils.isEmpty(filter) || mode.getSimpleSpell().startsWith(filter) || mode.getWholeSpell().startsWith(filter)
|
|
|
+ || mode.getBean().getShowName().startsWith(filter)) {
|
|
|
+ mFriendList.add(mode);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ mAdapter.notifyDataSetChanged();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void afterTextChanged(Editable s) {
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ mPullToRefreshListView = (PullToRefreshSlideListView) findViewById(R.id.pull_refresh_list);
|
|
|
+ mPullToRefreshListView.setShowIndicator(false);
|
|
|
+ mPullToRefreshListView.setMode(Mode.PULL_FROM_START);
|
|
|
+
|
|
|
+ mAdapter = new NearlyMessageAdapter(getActivity());
|
|
|
+
|
|
|
+ mPullToRefreshListView.getRefreshableView().setAdapter(mAdapter);
|
|
|
+
|
|
|
+ mPullToRefreshListView.setOnRefreshListener(new OnRefreshListener<SlideListView>() {
|
|
|
+ @Override
|
|
|
+ public void onRefresh(PullToRefreshBase<SlideListView> refreshView) {
|
|
|
+ upDataFriend();
|
|
|
+ loadData();
|
|
|
+ FriendDao.getInstance().markUserMessageRead(
|
|
|
+ MyApplication.getInstance().mLoginUser.getUserId(),
|
|
|
+ Friend.ID_ERP_ZHIHUI);
|
|
|
+ loadERPMsgNum(getActivity());
|
|
|
+ loadGongGaoCount(getActivity());
|
|
|
+ loadNoticeCount(getActivity());
|
|
|
+ loadERPNewsNum(getActivity());
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ mPullToRefreshListView.getRefreshableView().setOnItemClickListener(new AdapterView.OnItemClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
|
|
|
+ Friend friend = (Friend) arg0.getItemAtPosition(position);
|
|
|
+ if (friend.getRoomFlag() == 0) {
|
|
|
+ if (friend.getUserId().equals(Friend.ID_NEW_FRIEND_MESSAGE)) {// 新朋友消息
|
|
|
+ startActivity(new Intent(getActivity(), NewFriendActivity.class));
|
|
|
+ } else if (friend.getUserId().equals(Friend.ID_ERP_PROCESS)) {//待办事宜
|
|
|
+ //ViewUtil.ShowMessageFDialogAutoDismiss(getActivity(),"待审批流程",2000);
|
|
|
+ startActivity(new Intent(getActivity(), ScheduleActivity.class));
|
|
|
+ } else if (friend.getUserId().equals(Friend.ID_ERP_TASK)) {//我的任务
|
|
|
+ startActivity(new Intent(getActivity(), TaskActivity.class));
|
|
|
+ } else if (friend.getUserId().equals(Friend.ID_ERP_ZHIHUI)) {//我的知会
|
|
|
+ startActivity(new Intent(getActivity(), NoticeMenuActivity.class));
|
|
|
+ } else if (friend.getUserId().equals(Friend.ID_ERP_NEWS)) {//新闻
|
|
|
+ startActivity(new Intent(getActivity(), NewsTwoActivity.class).putExtra("type", 0));
|
|
|
+ } else if (friend.getUserId().equals(Friend.ID_ERP_NOTICE)) {//通知
|
|
|
+ startActivity(new Intent(getActivity(), NoticesActivity.class).putExtra("type", 1));
|
|
|
+ } else if (friend.getUserId().equals(Friend.ID_ERP_GONGGAO)) {//公告
|
|
|
+ startActivity(new Intent(getActivity(), NoticesActivity.class).putExtra("type", 2));
|
|
|
+ } else {
|
|
|
+ Intent intent = new Intent(getActivity(), ChatActivity.class);
|
|
|
+ intent.putExtra(ChatActivity.FRIEND, friend);
|
|
|
+ startActivity(intent);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ Intent intent = new Intent(getActivity(), MucChatActivity.class);
|
|
|
+ intent.putExtra(AppConstant.EXTRA_USER_ID, friend.getUserId());
|
|
|
+ intent.putExtra(AppConstant.EXTRA_NICK_NAME, friend.getNickName());
|
|
|
+ intent.putExtra(AppConstant.EXTRA_IS_GROUP_CHAT, true);
|
|
|
+ startActivity(intent);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (friend.getUnReadNum() > 0) {
|
|
|
+ MsgBroadcast.broadcastMsgNumUpdate(getActivity(), false, friend.getUnReadNum());
|
|
|
+ friend.setUnReadNum(0);
|
|
|
+ mAdapter.notifyDataSetChanged();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 更新朋友信息
|
|
|
+ */
|
|
|
+ private void upDataFriend() {
|
|
|
+ isRefeshed = true;
|
|
|
+ HashMap<String, String> params = new HashMap<String, String>();
|
|
|
+ params.put("access_token", MyApplication.getInstance().mAccessToken);
|
|
|
// Log.i("LinksManFragment", MyApplication.getInstance().mAccessToken);
|
|
|
// Log.i("LinksManFragment", MyApplication.getInstance().getConfig().FRIENDS_ATTENTION_LIST);
|
|
|
// Log.i("LinksManFragment", "http://192.168.253.155:8092/friends/attention/list");
|
|
|
- StringJsonArrayRequest<AttentionUser> request = new StringJsonArrayRequest<AttentionUser>(
|
|
|
- MyApplication.getInstance().getConfig().FRIENDS_ATTENTION_LIST, new ErrorListener() {
|
|
|
- @Override
|
|
|
- public void onErrorResponse(VolleyError arg0) {
|
|
|
- ToastUtil.showErrorNet(mActivity);
|
|
|
- }
|
|
|
- }, new StringJsonArrayRequest.Listener<AttentionUser>() {
|
|
|
- @Override
|
|
|
- public void onResponse(ArrayResult<AttentionUser> result) {
|
|
|
- boolean success = Result.defaultParser(mActivity, result, true);
|
|
|
- Log.i("MessageFragment", "更新好友列表数据:" + JSON.toJSONString(result));
|
|
|
- if (success) {
|
|
|
- FriendDao.getInstance().addAttentionUsers(mHandler, MyApplication.getInstance().mLoginUser.getUserId(), result.getData(),
|
|
|
- new OnCompleteListener() {
|
|
|
- @Override
|
|
|
- public void onCompleted() {
|
|
|
- mPullToRefreshListView.getRefreshableView();
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
- }, AttentionUser.class, params);
|
|
|
- mActivity.addDefaultRequest(request);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onActivityCreated(Bundle savedInstanceState) {
|
|
|
- super.onActivityCreated(savedInstanceState);
|
|
|
- mActivity = (BaseActivity) getActivity();
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 请求加载新的筛选条件的数据
|
|
|
- *
|
|
|
- * 是下拉刷新,还是上拉加载
|
|
|
- */
|
|
|
- private void loadData() {
|
|
|
- new Thread(new Runnable() {
|
|
|
- @Override
|
|
|
- public void run() {
|
|
|
- String mLoginUserId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
- long startTime = System.currentTimeMillis();
|
|
|
- final List<Friend> friends = FriendDao.getInstance().getNearlyFriendMsg(mLoginUserId);
|
|
|
- long delayTime = 200 - (startTime - System.currentTimeMillis());// 保证至少200ms的刷新过程
|
|
|
- if (delayTime < 0) {
|
|
|
- delayTime = 0;
|
|
|
- }
|
|
|
- mHandler.postDelayed(new Runnable() {
|
|
|
- @Override
|
|
|
- public void run() {
|
|
|
- mOriginalFriendList.clear();
|
|
|
- mFriendList.clear();
|
|
|
- String filter = mClearEditText.getText().toString().trim().toUpperCase();
|
|
|
- if (friends != null && friends.size() > 0) {
|
|
|
- for (int i = 0; i < friends.size(); i++) {
|
|
|
- BaseSortModel<Friend> mode = new BaseSortModel<Friend>();
|
|
|
- mode.setBean(friends.get(i));
|
|
|
- setSortCondition(mode);
|
|
|
- mOriginalFriendList.add(mode);
|
|
|
- // 获取筛选的数据
|
|
|
- if (TextUtils.isEmpty(filter) || mode.getSimpleSpell().startsWith(filter) || mode.getWholeSpell().startsWith(filter)
|
|
|
- || mode.getBean().getShowName().startsWith(filter)) {
|
|
|
- mFriendList.add(mode);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
- mAdapter.notifyDataSetChanged();
|
|
|
- mPullToRefreshListView.onRefreshComplete();
|
|
|
- }
|
|
|
- }, delayTime);
|
|
|
- }
|
|
|
- }).start();
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- private final void setSortCondition(BaseSortModel<Friend> mode) {
|
|
|
- Friend friend = mode.getBean();
|
|
|
- if (friend == null) {
|
|
|
- return;
|
|
|
- }
|
|
|
- String name = friend.getShowName();
|
|
|
- String wholeSpell = PingYinUtil.getPingYin(name);
|
|
|
- if (!TextUtils.isEmpty(wholeSpell)) {
|
|
|
- String firstLetter = Character.toString(wholeSpell.charAt(0));
|
|
|
- mode.setWholeSpell(wholeSpell);
|
|
|
- mode.setFirstLetter(firstLetter);
|
|
|
- mode.setSimpleSpell(PingYinUtil.converterToFirstSpell(name));
|
|
|
- } else {// 如果全拼为空,理论上是一种错误情况,因为这代表着昵称为空
|
|
|
- mode.setWholeSpell("#");
|
|
|
- mode.setFirstLetter("#");
|
|
|
- mode.setSimpleSpell("#");
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 删除房间
|
|
|
- *
|
|
|
- * @param sortFriend
|
|
|
- */
|
|
|
- private void deleteRoom(final String loginUserId, final BaseSortModel<Friend> sortFriend) {
|
|
|
- BaseActivity activity = (BaseActivity) getActivity();
|
|
|
- boolean deleteRoom = false;
|
|
|
- if (loginUserId.equals(sortFriend.getBean().getRoomCreateUserId())) {
|
|
|
- deleteRoom = true;
|
|
|
- }
|
|
|
- String url = null;
|
|
|
- if (deleteRoom) {
|
|
|
- url = activity.mConfig.ROOM_DELETE;
|
|
|
- } else {
|
|
|
- url = activity.mConfig.ROOM_MEMBER_DELETE;
|
|
|
- }
|
|
|
- HashMap<String, String> params = new HashMap<String, String>();
|
|
|
- params.put("access_token", MyApplication.getInstance().mAccessToken);
|
|
|
- params.put("roomId", sortFriend.getBean().getRoomId());
|
|
|
- if (!deleteRoom) {
|
|
|
- params.put("userId", loginUserId);
|
|
|
- }
|
|
|
-
|
|
|
- final ProgressDialog dialog = ProgressDialogUtil.init(getActivity(), null, getString(R.string.please_wait));
|
|
|
- ProgressDialogUtil.show(dialog);
|
|
|
- StringJsonObjectRequest<Void> request = new StringJsonObjectRequest<Void>(url, new ErrorListener() {
|
|
|
- @Override
|
|
|
- public void onErrorResponse(VolleyError arg0) {
|
|
|
- ProgressDialogUtil.dismiss(dialog);
|
|
|
- ToastUtil.showErrorNet(getActivity());
|
|
|
- }
|
|
|
- }, new StringJsonObjectRequest.Listener<Void>() {
|
|
|
- @Override
|
|
|
- public void onResponse(ObjectResult<Void> result) {
|
|
|
- boolean success = Result.defaultParser(getActivity(), result, true);
|
|
|
- if (success) {
|
|
|
- deleteFriend(loginUserId, sortFriend);
|
|
|
- sendBroadcast();
|
|
|
- }
|
|
|
- ProgressDialogUtil.dismiss(dialog);
|
|
|
- }
|
|
|
- }, Void.class, params);
|
|
|
- activity.addDefaultRequest(request);
|
|
|
- }
|
|
|
-
|
|
|
- private void deleteFriend(final String loginUserId, final BaseSortModel<Friend> sortFriend) {
|
|
|
- Friend friend = sortFriend.getBean();
|
|
|
- if (friend.getUnReadNum() > 0) {
|
|
|
- MsgBroadcast.broadcastMsgNumUpdate(getActivity(), false, friend.getUnReadNum());
|
|
|
- }
|
|
|
- mFriendList.remove(sortFriend);
|
|
|
- mOriginalFriendList.remove(sortFriend);
|
|
|
- mAdapter.notifyDataSetChanged();
|
|
|
-
|
|
|
- // 删除这个房间
|
|
|
- FriendDao.getInstance().deleteFriend(loginUserId, friend.getUserId());
|
|
|
- // 消息表中删除
|
|
|
- ChatMessageDao.getInstance().deleteMessageTable(loginUserId, friend.getUserId());
|
|
|
-
|
|
|
- MainActivity activity = (MainActivity) getActivity();
|
|
|
- activity.exitMucChat(friend.getUserId());
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- public void sendBroadcast() {
|
|
|
- Intent mIntent = new Intent(MucgroupUpdateUtil.ACTION_UPDATE);
|
|
|
- getActivity().sendBroadcast(mIntent);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- public class NearlyMessageAdapter extends SlideBaseAdapter {
|
|
|
-
|
|
|
- public NearlyMessageAdapter(Context context) {
|
|
|
- super(context);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public int getCount() {
|
|
|
- return mFriendList.size();
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public Object getItem(int position) {
|
|
|
- return mFriendList.get(position).getBean();
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public long getItemId(int position) {
|
|
|
- return position;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public View getView(final int position, View convertView, ViewGroup parent) {
|
|
|
- if (convertView == null) {
|
|
|
- convertView = createConvertView(position);
|
|
|
- }
|
|
|
- ImageView avatar_img = ViewHolder.get(convertView, R.id.avatar_img);
|
|
|
- TextView num_tv = ViewHolder.get(convertView, R.id.num_tv);
|
|
|
- TextView nick_name_tv = ViewHolder.get(convertView, R.id.nick_name_tv);
|
|
|
- TextView content_tv = ViewHolder.get(convertView, R.id.content_tv);
|
|
|
- TextView time_tv = ViewHolder.get(convertView, R.id.time_tv);
|
|
|
-
|
|
|
- TextView delete_tv = ViewHolder.get(convertView, R.id.delete_tv);
|
|
|
-
|
|
|
- final Friend friend = mFriendList.get(position).getBean();
|
|
|
-
|
|
|
- if (friend.getRoomFlag() == 0) {// 这是单个人
|
|
|
- if (friend.getUserId().equals(Friend.ID_SYSTEM_MESSAGE)) {// 系统消息的头像
|
|
|
- avatar_img.setImageResource(R.drawable.im_notice);
|
|
|
- } else if (friend.getUserId().equals(Friend.ID_NEW_FRIEND_MESSAGE)) {// 新朋友的头像
|
|
|
- avatar_img.setImageResource(R.drawable.im_new_friends);
|
|
|
- }else if(friend.getUserId().equals(Friend.ID_ERP_PROCESS)){
|
|
|
- avatar_img.setImageResource(R.drawable.home_image_01);
|
|
|
- } else if(friend.getUserId().equals(Friend.ID_ERP_TASK)){
|
|
|
- avatar_img.setImageResource(R.drawable.home_image_02);
|
|
|
- } else if(friend.getUserId().equals(Friend.ID_ERP_ZHIHUI)){
|
|
|
- avatar_img.setImageResource(R.drawable.home_image_03);
|
|
|
- } else if(friend.getUserId().equals(Friend.ID_ERP_NEWS)){
|
|
|
- avatar_img.setImageResource(R.drawable.iconfont_bokexinwen);
|
|
|
- } else if(friend.getUserId().equals(Friend.ID_ERP_NOTICE)){
|
|
|
- avatar_img.setImageResource(R.drawable.iconfont_tongzhi);
|
|
|
- } else if(friend.getUserId().equals(Friend.ID_ERP_GONGGAO)){
|
|
|
- avatar_img.setImageResource(R.drawable.iconfont_gonggao);
|
|
|
- }else {// 其他
|
|
|
- if(isRefeshed){
|
|
|
- AvatarHelper.getInstance().display(friend.getUserId(), avatar_img, true,true);//每次刷新都会去删除此人缓存
|
|
|
- isRefeshed=false;
|
|
|
-
|
|
|
- }else{
|
|
|
- AvatarHelper.getInstance().displayAvatar(friend.getUserId(), avatar_img,true);
|
|
|
- }
|
|
|
- }
|
|
|
- } else {// 这是1个房间
|
|
|
- if (TextUtils.isEmpty(friend.getRoomCreateUserId())) {
|
|
|
- // avatar_img.setImageResource(R.drawable.avatar_normal);
|
|
|
- avatar_img.setImageResource(R.drawable.muc_icons);
|
|
|
- } else {
|
|
|
- // AvatarHelper.getInstance().displayAvatar(friend.getRoomCreateUserId(), avatar_img, true);// 目前在备注名放房间的创建者Id
|
|
|
- avatar_img.setImageResource(R.drawable.muc_icons);
|
|
|
- }
|
|
|
- }
|
|
|
- nick_name_tv.setText(friend.getRemarkName()!=null?friend.getRemarkName():friend.getNickName());
|
|
|
- // nick_name_tv.setText(friend.getShowName());
|
|
|
- time_tv.setText(TimeUtils.getFriendlyTimeDesc(getActivity(), friend.getTimeSend()));
|
|
|
-
|
|
|
- CharSequence content = "";
|
|
|
- if (friend.getType() == XmppMessage.TYPE_TEXT) {
|
|
|
- String s = StringUtils.replaceSpecialChar(friend.getContent());
|
|
|
- content = HtmlUtils.transform200SpanString(s.replaceAll("\n", "\r\n"), true);
|
|
|
- } else {
|
|
|
- content = friend.getContent();
|
|
|
- }
|
|
|
- content_tv.setText(content);
|
|
|
-
|
|
|
- if (friend.getUnReadNum() > 0) {
|
|
|
- String numStr = friend.getUnReadNum() >= 99 ? "99+" : friend.getUnReadNum() + "";
|
|
|
- num_tv.setText(numStr);
|
|
|
- num_tv.setVisibility(View.VISIBLE);
|
|
|
- } else {
|
|
|
+ StringJsonArrayRequest<AttentionUser> request = new StringJsonArrayRequest<AttentionUser>(
|
|
|
+ MyApplication.getInstance().getConfig().FRIENDS_ATTENTION_LIST, new ErrorListener() {
|
|
|
+ @Override
|
|
|
+ public void onErrorResponse(VolleyError arg0) {
|
|
|
+ ToastUtil.showErrorNet(mActivity);
|
|
|
+ }
|
|
|
+ }, new StringJsonArrayRequest.Listener<AttentionUser>() {
|
|
|
+ @Override
|
|
|
+ public void onResponse(ArrayResult<AttentionUser> result) {
|
|
|
+ boolean success = Result.defaultParser(mActivity, result, true);
|
|
|
+ Log.i("MessageFragment", "更新好友列表数据:" + JSON.toJSONString(result));
|
|
|
+ if (success) {
|
|
|
+ FriendDao.getInstance().addAttentionUsers(mHandler, MyApplication.getInstance().mLoginUser.getUserId(), result.getData(),
|
|
|
+ new OnCompleteListener() {
|
|
|
+ @Override
|
|
|
+ public void onCompleted() {
|
|
|
+ mPullToRefreshListView.getRefreshableView();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }, AttentionUser.class, params);
|
|
|
+ mActivity.addDefaultRequest(request);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onActivityCreated(Bundle savedInstanceState) {
|
|
|
+ super.onActivityCreated(savedInstanceState);
|
|
|
+ mActivity = (BaseActivity) getActivity();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 请求加载新的筛选条件的数据
|
|
|
+ * <p/>
|
|
|
+ * 是下拉刷新,还是上拉加载
|
|
|
+ */
|
|
|
+ private void loadData() {
|
|
|
+ new Thread(new Runnable() {
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ String mLoginUserId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
+ long startTime = System.currentTimeMillis();
|
|
|
+ final List<Friend> friends = FriendDao.getInstance().getNearlyFriendMsg(mLoginUserId);
|
|
|
+ long delayTime = 200 - (startTime - System.currentTimeMillis());// 保证至少200ms的刷新过程
|
|
|
+ if (delayTime < 0) {
|
|
|
+ delayTime = 0;
|
|
|
+ }
|
|
|
+ mHandler.postDelayed(new Runnable() {
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ mOriginalFriendList.clear();
|
|
|
+ mFriendList.clear();
|
|
|
+ String filter = mClearEditText.getText().toString().trim().toUpperCase();
|
|
|
+ if (friends != null && friends.size() > 0) {
|
|
|
+ for (int i = 0; i < friends.size(); i++) {
|
|
|
+ BaseSortModel<Friend> mode = new BaseSortModel<Friend>();
|
|
|
+ mode.setBean(friends.get(i));
|
|
|
+ setSortCondition(mode);
|
|
|
+ mOriginalFriendList.add(mode);
|
|
|
+ // 获取筛选的数据
|
|
|
+ if (TextUtils.isEmpty(filter) || mode.getSimpleSpell().startsWith(filter) || mode.getWholeSpell().startsWith(filter)
|
|
|
+ || mode.getBean().getShowName().startsWith(filter)) {
|
|
|
+ mFriendList.add(mode);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ mAdapter.notifyDataSetChanged();
|
|
|
+ mPullToRefreshListView.onRefreshComplete();
|
|
|
+ }
|
|
|
+ }, delayTime);
|
|
|
+ }
|
|
|
+ }).start();
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private final void setSortCondition(BaseSortModel<Friend> mode) {
|
|
|
+ Friend friend = mode.getBean();
|
|
|
+ if (friend == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ String name = friend.getShowName();
|
|
|
+ String wholeSpell = PingYinUtil.getPingYin(name);
|
|
|
+ if (!TextUtils.isEmpty(wholeSpell)) {
|
|
|
+ String firstLetter = Character.toString(wholeSpell.charAt(0));
|
|
|
+ mode.setWholeSpell(wholeSpell);
|
|
|
+ mode.setFirstLetter(firstLetter);
|
|
|
+ mode.setSimpleSpell(PingYinUtil.converterToFirstSpell(name));
|
|
|
+ } else {// 如果全拼为空,理论上是一种错误情况,因为这代表着昵称为空
|
|
|
+ mode.setWholeSpell("#");
|
|
|
+ mode.setFirstLetter("#");
|
|
|
+ mode.setSimpleSpell("#");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删除房间
|
|
|
+ *
|
|
|
+ * @param sortFriend
|
|
|
+ */
|
|
|
+ private void deleteRoom(final String loginUserId, final BaseSortModel<Friend> sortFriend) {
|
|
|
+ BaseActivity activity = (BaseActivity) getActivity();
|
|
|
+ boolean deleteRoom = false;
|
|
|
+ if (loginUserId.equals(sortFriend.getBean().getRoomCreateUserId())) {
|
|
|
+ deleteRoom = true;
|
|
|
+ }
|
|
|
+ String url = null;
|
|
|
+ if (deleteRoom) {
|
|
|
+ url = activity.mConfig.ROOM_DELETE;
|
|
|
+ } else {
|
|
|
+ url = activity.mConfig.ROOM_MEMBER_DELETE;
|
|
|
+ }
|
|
|
+ HashMap<String, String> params = new HashMap<String, String>();
|
|
|
+ params.put("access_token", MyApplication.getInstance().mAccessToken);
|
|
|
+ params.put("roomId", sortFriend.getBean().getRoomId());
|
|
|
+ if (!deleteRoom) {
|
|
|
+ params.put("userId", loginUserId);
|
|
|
+ }
|
|
|
+
|
|
|
+ final ProgressDialog dialog = ProgressDialogUtil.init(getActivity(), null, getString(R.string.please_wait));
|
|
|
+ ProgressDialogUtil.show(dialog);
|
|
|
+ StringJsonObjectRequest<Void> request = new StringJsonObjectRequest<Void>(url, new ErrorListener() {
|
|
|
+ @Override
|
|
|
+ public void onErrorResponse(VolleyError arg0) {
|
|
|
+ ProgressDialogUtil.dismiss(dialog);
|
|
|
+ ToastUtil.showErrorNet(getActivity());
|
|
|
+ }
|
|
|
+ }, new StringJsonObjectRequest.Listener<Void>() {
|
|
|
+ @Override
|
|
|
+ public void onResponse(ObjectResult<Void> result) {
|
|
|
+ boolean success = Result.defaultParser(getActivity(), result, true);
|
|
|
+ if (success) {
|
|
|
+ deleteFriend(loginUserId, sortFriend);
|
|
|
+ sendBroadcast();
|
|
|
+ }
|
|
|
+ ProgressDialogUtil.dismiss(dialog);
|
|
|
+ }
|
|
|
+ }, Void.class, params);
|
|
|
+ activity.addDefaultRequest(request);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void deleteFriend(final String loginUserId, final BaseSortModel<Friend> sortFriend) {
|
|
|
+ Friend friend = sortFriend.getBean();
|
|
|
+ if (friend.getUnReadNum() > 0) {
|
|
|
+ MsgBroadcast.broadcastMsgNumUpdate(getActivity(), false, friend.getUnReadNum());
|
|
|
+ }
|
|
|
+ mFriendList.remove(sortFriend);
|
|
|
+ mOriginalFriendList.remove(sortFriend);
|
|
|
+ mAdapter.notifyDataSetChanged();
|
|
|
+
|
|
|
+ // 删除这个房间
|
|
|
+ FriendDao.getInstance().deleteFriend(loginUserId, friend.getUserId());
|
|
|
+ // 消息表中删除
|
|
|
+ ChatMessageDao.getInstance().deleteMessageTable(loginUserId, friend.getUserId());
|
|
|
+
|
|
|
+ MainActivity activity = (MainActivity) getActivity();
|
|
|
+ activity.exitMucChat(friend.getUserId());
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public void sendBroadcast() {
|
|
|
+ Intent mIntent = new Intent(MucgroupUpdateUtil.ACTION_UPDATE);
|
|
|
+ getActivity().sendBroadcast(mIntent);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public class NearlyMessageAdapter extends SlideBaseAdapter {
|
|
|
+
|
|
|
+ public NearlyMessageAdapter(Context context) {
|
|
|
+ super(context);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int getCount() {
|
|
|
+ return mFriendList.size();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Object getItem(int position) {
|
|
|
+ return mFriendList.get(position).getBean();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public long getItemId(int position) {
|
|
|
+ return position;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public View getView(final int position, View convertView, ViewGroup parent) {
|
|
|
+ if (convertView == null) {
|
|
|
+ convertView = createConvertView(position);
|
|
|
+ }
|
|
|
+ ImageView avatar_img = ViewHolder.get(convertView, R.id.avatar_img);
|
|
|
+ TextView num_tv = ViewHolder.get(convertView, R.id.num_tv);
|
|
|
+ TextView nick_name_tv = ViewHolder.get(convertView, R.id.nick_name_tv);
|
|
|
+ TextView content_tv = ViewHolder.get(convertView, R.id.content_tv);
|
|
|
+ TextView time_tv = ViewHolder.get(convertView, R.id.time_tv);
|
|
|
+
|
|
|
+ TextView delete_tv = ViewHolder.get(convertView, R.id.delete_tv);
|
|
|
+
|
|
|
+ final Friend friend = mFriendList.get(position).getBean();
|
|
|
+
|
|
|
+ if (friend.getRoomFlag() == 0) {// 这是单个人
|
|
|
+ if (friend.getUserId().equals(Friend.ID_SYSTEM_MESSAGE)) {// 系统消息的头像
|
|
|
+ avatar_img.setImageResource(R.drawable.im_notice);
|
|
|
+ } else if (friend.getUserId().equals(Friend.ID_NEW_FRIEND_MESSAGE)) {// 新朋友的头像
|
|
|
+ avatar_img.setImageResource(R.drawable.im_new_friends);
|
|
|
+ } else if (friend.getUserId().equals(Friend.ID_ERP_PROCESS)) {
|
|
|
+ avatar_img.setImageResource(R.drawable.home_image_01);
|
|
|
+ } else if (friend.getUserId().equals(Friend.ID_ERP_TASK)) {
|
|
|
+ avatar_img.setImageResource(R.drawable.home_image_02);
|
|
|
+ } else if (friend.getUserId().equals(Friend.ID_ERP_ZHIHUI)) {
|
|
|
+ avatar_img.setImageResource(R.drawable.home_image_03);
|
|
|
+ } else if (friend.getUserId().equals(Friend.ID_ERP_NEWS)) {
|
|
|
+ avatar_img.setImageResource(R.drawable.iconfont_bokexinwen);
|
|
|
+ } else if (friend.getUserId().equals(Friend.ID_ERP_NOTICE)) {
|
|
|
+ avatar_img.setImageResource(R.drawable.iconfont_tongzhi);
|
|
|
+ } else if (friend.getUserId().equals(Friend.ID_ERP_GONGGAO)) {
|
|
|
+ avatar_img.setImageResource(R.drawable.iconfont_gonggao);
|
|
|
+ } else {// 其他
|
|
|
+ if (isRefeshed) {
|
|
|
+ AvatarHelper.getInstance().display(friend.getUserId(), avatar_img, true, true);//每次刷新都会去删除此人缓存
|
|
|
+ isRefeshed = false;
|
|
|
+
|
|
|
+ } else {
|
|
|
+ AvatarHelper.getInstance().displayAvatar(friend.getUserId(), avatar_img, true);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {// 这是1个房间
|
|
|
+ if (TextUtils.isEmpty(friend.getRoomCreateUserId())) {
|
|
|
+ // avatar_img.setImageResource(R.drawable.avatar_normal);
|
|
|
+ avatar_img.setImageResource(R.drawable.muc_icons);
|
|
|
+ } else {
|
|
|
+ // AvatarHelper.getInstance().displayAvatar(friend.getRoomCreateUserId(), avatar_img, true);// 目前在备注名放房间的创建者Id
|
|
|
+ avatar_img.setImageResource(R.drawable.muc_icons);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ nick_name_tv.setText(friend.getRemarkName() != null ? friend.getRemarkName() : friend.getNickName());
|
|
|
+ // nick_name_tv.setText(friend.getShowName());
|
|
|
+ time_tv.setText(TimeUtils.getFriendlyTimeDesc(getActivity(), friend.getTimeSend()));
|
|
|
+
|
|
|
+ CharSequence content = "";
|
|
|
+ if (friend.getType() == XmppMessage.TYPE_TEXT) {
|
|
|
+ String s = StringUtils.replaceSpecialChar(friend.getContent());
|
|
|
+ content = HtmlUtils.transform200SpanString(s.replaceAll("\n", "\r\n"), true);
|
|
|
+ } else {
|
|
|
+ content = friend.getContent();
|
|
|
+ }
|
|
|
+ content_tv.setText(content);
|
|
|
+
|
|
|
+ if (friend.getUnReadNum() > 0) {
|
|
|
+ String numStr = friend.getUnReadNum() >= 99 ? "99+" : friend.getUnReadNum() + "";
|
|
|
+ num_tv.setText(numStr);
|
|
|
+ num_tv.setVisibility(View.VISIBLE);
|
|
|
+ } else {
|
|
|
// if (friend.getUnReadNum()==0) {
|
|
|
// num_tv.setVisibility(View.VISIBLE);
|
|
|
// }else{
|
|
|
- num_tv.setVisibility(View.GONE);
|
|
|
+ num_tv.setVisibility(View.GONE);
|
|
|
// }
|
|
|
- }
|
|
|
-
|
|
|
- delete_tv.setOnClickListener(new View.OnClickListener() {
|
|
|
- @Override
|
|
|
- public void onClick(View v) {
|
|
|
- String mLoginUserId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
- if (friend.getRoomFlag() == 0) {
|
|
|
- if (friend.getUnReadNum() > 0) {
|
|
|
- MsgBroadcast.broadcastMsgNumUpdate(getActivity(), false, friend.getUnReadNum());
|
|
|
- }
|
|
|
- BaseSortModel<Friend> mode = mFriendList.get(position);
|
|
|
-
|
|
|
- mFriendList.remove(mode);
|
|
|
- mOriginalFriendList.remove(mode);
|
|
|
-
|
|
|
- mAdapter.notifyDataSetChanged();
|
|
|
- // 如果是普通的人,从好友表中删除最后一条消息的记录,这样就不会查出来了
|
|
|
- FriendDao.getInstance().resetFriendMessage(mLoginUserId, friend.getUserId());
|
|
|
-
|
|
|
- // 消息表中删除
|
|
|
- ChatMessageDao.getInstance().deleteMessageTable(mLoginUserId, friend.getUserId());
|
|
|
- } else {
|
|
|
- deleteRoom(mLoginUserId, mFriendList.get(position));
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- });
|
|
|
- return convertView;
|
|
|
- }
|
|
|
- //控制侧滑删除
|
|
|
- @Override
|
|
|
- public SlideMode getSlideModeInPosition(int position) {
|
|
|
- Friend friend = mFriendList.get(position).getBean();
|
|
|
- if (friend != null && (friend.getUserId().equals(Friend.ID_SYSTEM_MESSAGE) || friend.getUserId().equals(Friend.ID_NEW_FRIEND_MESSAGE)
|
|
|
- ||friend.getUserId().equals(Friend.ID_ERP_PROCESS)||friend.getUserId().equals(Friend.ID_ERP_TASK)||friend.getUserId().equals(Friend.ID_ERP_ZHIHUI)
|
|
|
- )) {
|
|
|
- return SlideMode.NONE;
|
|
|
- }
|
|
|
- return super.getSlideModeInPosition(position);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public int getFrontViewId(int position) {
|
|
|
- return R.layout.row_nearly_message;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public int getLeftBackViewId(int position) {
|
|
|
- return 0;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public int getRightBackViewId(int position) {
|
|
|
- return R.layout.row_item_delete;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
+ }
|
|
|
+
|
|
|
+ delete_tv.setOnClickListener(new View.OnClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onClick(View v) {
|
|
|
+ String mLoginUserId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
+ if (friend.getRoomFlag() == 0) {
|
|
|
+ if (friend.getUnReadNum() > 0) {
|
|
|
+ MsgBroadcast.broadcastMsgNumUpdate(getActivity(), false, friend.getUnReadNum());
|
|
|
+ }
|
|
|
+ BaseSortModel<Friend> mode = mFriendList.get(position);
|
|
|
+
|
|
|
+ mFriendList.remove(mode);
|
|
|
+ mOriginalFriendList.remove(mode);
|
|
|
+
|
|
|
+ mAdapter.notifyDataSetChanged();
|
|
|
+ // 如果是普通的人,从好友表中删除最后一条消息的记录,这样就不会查出来了
|
|
|
+ FriendDao.getInstance().resetFriendMessage(mLoginUserId, friend.getUserId());
|
|
|
+
|
|
|
+ // 消息表中删除
|
|
|
+ ChatMessageDao.getInstance().deleteMessageTable(mLoginUserId, friend.getUserId());
|
|
|
+ } else {
|
|
|
+ deleteRoom(mLoginUserId, mFriendList.get(position));
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return convertView;
|
|
|
+ }
|
|
|
+
|
|
|
+ //控制侧滑删除
|
|
|
+ @Override
|
|
|
+ public SlideMode getSlideModeInPosition(int position) {
|
|
|
+ Friend friend = mFriendList.get(position).getBean();
|
|
|
+ if (friend != null && (friend.getUserId().equals(Friend.ID_SYSTEM_MESSAGE) || friend.getUserId().equals(Friend.ID_NEW_FRIEND_MESSAGE)
|
|
|
+ || friend.getUserId().equals(Friend.ID_ERP_PROCESS) || friend.getUserId().equals(Friend.ID_ERP_TASK) || friend.getUserId().equals(Friend.ID_ERP_ZHIHUI)
|
|
|
+ )) {
|
|
|
+ return SlideMode.NONE;
|
|
|
+ }
|
|
|
+ return super.getSlideModeInPosition(position);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int getFrontViewId(int position) {
|
|
|
+ return R.layout.row_nearly_message;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int getLeftBackViewId(int position) {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int getRightBackViewId(int position) {
|
|
|
+ return R.layout.row_item_delete;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
/**
|
|
|
* @desc:获取erp 流程数据的条数
|
|
|
* @author:Administrator on 2016/3/10 14:25
|
|
|
*/
|
|
|
- public Map<String,Object> getErpMsgNums(Message msg){
|
|
|
- Map<String,Object> numMap=new HashMap<String,Object>();
|
|
|
- String reString=msg.getData().getString("result");
|
|
|
- Log.i("MessageFragment","result:"+reString);
|
|
|
- if (reString != null && !reString.equals("500")) {
|
|
|
- Map<String, Object> results = FlexJsonUtil.fromJson(reString);
|
|
|
- if (results.get("allProcess") != null) {
|
|
|
- List<AllProcess> allProcesses = new ArrayList<AllProcess>();
|
|
|
- try {
|
|
|
- allProcesses = FlexJsonUtil.fromJsonArray(
|
|
|
- FlexJsonUtil.toJson(results.get("allProcess")),
|
|
|
- AllProcess.class);
|
|
|
- } catch (Exception e) {}
|
|
|
- int task_num = 0, pagin_num = 0, daiban_num = 0;
|
|
|
- for (int i = 0; i < allProcesses.size(); i++) {
|
|
|
- if (allProcesses.get(i).getTypecode().contains("task")) {
|
|
|
- task_num++;
|
|
|
- } else if (allProcesses.get(i).getTypecode()
|
|
|
- .contains("pagingrelease")) {
|
|
|
- pagin_num++;
|
|
|
- } else {
|
|
|
- daiban_num++;
|
|
|
- }
|
|
|
- }
|
|
|
- String owerId= MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
- //clear
|
|
|
- FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_PROCESS);
|
|
|
- FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_TASK);
|
|
|
- //FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_ZHIHUI);
|
|
|
- //update
|
|
|
- Log.i("MessageFragment","任务:"+task_num);
|
|
|
- Log.i("MessageFragment","流程:"+daiban_num);
|
|
|
- Log.i("MessageFragment", "知会:" + pagin_num);
|
|
|
- FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_PROCESS, daiban_num);
|
|
|
- FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_TASK, task_num);
|
|
|
- //FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_ZHIHUI, pagin_num);
|
|
|
- MsgBroadcast.broadcastMsgNumReset(MyApplication.getInstance());//重置,从数据库查询
|
|
|
- loadData();
|
|
|
- //MsgBroadcast.broadcastMsgUiUpdate(MyApplication.getInstance());//刷新界面
|
|
|
- //MsgBroadcast.broadcastMsgNumUpdate(MyApplication.getInstance(), true, 1);
|
|
|
- return numMap;
|
|
|
- } else {
|
|
|
- String owerId= MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
- FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_PROCESS);
|
|
|
- FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_TASK);
|
|
|
- //FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_ZHIHUI);
|
|
|
- return numMap;
|
|
|
- }
|
|
|
- } else {
|
|
|
- String owerId= MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
- FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_PROCESS);
|
|
|
- FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_TASK);
|
|
|
- //FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_ZHIHUI);
|
|
|
- return numMap;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- * @desc:加载通知,获取未读数量
|
|
|
- * @author:Administrator on 2016/3/24 14:58
|
|
|
- */
|
|
|
- public void loadNoticeCount(Context ct){
|
|
|
- String url= Constants.getAppBaseUrl(ct)+"common/desktop/note/inform.action";
|
|
|
- final Map<String,Object> param=new HashMap<>();
|
|
|
- param.put("count", "1000");
|
|
|
- param.put("sessionId", CommonUtil.getSharedPreferences(ct, "sessionId"));
|
|
|
- LinkedHashMap<String , Object> headers=new LinkedHashMap<>();
|
|
|
- headers.put("Cookie", "JSESSIONID="+CommonUtil.getSharedPreferences(ct, "sessionId"));
|
|
|
- com.sk.weichat.ui.erp.net.ViewUtil.httpSendRequest(ct, url, param, handler, headers, Constants.LOAD_SUCCESS, null, null, "get");
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * @desc加载公告,获取未读数量
|
|
|
- * @author:Administrator on 2016/3/24 15:01
|
|
|
- */
|
|
|
- public void loadGongGaoCount(Context ct){
|
|
|
- String url= Constants.getAppBaseUrl(ct)+"common/desktop/note/notice.action";
|
|
|
- final Map<String,Object> param=new HashMap<>();
|
|
|
- param.put("count", "1000");
|
|
|
- param.put("sessionId", CommonUtil.getSharedPreferences(ct, "sessionId"));
|
|
|
- LinkedHashMap<String , Object> headers=new LinkedHashMap<>();
|
|
|
- headers.put("Cookie", "JSESSIONID="+CommonUtil.getSharedPreferences(ct, "sessionId"));
|
|
|
- com.sk.weichat.ui.erp.net.ViewUtil.httpSendRequest(ct, url, param, handler, headers, Constants.SUCCESS_LOGIN, null, null, "get");
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- public void loadERPMsgNum(Context ct){
|
|
|
- String url= Constants.getAppBaseUrl(ct)+"mobile/getallprocess.action";
|
|
|
- Map<String, Object> param=new HashMap<String, Object>();
|
|
|
- param.put("employeeCode", CommonUtil.getSharedPreferences(ct, "erp_username"));
|
|
|
- param.put("currentMaster", CommonUtil.getSharedPreferences(ct, "erp_master"));
|
|
|
- param.put("sessionId", CommonUtil.getSharedPreferences(ct, "sessionId"));
|
|
|
- LinkedHashMap<String , Object> headers=new LinkedHashMap<>();
|
|
|
- headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
|
|
|
- com.sk.weichat.ui.erp.net.ViewUtil.httpSendRequest(ct, url, param, handler, headers, load_success_erpMsgNum, null, null, "get");
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- private final int load_success_erpMsgNum=5;
|
|
|
- private Handler handler=new Handler(){
|
|
|
- @Override
|
|
|
- public void handleMessage(Message msg) {
|
|
|
- switch (msg.what){
|
|
|
- case Constants.SUCCESS_LOGIN://公告
|
|
|
- String result=msg.getData().getString("result");
|
|
|
- NoticeEntity newsEntity=JSON.parseObject(result, NoticeEntity.class);
|
|
|
- int size=newsEntity.getData().size();
|
|
|
- int count=0;
|
|
|
- for(int i=0;i<size;i++){
|
|
|
- if(((int)newsEntity.getData().get(i).getSTATUS())!=-1){
|
|
|
- count++;
|
|
|
- }
|
|
|
- }
|
|
|
- if (count!=0){
|
|
|
- //标注红点
|
|
|
- Log.i("MessageFragment", "标注红点");
|
|
|
- String owerId= MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
- FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_ZHIHUI);
|
|
|
- FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_GONGGAO);
|
|
|
-
|
|
|
- FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_ZHIHUI, count);
|
|
|
- FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_GONGGAO, count);
|
|
|
- }else{
|
|
|
- String owerId= MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
- FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_ZHIHUI);
|
|
|
- FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_GONGGAO);
|
|
|
- }
|
|
|
- break;
|
|
|
- case load_success_erpMsgNum:
|
|
|
- getErpMsgNums(msg);
|
|
|
- break;
|
|
|
- case Constants.LOAD_SUCCESS:
|
|
|
- result=msg.getData().getString("result");
|
|
|
- newsEntity=JSON.parseObject(result, NoticeEntity.class);
|
|
|
- size=newsEntity.getData().size();
|
|
|
- count=0;
|
|
|
- for(int i=0;i<size;i++){
|
|
|
-// if(((int)newsEntity.getData().get(i).getSTATUS())!=-1){
|
|
|
-// count++;
|
|
|
-// }
|
|
|
- }
|
|
|
- if (count!=0){
|
|
|
- //标注红点
|
|
|
- Log.i("MessageFragment", "标注红点");
|
|
|
- String owerId= MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
- FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_ZHIHUI);
|
|
|
- FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_NOTICE);
|
|
|
-
|
|
|
- FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_ZHIHUI, count);
|
|
|
- FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_NOTICE, count);
|
|
|
- }else{
|
|
|
- String owerId= MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
- FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_ZHIHUI);
|
|
|
- FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_NOTICE);
|
|
|
- }
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- };
|
|
|
+ public Map<String, Object> getErpMsgNums(Message msg) {
|
|
|
+ Map<String, Object> numMap = new HashMap<String, Object>();
|
|
|
+ String reString = msg.getData().getString("result");
|
|
|
+ Log.i("MessageFragment", "result:" + reString);
|
|
|
+ if (reString != null && !reString.equals("500")) {
|
|
|
+ Map<String, Object> results = FlexJsonUtil.fromJson(reString);
|
|
|
+ if (results.get("allProcess") != null) {
|
|
|
+ List<AllProcess> allProcesses = new ArrayList<AllProcess>();
|
|
|
+ try {
|
|
|
+ allProcesses = FlexJsonUtil.fromJsonArray(
|
|
|
+ FlexJsonUtil.toJson(results.get("allProcess")),
|
|
|
+ AllProcess.class);
|
|
|
+ } catch (Exception e) {
|
|
|
+ }
|
|
|
+ int task_num = 0, pagin_num = 0, daiban_num = 0;
|
|
|
+ for (int i = 0; i < allProcesses.size(); i++) {
|
|
|
+ if (allProcesses.get(i).getTypecode().contains("task")) {
|
|
|
+ task_num++;
|
|
|
+ } else if (allProcesses.get(i).getTypecode()
|
|
|
+ .contains("pagingrelease")) {
|
|
|
+ pagin_num++;
|
|
|
+ } else {
|
|
|
+ daiban_num++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ String owerId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
+ //clear
|
|
|
+ FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_PROCESS);
|
|
|
+ FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_TASK);
|
|
|
+ //FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_ZHIHUI);
|
|
|
+ //update
|
|
|
+ Log.i("MessageFragment", "任务:" + task_num);
|
|
|
+ Log.i("MessageFragment", "流程:" + daiban_num);
|
|
|
+ Log.i("MessageFragment", "知会:" + pagin_num);
|
|
|
+ FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_PROCESS, daiban_num);
|
|
|
+ FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_TASK, task_num);
|
|
|
+ //FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_ZHIHUI, pagin_num);
|
|
|
+
|
|
|
+ //MsgBroadcast.broadcastMsgUiUpdate(MyApplication.getInstance());//刷新界面
|
|
|
+ //MsgBroadcast.broadcastMsgNumUpdate(MyApplication.getInstance(), true, 1);
|
|
|
+ return numMap;
|
|
|
+ } else {
|
|
|
+ String owerId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
+ FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_PROCESS);
|
|
|
+ FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_TASK);
|
|
|
+ //FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_ZHIHUI);
|
|
|
+ return numMap;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ String owerId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
+ FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_PROCESS);
|
|
|
+ FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_TASK);
|
|
|
+ //FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_ZHIHUI);
|
|
|
+ return numMap;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @desc:加载通知,获取未读数量
|
|
|
+ * @author:Administrator on 2016/3/24 14:58
|
|
|
+ */
|
|
|
+ public void loadNoticeCount(Context ct) {
|
|
|
+ String url = Constants.getAppBaseUrl(ct) + "common/desktop/note/inform.action";
|
|
|
+ final Map<String, Object> param = new HashMap<>();
|
|
|
+ param.put("count", "1000");
|
|
|
+ param.put("sessionId", CommonUtil.getSharedPreferences(ct, "sessionId"));
|
|
|
+ LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
|
|
|
+ headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
|
|
|
+ com.sk.weichat.ui.erp.net.ViewUtil.httpSendRequest(ct, url, param, handler, headers, Constants.LOAD_SUCCESS, null, null, "get");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @desc加载公告,获取未读数量
|
|
|
+ * @author:Administrator on 2016/3/24 15:01
|
|
|
+ */
|
|
|
+ public void loadGongGaoCount(Context ct) {
|
|
|
+ String url = Constants.getAppBaseUrl(ct) + "common/desktop/note/notice.action";
|
|
|
+ final Map<String, Object> param = new HashMap<>();
|
|
|
+ param.put("count", "1000");
|
|
|
+ param.put("sessionId", CommonUtil.getSharedPreferences(ct, "sessionId"));
|
|
|
+ LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
|
|
|
+ headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
|
|
|
+ com.sk.weichat.ui.erp.net.ViewUtil.httpSendRequest(ct, url, param, handler, headers, Constants.SUCCESS_LOGIN, null, null, "get");
|
|
|
+ }
|
|
|
+
|
|
|
+ //String url=Constants.getAppBaseUrl(ct)+"common/desktop/news/getNews.action";
|
|
|
+
|
|
|
+ public void loadERPMsgNum(Context ct) {
|
|
|
+ String url = Constants.getAppBaseUrl(ct) + "mobile/getallprocess.action";
|
|
|
+ Map<String, Object> param = new HashMap<String, Object>();
|
|
|
+ param.put("employeeCode", CommonUtil.getSharedPreferences(ct, "erp_username"));
|
|
|
+ param.put("currentMaster", CommonUtil.getSharedPreferences(ct, "erp_master"));
|
|
|
+ param.put("sessionId", CommonUtil.getSharedPreferences(ct, "sessionId"));
|
|
|
+ LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
|
|
|
+ headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
|
|
|
+ com.sk.weichat.ui.erp.net.ViewUtil.httpSendRequest(ct, url, param, handler, headers, load_success_erpMsgNum, null, null, "get");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public void loadERPNewsNum(Context ct) {
|
|
|
+ String url = Constants.getAppBaseUrl(ct) + "common/desktop/news/getNews.action";
|
|
|
+ final Map<String, Object> param = new HashMap<>();
|
|
|
+ param.put("count", "1000");
|
|
|
+ param.put("sessionId", CommonUtil.getSharedPreferences(ct, "sessionId"));
|
|
|
+ LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
|
|
|
+ headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
|
|
|
+ com.sk.weichat.ui.erp.net.ViewUtil.httpSendRequest(ct, url, param, handler, headers, Constants.SUCCESS_INITDATA, null, null, "get");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private final int load_success_erpMsgNum = 5;
|
|
|
+ private Handler handler = new Handler() {
|
|
|
+ @Override
|
|
|
+ public void handleMessage(Message msg) {
|
|
|
+ switch (msg.what) {
|
|
|
+ case Constants.SUCCESS_LOGIN://公告
|
|
|
+ String result = msg.getData().getString("result");
|
|
|
+ NoticeEntity newsEntity = JSON.parseObject(result, NoticeEntity.class);
|
|
|
+ int size = newsEntity.getData().size();
|
|
|
+ int count = 0;
|
|
|
+ for (int i = 0; i < size; i++) {
|
|
|
+ if (!ObjectUtils.isEquals(newsEntity.getData().get(i).getSTATUS(), null)) {
|
|
|
+ if (((int) newsEntity.getData().get(i).getSTATUS()) != -1) {
|
|
|
+ count++;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ count++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (count != 0) {
|
|
|
+ //标注红点
|
|
|
+ Log.i("MessageFragment", "公告 标注红点" + count);
|
|
|
+ String owerId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
+
|
|
|
+ FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_GONGGAO);
|
|
|
+
|
|
|
+ FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_ZHIHUI, count);
|
|
|
+ FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_GONGGAO, count);
|
|
|
+ } else {
|
|
|
+ String owerId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
+ FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_GONGGAO);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case load_success_erpMsgNum://待办
|
|
|
+ getErpMsgNums(msg);
|
|
|
+ break;
|
|
|
+ case Constants.LOAD_SUCCESS://通知
|
|
|
+ result = msg.getData().getString("result");
|
|
|
+ newsEntity = JSON.parseObject(result, NoticeEntity.class);
|
|
|
+ size = newsEntity.getData().size();
|
|
|
+ count = 0;
|
|
|
+ for (int i = 0; i < size; i++) {
|
|
|
+ if (!ObjectUtils.isEquals(newsEntity.getData().get(i).getSTATUS(), null)) {
|
|
|
+ if (((int) newsEntity.getData().get(i).getSTATUS()) != -1) {
|
|
|
+ count++;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ count++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (count != 0) {
|
|
|
+ //标注红点
|
|
|
+ Log.i("MessageFragment", " 通知 标注红点"+count);
|
|
|
+ String owerId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
+
|
|
|
+ FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_NOTICE);
|
|
|
+
|
|
|
+ FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_ZHIHUI, count);
|
|
|
+ FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_NOTICE, count);
|
|
|
+ } else {
|
|
|
+ String owerId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
+ FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_NOTICE);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case Constants.SUCCESS_INITDATA://新闻
|
|
|
+ result = msg.getData().getString("result");
|
|
|
+ NewsEntity news = JSON.parseObject(result, NewsEntity.class);
|
|
|
+ size = news.getData().size();
|
|
|
+ count = 0;
|
|
|
+ for (int i = 0; i < size; i++) {
|
|
|
+ if (!ObjectUtils.isEquals(news.getData().get(i).getSTATUS(), null)) {
|
|
|
+ if (((int) news.getData().get(i).getSTATUS()) != -1) {
|
|
|
+ count++;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ count++;//数据为空,算是未读
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (count != 0) {
|
|
|
+ //标注红点
|
|
|
+ Log.i("MessageFragment", "新闻 标注红点"+count);
|
|
|
+ String owerId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
+
|
|
|
+ FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_NEWS);
|
|
|
+
|
|
|
+ FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_ZHIHUI, count);
|
|
|
+ FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_NEWS, count);
|
|
|
+ } else {
|
|
|
+ String owerId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
+ FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_NEWS);
|
|
|
+ }
|
|
|
+
|
|
|
+ MsgBroadcast.broadcastMsgNumReset(MyApplication.getInstance());//重置,从数据库查询
|
|
|
+ loadData();
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
|
|
|
}
|