Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private Runnable mGetUsersRunnable = new Runnable() {
- @Override public void run() {
- try {
- LOG.info("GET_CHAT_DIALOGS_REQUEST mOpponentIdsToLoad.size() = " + mOpponentIdsToLoad.size());
- if (mOpponentIdsToLoad.size() > 0) {
- QBRequestGetBuilder requestBuilderUsers = new QBRequestGetBuilder();
- String[] ids = mOpponentIdsToLoad.toArray(new String[mOpponentIdsToLoad.size()]);
- requestBuilderUsers.or(UsersTable.PARENT_ID, ids);
- AnalyticsHelper.trackEventQuickBlocsRestRequest(R.string.action_get_custom_user_table);
- ArrayList<QBCustomObject> qBCustomUsers = QBCustomObjects.getObjects(Constants.CUSTOM_CLASS_NAME_USER, requestBuilderUsers, new Bundle());
- List<Integer> opponentIds = new ArrayList<>();
- for (String id : mOpponentIdsToLoad) {
- try {
- opponentIds.add(Integer.parseInt(id));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- LOG.info("GET_CHAT_DIALOGS_REQUEST opponentIds.size() = " + opponentIds.size());
- QBPagedRequestBuilder pagedRequestBuilder = new QBPagedRequestBuilder();
- pagedRequestBuilder.setPage(1);
- pagedRequestBuilder.setPerPage(1000);
- AnalyticsHelper.trackEventQuickBlocsRestRequest(R.string.action_get_opponent_user);
- ArrayList<QBUser> qBUsers = QBUsers.getUsersByIDs(opponentIds, pagedRequestBuilder, new Bundle());
- // это я проверял.
- // qBUsers.forEach(u -> LOG.info("GET_CHAT_DIALOGS_REQUEST id = " + u.getId() + " " + u.getFullName()));
- LOG.info("GET_CHAT_DIALOGS_REQUEST qBUsers.size() = " + qBUsers.size());
- ArrayList<UsersTable> usersTables = new ArrayList<>();
- for (QBCustomObject qBCustomUser : qBCustomUsers) {
- UsersTable usersTable = UsersTable.addCustomTableObjectDataInDialogs(null, qBCustomUser);
- LOG.info("GET_CHAT_DIALOGS_REQUEST usersTable.getUserId() = " + usersTable.getUserId());
- for (QBUser qbUser : qBUsers) {
- LOG.info("GET_CHAT_DIALOGS_REQUEST qbUser.getId() = " + qbUser.getId());
- if (qbUser.getId() == usersTable.getUserId()) {
- LOG.info("GET_CHAT_DIALOGS_REQUEST qbUser.getLastRequestAt() = " + qbUser.getLastRequestAt());
- if (qbUser.getLastRequestAt() != null) {
- usersTable.setLastRequestAt(qbUser.getLastRequestAt().getTime());
- }
- }
- }
- usersTables.add(usersTable);
- }
- Collections.sort(usersTables, new Comparator<UsersTable>() {
- @Override
- public int compare(UsersTable t0, UsersTable t1) {
- int a = 0;
- int leftType = t0.getUserType().getType();
- int rightType = t1.getUserType().getType();
- if (leftType > rightType) {
- a = -1;
- }
- else if (leftType < rightType) {
- a = 1;
- }
- else {
- if (leftType > rightType) {
- a = -1;
- }
- else if (leftType < rightType) {
- a = 1;
- }
- }
- return a;
- }
- });
- DbUtils.bulkSave(usersTables);
- }
- isUsersLoaded = true;
- finishProcess();
- } catch (Exception e) {
- finishWithError(e);
- }
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement