Prevent multiple registrations to eventHub on same TimelineFragment (#879)

main
kyori19 6 years ago committed by Konrad Pozniak
parent 37702f7f81
commit fd0f5edeef
  1. 8
      app/src/main/java/com/keylesspalace/tusky/fragment/TimelineFragment.java

@ -119,6 +119,7 @@ public class TimelineFragment extends SFragment implements
public TimelineCases timelineCases; public TimelineCases timelineCases;
@Inject @Inject
public EventHub eventHub; public EventHub eventHub;
private boolean eventRegistered = false;
private SwipeRefreshLayout swipeRefreshLayout; private SwipeRefreshLayout swipeRefreshLayout;
private RecyclerView recyclerView; private RecyclerView recyclerView;
@ -304,7 +305,7 @@ public class TimelineFragment extends SFragment implements
break; break;
} }
} }
if(statuses.size() == 0) { if (statuses.size() == 0) {
nothingMessageView.setVisibility(View.VISIBLE); nothingMessageView.setVisibility(View.VISIBLE);
} }
} }
@ -378,6 +379,7 @@ public class TimelineFragment extends SFragment implements
} }
recyclerView.addOnScrollListener(scrollListener); recyclerView.addOnScrollListener(scrollListener);
if (!eventRegistered) {
eventHub.getEvents() eventHub.getEvents()
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.as(autoDisposable(from(this, Lifecycle.Event.ON_DESTROY))) .as(autoDisposable(from(this, Lifecycle.Event.ON_DESTROY)))
@ -413,6 +415,8 @@ public class TimelineFragment extends SFragment implements
handleStatusComposeEvent(status); handleStatusComposeEvent(status);
} }
}); });
eventRegistered = true;
}
} }
@Override @Override
@ -583,7 +587,7 @@ public class TimelineFragment extends SFragment implements
"Expected StatusViewData.Concrete, got %s instead at position: %d of %d", "Expected StatusViewData.Concrete, got %s instead at position: %d of %d",
status == null ? "<null>" : status.getClass().getSimpleName(), status == null ? "<null>" : status.getClass().getSimpleName(),
position, position,
statuses.size() -1 statuses.size() - 1
)); ));
return; return;
} }

Loading…
Cancel
Save