@Override protected Void doInBackground(Void... params) { // Create the array userProfileList = new ArrayList<UserProfile>(); try { // Locate the class table named "Country" in Parse.com ParseQuery<ParseUser> query = ParseUser.getQuery(); Log.d("UserListActivity", "In asynctask.. username - " + currentUser.getUsername()); query.whereNotEqualTo("username", currentUser.getUsername()); // by ascending LastName query.orderByAscending("lastName"); ob = query.find(); for (ParseObject userProfile : ob) { UserProfile map = new UserProfile(); map.setFirstName((String) userProfile.get("firstName")); map.setLastName((String) userProfile.get("lastName")); map.setDepartment((String) userProfile.get("department")); map.setUsername((String) userProfile.get("username")); userProfileList.add(map); } } catch (ParseException e) { Log.e("Error", e.getMessage()); e.printStackTrace(); } return null; }
/** * Load the conversation list from Parse server and save the date of last message that will be * used to load only recent new messages */ private void loadConversationList() { ParseQuery<ParseObject> q = ParseQuery.getQuery(discussionTableName); if (messagesList.size() != 0) { // // load all messages... // ArrayList<String> al = new ArrayList<String>(); // al.add(discussionTopic); // al.add(MainActivity.user.getParseID()); // q.whereContainedIn("sender", al); // } // else { // load only newly received message.. if (lastMsgDate != null) // Load only new messages, that weren't send by me q.whereGreaterThan(Const.COL_MESSAGE_CREATED_AT, lastMsgDate); q.whereNotEqualTo(Const.COL_MESSAGE_SENDER_ID, MainActivity.user.getParseID()); } q.orderByDescending(Const.COL_MESSAGE_CREATED_AT); q.setLimit(100); q.findInBackground( new FindCallback<ParseObject>() { @Override public void done(List<ParseObject> li, ParseException e) { if (li != null && li.size() > 0) { for (int i = li.size() - 1; i >= 0; i--) { ParseObject po = li.get(i); Message message = new Message( po.getString(Const.COL_MESSAGE_CONTENT), po.getCreatedAt(), po.getString(Const.COL_MESSAGE_SENDER_ID), po.getString(Const.COL_MESSAGE_SENDER_NAME)); message.setStatus(MessageStatus.STATUS_SENT); messagesList.add(message); if (lastMsgDate == null || lastMsgDate.before(message.getDate())) { lastMsgDate = message.getDate(); } chatAdapter.notifyDataSetChanged(); } } handler.postDelayed( new Runnable() { @Override public void run() { if (isRunning) loadConversationList(); } }, 1000); } }); }
public List<User> resolveNonPublicUser() throws ParseException { if (cachedNonPublic != null) return cachedNonPublic; else { ParseQuery<ParseObject> query = ParseQuery.getQuery(className); List<ParseObject> parseObjects = query.whereNotEqualTo("role", UserRole.PUBLIC.getRole()).find(); List<User> users = new ArrayList<User>(); for (ParseObject object : parseObjects) { users.add(new User(object)); } UserRepository.cachedNonPublic = users; return users; } }
public static void getAllCommunities() { ParseQuery<ParseObject> query = ParseQuery.getQuery("Community"); // exclude taiwan community query.whereNotEqualTo("objectId", "wtgxgSpmNH"); query.orderByDescending("updatedAt"); query.findInBackground( new FindCallback<ParseObject>() { public void done(List<ParseObject> communityList, ParseException e) { if (e == null) { Log.d("communities", "Retrieved " + communityList.size() + " communities"); EventBus.getDefault().post(new CommunityEvent(communityList)); } else { Log.d("communities", "Error: " + e.getMessage()); } } }); }