diff --git a/app/src/main/java/com/nynja/mobile/communicator/ui/adapters/decorators/UnreadDividerDecoration.java b/app/src/main/java/com/nynja/mobile/communicator/ui/adapters/decorators/UnreadDividerDecoration.java index 61d425d04a47d67474532612607e99911bbced36..897a5784292f2b3ec63cee28b56be4be7ec990ff 100644 --- a/app/src/main/java/com/nynja/mobile/communicator/ui/adapters/decorators/UnreadDividerDecoration.java +++ b/app/src/main/java/com/nynja/mobile/communicator/ui/adapters/decorators/UnreadDividerDecoration.java @@ -78,15 +78,18 @@ public class UnreadDividerDecoration extends RecyclerView.ItemDecoration { int viewType = mChatAdapter.getItemViewType(position); if (viewType == ChatAdapter.Dummy) return; int height = 0; - final List items = mChatAdapter.getItems(); - if (!items.get(position).isLoadingMessage() && (position == 0 || (position + 1 <= mChatAdapter.getItemCount() - && items.get(position - 1).created != null && items.get(position).created != null - && !DateUtils.areSameDates(items.get(position - 1).created, items.get(position).created)))) { - final Long created = items.get(position).created; - if (created != null) { - String date = DateUtils.getChatTime(created, mContext); - mPaint.getTextBounds(date, 0, date.length(), mDateBbounds); - height = mDateBbounds.height() + mSpaceTop; + final List items = Collections.synchronizedList(mChatAdapter.getItems()); + synchronized (items) { + if (!items.get(position).isLoadingMessage() && (position == 0 + || (position + 1 <= mChatAdapter.getItemCount() && items.get(position - 1).created != null + && items.get(position).created != null && !DateUtils + .areSameDates(items.get(position - 1).created, items.get(position).created)))) { + final Long created = items.get(position).created; + if (created != null) { + String date = DateUtils.getChatTime(created, mContext); + mPaint.getTextBounds(date, 0, date.length(), mDateBbounds); + height = mDateBbounds.height() + mSpaceTop; + } } } if (mChatAdapter.mMyReadMessage >= 0 && mChatAdapter.mUnreadMessages > 0) { diff --git a/app/src/main/java/com/nynja/mobile/communicator/utils/FileUtils.java b/app/src/main/java/com/nynja/mobile/communicator/utils/FileUtils.java index f2b0e2d2a7d23156868d8ac6083fc8fdcaa0df69..59dd1cef4b7675d800513fb39a6c39f66cc63647 100644 --- a/app/src/main/java/com/nynja/mobile/communicator/utils/FileUtils.java +++ b/app/src/main/java/com/nynja/mobile/communicator/utils/FileUtils.java @@ -826,6 +826,9 @@ public class FileUtils { public static void removeFilesOlderThan(String folder, long older) { File directory = new File(folder); File[] files = directory.listFiles(); + if (files == null) { + return; + } long currentTime = System.currentTimeMillis(); for (int i = 0; i < files.length; i++) {