@Override public int compare(TableAnoni lhs, TableAnoni rhs) { if (lhs.getUpdated_at() > rhs.getUpdated_at()) return -1; if (lhs.getUpdated_at() == rhs.getUpdated_at()) return 0; if (lhs.getUpdated_at() < rhs.getUpdated_at()) return 1; return 0; }
private List<TableAnoni> filterHideConvs(List<TableAnoni> fullTableANoni) { List<TableAnoni> tableAnoni = new ArrayList<TableAnoni>(); for (TableAnoni t : fullTableANoni) { if (t.isHidden() == false) { tableAnoni.add(t); } } return tableAnoni; }
@Override protected void onResume() { Log.v(TAG, "onResume()"); if (et_search_text != null) et_search_text.setText(""); if (mResume == true) Log.v(TAG, "resume true"); else Log.v(TAG, "resume false"); if (mResume == true) { mAnoni = new CommonQueries(mContext).queryGetAllAnoni(); /* int count = 0; for(TableAnoni t : mAnoni) { for(int i=0; i < t.getMessages().size(); i++) { if(t.getMessages().get(i).getRead().equals("") == true) { count++; } } } Log.e(TAG, "Count READ state: " + Integer.toString(count)); */ Log.v(TAG, "Count of Anoni after Resume: " + Integer.toString(mAnoni.size())); if (mAnoni != null) if (mAnoni.size() > 0) { int count_of_messages = 0; for (TableAnoni t : mAnoni) { count_of_messages = count_of_messages + t.getMessages().size(); } Log.v(TAG, "Count of msgs in resume: " + Integer.toString(count_of_messages)); } } mResume = true; Collections.sort(mAnoni, new AnoniComparator()); adapter = new ConversationsAdapter( mContext, ConversationsActivity.this, R.layout.row_event, filterHideConvs(mAnoni), mProfiles); ConversationsActivity.this.setListAdapter(adapter); // } if (adapter != null) { adapter.notifyDataSetChanged(); } super.onResume(); }
private void setSecondData() { if (mAllConversations.getmResponseCode() == 200) { JsonAnonis jAnoni = new JsonAnonis(mAllConversations.getmResponseData()); List<TableAnoni> incomeAnoni = jAnoni.getJsonArrayResponse(); if (incomeAnoni != null) if (incomeAnoni.size() > 0) { int count_of_messages = 0; for (TableAnoni t : incomeAnoni) { count_of_messages = count_of_messages + t.getMessages().size(); } Utils.updateCountOfMessages(count_of_messages); } if (adapter != null) { if (adapter.isEmpty() == true) Log.v(TAG, "Adapter: is Empty"); // if(adapter.isEmpty() == true) { adapter = new ConversationsAdapter( mContext, ConversationsActivity.this, R.layout.row_event, filterHideConvs(mAnoni), mProfiles); ConversationsActivity.this.setListAdapter(adapter); // } adapter.notifyDataSetChanged(); } else { adapter = new ConversationsAdapter( mContext, ConversationsActivity.this, R.layout.row_event, filterHideConvs(mAnoni), mProfiles); ConversationsActivity.this.setListAdapter(adapter); adapter.notifyDataSetChanged(); } } }
private List<TableAnoni> searchEngine(String search_word) { List<TableAnoni> new_anoni = new CommonQueries(mContext).queryGetAllAnoni(); List<TableAnoni> search_anoni = new ArrayList<TableAnoni>(); for (TableAnoni conv : new_anoni) { for (TableMessage msg : conv.getMessages()) { if (msg.getBody().contains(search_word) == true) { boolean include = false; for (TableAnoni co : search_anoni) if (co.equals(conv) == true) { include = true; } if (include == false) search_anoni.add(conv); } } } return search_anoni; }
/** * 1 - Parse conversations list string and save it to Array. 2 - Set array to adapter. View data * as List of conversations. */ private void setData() { if (mResponseUsers.getmResponseCode() == 200) { JsonProfiles profile = new JsonProfiles(mResponseUsers.getmResponseData()); List<TableProfile> requestProfiles = new LinkedList<TableProfile>(); requestProfiles = profile.getJsonObjectResponse(); if (requestProfiles != null) if (requestProfiles.size() > 0) { mProfiles = requestProfiles; new CommonQueries(mContext).queryCreateUsersProfiles(requestProfiles); } } if (mAllConversations.getmResponseCode() == 200) { JsonAnonis jAnoni = new JsonAnonis(mAllConversations.getmResponseData()); List<TableAnoni> incomeAnoni = jAnoni.getJsonArrayResponse(); new CommonQueries(mContext).queryCreateAllAnoni(incomeAnoni); if (incomeAnoni != null) if (incomeAnoni.size() > 0) { int count_of_messages = 0; for (TableAnoni t : incomeAnoni) { count_of_messages = count_of_messages + t.getMessages().size(); } Utils.updateCountOfMessages(count_of_messages); } if (incomeAnoni != null) { if (mAnoni.size() != 0 & incomeAnoni.size() != 0) { for (TableAnoni a : incomeAnoni) { boolean contain = false; for (int i = 0; i < mAnoni.size(); i++) { if (mAnoni.get(i).getId() == a.getId()) { contain = true; for (int j = 0; j < a.getMessages().size(); j++) { mAnoni.get(i).getMessages().add(a.getMessages().get(j)); } } } if (contain == false) { mAnoni.add(a); } } } if (mAnoni.size() == 0) { mAnoni = incomeAnoni; } } // new CommonQueries(mContext).queryCreateOfUpdateAllAnoni(mAnoni); // saveAllConversationsInThread(mAnoni); // Collections.sort(mAnoni, new AnoniComparator()); if (adapter != null) { if (adapter.isEmpty() == true) Log.v(TAG, "Adapter: is Empty"); // if(adapter.isEmpty() == true) { adapter = new ConversationsAdapter( mContext, ConversationsActivity.this, R.layout.row_event, filterHideConvs(mAnoni), mProfiles); ConversationsActivity.this.setListAdapter(adapter); // } adapter.notifyDataSetChanged(); } else { adapter = new ConversationsAdapter( mContext, ConversationsActivity.this, R.layout.row_event, filterHideConvs(mAnoni), mProfiles); ConversationsActivity.this.setListAdapter(adapter); adapter.notifyDataSetChanged(); } long time_to_save = 0; if (mAnoni != null) if (mAnoni.size() > 0) for (int i = 0; i < mAnoni.size(); i++) { if (mAnoni.get(i).getUpdated_at() > time_to_save) { time_to_save = mAnoni.get(i).getUpdated_at(); } } Log.v(TAG, "Time first save in MS: " + time_to_save); SharedPreferences prefs = mContext.getSharedPreferences(Const.PREFS_NAME, 0); SharedPreferences.Editor editor = prefs.edit(); editor.putLong(Const.GLOBAL_DATE, time_to_save); editor.putBoolean(Const.START_SYNC_MESSAGES, true); editor.commit(); } }
private void setDataInThread() { if (mResponseUsers.getmResponseCode() == 200) { JsonUserProfiles profile = new JsonUserProfiles(mResponseUsers.getmResponseData()); LinkedList<TableProfile> requestProfiles = profile.getJsonObjectResponse(); if (requestProfiles != null) if (requestProfiles.size() > 0) { new CommonQueries(mContext).queryCreateUsersProfiles(requestProfiles); } } if (mAllConversations.getmResponseCode() == 200) { JsonAnonis jAnoni = new JsonAnonis(mAllConversations.getmResponseData()); List<TableAnoni> incomeAnoni = jAnoni.getJsonArrayResponse(); if (incomeAnoni != null) { if (mAnoni.size() != 0 & incomeAnoni.size() != 0) { for (TableAnoni a : incomeAnoni) { boolean contain = false; for (int i = 0; i < mAnoni.size(); i++) { if (mAnoni.get(i).getId() == a.getId()) { contain = true; if (mAnoni.get(i).getMessages().size() < a.getMessages().size()) { for (int j = 0; j < a.getMessages().size(); j++) { boolean message_contain = false; for (int k = 0; k < mAnoni.get(i).getMessages().size(); k++) { if (a.getMessages().get(j).equals(mAnoni.get(i).getMessages().get(k)) == true) { message_contain = true; } } if (message_contain == false) ; mAnoni.get(i).getMessages().add(a.getMessages().get(j)); } } } } if (contain == false) { mAnoni.add(a); } } } if (mAnoni.size() == 0) { mAnoni = incomeAnoni; } } new CommonQueries(mContext).queryCreateOfUpdateAllAnoni(mAnoni); Collections.sort(mAnoni, new AnoniComparator()); // Need find last update long time_to_save = 0; if (mAnoni != null) if (mAnoni.size() > 0) { for (int i = 0; i < mAnoni.size(); i++) { if (mAnoni.get(i).getUpdated_at() > time_to_save) time_to_save = mAnoni.get(i).getUpdated_at(); } } SharedPreferences prefs = mContext.getSharedPreferences(Const.PREFS_NAME, 0); SharedPreferences.Editor editor = prefs.edit(); editor.putLong(Const.GLOBAL_DATE, time_to_save); editor.commit(); } }
@Override public void onReceive(Context arg0, Intent arg1) { TableAnoni an = new TableAnoni(); TableProfile pro = new TableProfile(); an = (TableAnoni) arg1.getExtras().getSerializable(Const.SERIALIZE_NEW_MESSAGE); pro = (TableProfile) arg1.getExtras().getSerializable(Const.SERIALIZE_NEW_REVELS); if (an == null) an = new TableAnoni(); if (pro == null) pro = new TableProfile(); Log.e(TAG, "We received msg to Conversations"); if (an != null & pro != null) { if (an.getId() != 0 & pro.getId() == 0) { if (mAnoni != null) { if (mAnoni.size() > 0) { boolean contain = false; for (int i = 0; i < mAnoni.size(); i++) { if (mAnoni.get(i).getId() == an.getId()) { contain = true; // Log.e(TAG, "Step 1 conv"); // Need to prevent duplicates if (mAnoni.get(i).getMessages() != null) if (mAnoni.get(i).getMessages().size() > 0) { for (int k = 0; k < an.getMessages().size(); k++) { boolean msg_contain = false; // Log.e(TAG, "Step 2 conv"); for (int j = 0; j < mAnoni.get(i).getMessages().size(); j++) { if (mAnoni.get(i).getMessages().get(j).getId() == an.getMessages().get(k).getId()) { msg_contain = true; // Log.e(TAG, "Step 3 conv"); } } if (msg_contain == false) { // Log.e(TAG, "Only 1 msg"); mAnoni.get(i).getMessages().add(an.getMessages().get(k)); } } } mAnoni.get(i).setUpdated_at(an.getUpdated_at()); /*TableAnoni temp = new TableAnoni(); temp = mAnoni.get(i); mAnoni.remove(i); mAnoni.add(0, temp); */ break; } } if (contain == false) { mAnoni.add(0, an); } } if (mAnoni.size() == 0) { mAnoni.add(an); } } } if (an.getId() == 0 & pro.getId() != 0) { Log.v(TAG, "Update profile revelations"); if (mProfiles != null) { if (mProfiles.size() > 0) { for (int i = 0; i < mProfiles.size(); i++) { if (mProfiles.get(i).getId() == pro.getId()) { mProfiles.set(i, pro); } } } else { mProfiles.add(pro); } } } /* if(an.getId() == 0 & pro.getId() != 0) { if(mProfiles != null) { for(int i=0; i < mProfiles.size(); i++) { boolean contain = false; if(mProfiles.get(i).getId() == pro.getId()) { contain = true; } if(contain == false) { mProfiles.add(pro); } } } }*/ Collections.sort(mAnoni, new AnoniComparator()); /* if(adapter != null) { if(adapter.isEmpty() == true) { adapter = new ConversationsAdapter(mContext, ConversationsActivity.this, R.layout.row_event, filterHideConvs(mAnoni), mProfiles); ConversationsActivity.this.setListAdapter(adapter); } } else {*/ adapter = new ConversationsAdapter( mContext, ConversationsActivity.this, R.layout.row_event, filterHideConvs(mAnoni), mProfiles); ConversationsActivity.this.setListAdapter(adapter); // } adapter.notifyDataSetChanged(); } // Log.e("Receiver","We are geting ths message"); }