private void onMessageSuccess() { progressBar.setVisibility(View.GONE); statusView.setVisibility(View.GONE); // Show "1 Read" if this msg is a ding-type msg. if (EaseDingMessageHelper.get().isDingMessage(message) && ackedView != null) { ackedView.setVisibility(VISIBLE); List<String> userList = EaseDingMessageHelper.get().getAckUsers(message); int count = userList == null ? 0 : userList.size(); ackedView.setText(String.format(getContext().getString(R.string.group_ack_read_count), count)); } // Set ack-user list change listener. EaseDingMessageHelper.get().setUserUpdateListener(message, userUpdateListener); }
@Override protected void onResume() { super.onResume(); List<String> list = EaseDingMessageHelper.get().getAckUsers(msg); userList.clear(); if (list != null) { userList.addAll(list); } userAdapter.notifyDataSetChanged(); // Set ack-user change listener. EaseDingMessageHelper.get().setUserUpdateListener(msg, userUpdateListener); }
@Test public void testGetAckUsers() throws Exception { // Clear memory cache first. helper.getDataCache().evictAll(); assertEquals(helper.getDataCache().size(), 0); // After this action, the data will store in memory. helper.getAckUsers(createDingMessage("1", "-1")); assertEquals(helper.getDataCache().size(), 1); }