Advertisement
MrBIMC

Мессиво говна

Sep 21st, 2017
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.34 KB | None | 0 0
  1.     private Runnable mGetUsersRunnable = new Runnable() {
  2.         @Override public void run() {
  3.             try {
  4.                 LOG.info("GET_CHAT_DIALOGS_REQUEST mOpponentIdsToLoad.size() = " + mOpponentIdsToLoad.size());
  5.                 if (mOpponentIdsToLoad.size() > 0) {
  6.                     QBRequestGetBuilder requestBuilderUsers = new QBRequestGetBuilder();
  7.                     String[] ids = mOpponentIdsToLoad.toArray(new String[mOpponentIdsToLoad.size()]);
  8.                     requestBuilderUsers.or(UsersTable.PARENT_ID, ids);
  9.  
  10.                     AnalyticsHelper.trackEventQuickBlocsRestRequest(R.string.action_get_custom_user_table);
  11.                     ArrayList<QBCustomObject> qBCustomUsers = QBCustomObjects.getObjects(Constants.CUSTOM_CLASS_NAME_USER, requestBuilderUsers, new Bundle());
  12.  
  13.                     List<Integer> opponentIds = new ArrayList<>();
  14.  
  15.                     for (String id : mOpponentIdsToLoad) {
  16.                         try {
  17.                             opponentIds.add(Integer.parseInt(id));
  18.                         } catch (Exception e) {
  19.                             e.printStackTrace();
  20.                         }
  21.                     }
  22.  
  23.                     LOG.info("GET_CHAT_DIALOGS_REQUEST opponentIds.size() = " + opponentIds.size());
  24.  
  25.                     QBPagedRequestBuilder pagedRequestBuilder = new QBPagedRequestBuilder();
  26.                     pagedRequestBuilder.setPage(1);
  27.                     pagedRequestBuilder.setPerPage(1000);
  28.  
  29.                     AnalyticsHelper.trackEventQuickBlocsRestRequest(R.string.action_get_opponent_user);
  30.                     ArrayList<QBUser> qBUsers = QBUsers.getUsersByIDs(opponentIds, pagedRequestBuilder, new Bundle());
  31.  
  32. //                    это я проверял.
  33. //                    qBUsers.forEach(u -> LOG.info("GET_CHAT_DIALOGS_REQUEST id = " + u.getId() + " " + u.getFullName()));
  34.  
  35.                     LOG.info("GET_CHAT_DIALOGS_REQUEST qBUsers.size() = " + qBUsers.size());
  36.  
  37.                     ArrayList<UsersTable> usersTables = new ArrayList<>();
  38.                     for (QBCustomObject qBCustomUser : qBCustomUsers) {
  39.                         UsersTable usersTable = UsersTable.addCustomTableObjectDataInDialogs(null, qBCustomUser);
  40.                         LOG.info("GET_CHAT_DIALOGS_REQUEST usersTable.getUserId() = " + usersTable.getUserId());
  41.                         for (QBUser qbUser : qBUsers) {
  42.                             LOG.info("GET_CHAT_DIALOGS_REQUEST qbUser.getId() = " + qbUser.getId());
  43.                             if (qbUser.getId() == usersTable.getUserId()) {
  44.                                 LOG.info("GET_CHAT_DIALOGS_REQUEST qbUser.getLastRequestAt() = " + qbUser.getLastRequestAt());
  45.                                 if (qbUser.getLastRequestAt() != null) {
  46.                                     usersTable.setLastRequestAt(qbUser.getLastRequestAt().getTime());
  47.                                 }
  48.                             }
  49.                         }
  50.                         usersTables.add(usersTable);
  51.                     }
  52.  
  53.                     Collections.sort(usersTables, new Comparator<UsersTable>() {
  54.                         @Override
  55.                         public int compare(UsersTable t0, UsersTable t1) {
  56.                             int a = 0;
  57.  
  58.                             int leftType = t0.getUserType().getType();
  59.                             int rightType = t1.getUserType().getType();
  60.                             if (leftType > rightType) {
  61.                                 a = -1;
  62.                             }
  63.                             else if (leftType < rightType) {
  64.                                 a = 1;
  65.                             }
  66.                             else {
  67.                                 if (leftType > rightType) {
  68.                                     a = -1;
  69.                                 }
  70.                                 else if (leftType < rightType) {
  71.                                     a = 1;
  72.                                 }
  73.                             }
  74.  
  75.                             return a;
  76.                         }
  77.                     });
  78.  
  79.                     DbUtils.bulkSave(usersTables);
  80.                 }
  81.                 isUsersLoaded = true;
  82.                 finishProcess();
  83.             } catch (Exception e) {
  84.                 finishWithError(e);
  85.             }
  86.         }
  87.     };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement