Пример #1
0
    @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;
    }
Пример #2
0
  /**
   * 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);
          }
        });
  }
Пример #3
0
 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;
   }
 }
Пример #4
0
 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());
           }
         }
       });
 }