This commit is contained in:
tom79 2019-08-17 18:54:54 +02:00
parent 626d147b99
commit bfc792388c
2 changed files with 7 additions and 4 deletions

View File

@ -129,10 +129,12 @@ public class NotificationsListAdapter extends RecyclerView.Adapter implements On
private int style; private int style;
private RecyclerView mRecyclerView; private RecyclerView mRecyclerView;
private List<NotificationsListAdapter.ViewHolder> lstHolders; private List<NotificationsListAdapter.ViewHolder> lstHolders;
private final Object lock = new Object();
private Runnable updateAnimatedEmoji = new Runnable() { private Runnable updateAnimatedEmoji = new Runnable() {
@Override @Override
public void run() { public void run() {
synchronized (lstHolders) { synchronized (lock) {
if( mRecyclerView != null && (mRecyclerView.getLayoutManager()) != null) { if( mRecyclerView != null && (mRecyclerView.getLayoutManager()) != null) {
int firstPosition = ((LinearLayoutManager) mRecyclerView.getLayoutManager()).findFirstCompletelyVisibleItemPosition(); int firstPosition = ((LinearLayoutManager) mRecyclerView.getLayoutManager()).findFirstCompletelyVisibleItemPosition();
int lastPosition = ((LinearLayoutManager) mRecyclerView.getLayoutManager()).findLastCompletelyVisibleItemPosition(); int lastPosition = ((LinearLayoutManager) mRecyclerView.getLayoutManager()).findLastCompletelyVisibleItemPosition();
@ -198,7 +200,7 @@ public class NotificationsListAdapter extends RecyclerView.Adapter implements On
holder = (NotificationsListAdapter.ViewHolder) viewHolder; holder = (NotificationsListAdapter.ViewHolder) viewHolder;
synchronized (lstHolders) { synchronized (lock) {
lstHolders.add(holder); lstHolders.add(holder);
} }

View File

@ -219,11 +219,12 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
private RecyclerView mRecyclerView; private RecyclerView mRecyclerView;
static Timer tmr; static Timer tmr;
private List<ViewHolder> lstHolders; private List<ViewHolder> lstHolders;
private final Object lock = new Object();
private Runnable updateAnimatedEmoji = new Runnable() { private Runnable updateAnimatedEmoji = new Runnable() {
@Override @Override
public void run() { public void run() {
synchronized (lstHolders) { synchronized (lock) {
if( mRecyclerView != null && (mRecyclerView.getLayoutManager()) != null) { if( mRecyclerView != null && (mRecyclerView.getLayoutManager()) != null) {
int firstPosition = ((LinearLayoutManager) mRecyclerView.getLayoutManager()).findFirstCompletelyVisibleItemPosition(); int firstPosition = ((LinearLayoutManager) mRecyclerView.getLayoutManager()).findFirstCompletelyVisibleItemPosition();
int lastPosition = ((LinearLayoutManager) mRecyclerView.getLayoutManager()).findLastCompletelyVisibleItemPosition(); int lastPosition = ((LinearLayoutManager) mRecyclerView.getLayoutManager()).findLastCompletelyVisibleItemPosition();
@ -896,7 +897,7 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
final ViewHolder holder = (ViewHolder) viewHolder; final ViewHolder holder = (ViewHolder) viewHolder;
synchronized (lstHolders) { synchronized (lock) {
lstHolders.add(holder); lstHolders.add(holder);
} }
final Status status = statuses.get(i); final Status status = statuses.get(i);