diff --git a/app/src/main/java/app/fedilab/android/drawers/NotificationsListAdapter.java b/app/src/main/java/app/fedilab/android/drawers/NotificationsListAdapter.java index a16211e25..3525287a5 100644 --- a/app/src/main/java/app/fedilab/android/drawers/NotificationsListAdapter.java +++ b/app/src/main/java/app/fedilab/android/drawers/NotificationsListAdapter.java @@ -129,10 +129,12 @@ public class NotificationsListAdapter extends RecyclerView.Adapter implements On private int style; private RecyclerView mRecyclerView; private List lstHolders; + private final Object lock = new Object(); + private Runnable updateAnimatedEmoji = new Runnable() { @Override public void run() { - synchronized (lstHolders) { + synchronized (lock) { if( mRecyclerView != null && (mRecyclerView.getLayoutManager()) != null) { int firstPosition = ((LinearLayoutManager) mRecyclerView.getLayoutManager()).findFirstCompletelyVisibleItemPosition(); int lastPosition = ((LinearLayoutManager) mRecyclerView.getLayoutManager()).findLastCompletelyVisibleItemPosition(); @@ -198,7 +200,7 @@ public class NotificationsListAdapter extends RecyclerView.Adapter implements On holder = (NotificationsListAdapter.ViewHolder) viewHolder; - synchronized (lstHolders) { + synchronized (lock) { lstHolders.add(holder); } diff --git a/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java b/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java index 917d56a4c..038f1364b 100644 --- a/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java +++ b/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java @@ -219,11 +219,12 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct private RecyclerView mRecyclerView; static Timer tmr; private List lstHolders; + private final Object lock = new Object(); private Runnable updateAnimatedEmoji = new Runnable() { @Override public void run() { - synchronized (lstHolders) { + synchronized (lock) { if( mRecyclerView != null && (mRecyclerView.getLayoutManager()) != null) { int firstPosition = ((LinearLayoutManager) mRecyclerView.getLayoutManager()).findFirstCompletelyVisibleItemPosition(); int lastPosition = ((LinearLayoutManager) mRecyclerView.getLayoutManager()).findLastCompletelyVisibleItemPosition(); @@ -896,7 +897,7 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct final ViewHolder holder = (ViewHolder) viewHolder; - synchronized (lstHolders) { + synchronized (lock) { lstHolders.add(holder); } final Status status = statuses.get(i);