Skip to content

Commit 4ebfd46

Browse files
simarsingh24iamareebjamal
authored andcommitted
fix: Memory leak inside track fragment (fossasia#2135)
1 parent 09f51a6 commit 4ebfd46

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

android/app/src/main/java/org/fossasia/openevent/fragments/TracksFragment.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ public class TracksFragment extends BaseFragment implements SearchView.OnQueryTe
4848

4949
private List<Track> tracks = new ArrayList<>();
5050
private TracksListAdapter tracksListAdapter;
51+
private RecyclerView.AdapterDataObserver adapterDataObserver;
5152

5253
@BindView(R.id.tracks_swipe_refresh) SwipeRefreshLayout swipeRefreshLayout;
5354
@BindView(R.id.txt_no_tracks) TextView noTracksView;
@@ -96,12 +97,13 @@ private void setUpRecyclerView() {
9697

9798
final StickyRecyclerHeadersDecoration headersDecoration = new StickyRecyclerHeadersDecoration(tracksListAdapter);
9899
tracksRecyclerView.addItemDecoration(headersDecoration);
99-
tracksListAdapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() {
100+
adapterDataObserver = new RecyclerView.AdapterDataObserver() {
100101
@Override
101102
public void onChanged() {
102103
headersDecoration.invalidateHeaders();
103104
}
104-
});
105+
};
106+
tracksListAdapter.registerAdapterDataObserver(adapterDataObserver);
105107
}
106108

107109
public void handleVisibility() {
@@ -124,6 +126,7 @@ protected int getLayoutResource() {
124126
public void onDestroyView() {
125127
super.onDestroyView();
126128
Utils.unregisterIfUrlValid(this);
129+
tracksListAdapter.unregisterAdapterDataObserver(adapterDataObserver);
127130

128131
if(swipeRefreshLayout != null) swipeRefreshLayout.setOnRefreshListener(null);
129132
if(searchView != null) searchView.setOnQueryTextListener(null);

0 commit comments

Comments
 (0)