fix crash in NotificationsFragment (#1119)

* fix crash in NotificationsFragment

* don't reload notifications

* add updateAdapter()
main
Konrad Pozniak 6 years ago committed by GitHub
parent 7cb5762eff
commit 9b19cd3c0d
  1. 7
      app/src/main/java/com/keylesspalace/tusky/TabPreferenceActivity.kt
  2. 11
      app/src/main/java/com/keylesspalace/tusky/fragment/NotificationsFragment.java

@ -47,6 +47,8 @@ class TabPreferenceActivity : BaseActivity(), Injectable, ItemInteractionListene
private lateinit var touchHelper: ItemTouchHelper private lateinit var touchHelper: ItemTouchHelper
private lateinit var addTabAdapter: TabAdapter private lateinit var addTabAdapter: TabAdapter
private var tabsChanged = false
private val selectedItemElevation by lazy { resources.getDimension(R.dimen.selected_drag_item_elevation) } private val selectedItemElevation by lazy { resources.getDimension(R.dimen.selected_drag_item_elevation) }
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
@ -188,6 +190,7 @@ class TabPreferenceActivity : BaseActivity(), Injectable, ItemInteractionListene
.subscribe() .subscribe()
} }
tabsChanged = true
} }
override fun onBackPressed() { override fun onBackPressed() {
@ -208,7 +211,9 @@ class TabPreferenceActivity : BaseActivity(), Injectable, ItemInteractionListene
override fun onPause() { override fun onPause() {
super.onPause() super.onPause()
eventHub.dispatch(MainTabsChangedEvent(currentTabs)) if(tabsChanged) {
eventHub.dispatch(MainTabsChangedEvent(currentTabs))
}
} }
companion object { companion object {

@ -207,14 +207,19 @@ public class NotificationsFragment extends SFragment implements
adapter.setUseAbsoluteTime(useAbsoluteTime); adapter.setUseAbsoluteTime(useAbsoluteTime);
recyclerView.setAdapter(adapter); recyclerView.setAdapter(adapter);
notifications.clear();
topLoading = false; topLoading = false;
bottomLoading = false; bottomLoading = false;
bottomId = null; bottomId = null;
((SimpleItemAnimator) recyclerView.getItemAnimator()).setSupportsChangeAnimations(false); updateAdapter();
if (notifications.isEmpty()) {
sendFetchNotificationsRequest(null, null, FetchEnd.BOTTOM, -1);
} else {
progressBar.setVisibility(View.GONE);
}
sendFetchNotificationsRequest(null, null, FetchEnd.BOTTOM, -1); ((SimpleItemAnimator) recyclerView.getItemAnimator()).setSupportsChangeAnimations(false);
return rootView; return rootView;
} }

Loading…
Cancel
Save