From 2a7181e5e30060585283b62de41319d743ccee1a Mon Sep 17 00:00:00 2001 From: Federico Paolinelli Date: Fri, 1 Jan 2016 01:42:00 +0100 Subject: [PATCH] First commit of 2016 :-) Removed adapte recreation --- .../java/com/whiterabbit/rxrestsample/CachedActivity.java | 6 ++++-- .../com/whiterabbit/rxrestsample/NonCachedActivity.java | 6 ++++-- .../whiterabbit/rxrestsample/adapters/RepoAdapter.java | 8 +++++++- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/whiterabbit/rxrestsample/CachedActivity.java b/app/src/main/java/com/whiterabbit/rxrestsample/CachedActivity.java index 6fbfbde..a23f67c 100644 --- a/app/src/main/java/com/whiterabbit/rxrestsample/CachedActivity.java +++ b/app/src/main/java/com/whiterabbit/rxrestsample/CachedActivity.java @@ -49,6 +49,7 @@ public class CachedActivity extends AppCompatActivity implements SwipeRefreshLay private Observable> mObservable; private Observable mProgressObservable; + private RepoAdapter mAdapter; @Override protected void onCreate(Bundle savedInstanceState) { @@ -62,6 +63,8 @@ protected void onCreate(Bundle savedInstanceState) { mSwipeLayout.setOnRefreshListener(this); mObservable = mRepo.getDbObservable(); mProgressObservable = mRepo.getProgressObservable(); + mAdapter = new RepoAdapter(); + mList.setAdapter(mAdapter); } @Override @@ -69,8 +72,7 @@ protected void onResume() { super.onResume(); mObservable.subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()).subscribe(l -> { - RepoAdapter a = new RepoAdapter(l); - mList.setAdapter(a); + mAdapter.updateData(l); }); fetchUpdates(); diff --git a/app/src/main/java/com/whiterabbit/rxrestsample/NonCachedActivity.java b/app/src/main/java/com/whiterabbit/rxrestsample/NonCachedActivity.java index 5c2defe..5a7a8c9 100644 --- a/app/src/main/java/com/whiterabbit/rxrestsample/NonCachedActivity.java +++ b/app/src/main/java/com/whiterabbit/rxrestsample/NonCachedActivity.java @@ -28,6 +28,7 @@ public class NonCachedActivity extends AppCompatActivity { @Bind(R.id.pending_request_progress) ProgressBar mProgress; @Bind(R.id.main_list) RecyclerView mList; private Observable> mObservable; + private RepoAdapter mAdapter; @Override protected void onCreate(Bundle savedInstanceState) { @@ -38,6 +39,8 @@ protected void onCreate(Bundle savedInstanceState) { LinearLayoutManager layoutManager = new LinearLayoutManager(getApplicationContext()); mList.setLayoutManager(layoutManager); + mAdapter = new RepoAdapter(); + mList.setAdapter(mAdapter); } @Override @@ -48,9 +51,8 @@ protected void onResume() { mObservable.delay(3, TimeUnit.SECONDS) // delayed for demonstration purpouse .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()).subscribe(l -> { - RepoAdapter a = new RepoAdapter(l); - mList.setAdapter(a); mProgress.setVisibility(View.INVISIBLE); + mAdapter.updateData(l); }, e -> mProgress.setVisibility(View.INVISIBLE), ()-> mProgress.setVisibility(View.INVISIBLE)); diff --git a/app/src/main/java/com/whiterabbit/rxrestsample/adapters/RepoAdapter.java b/app/src/main/java/com/whiterabbit/rxrestsample/adapters/RepoAdapter.java index fd1233b..8c53a6f 100644 --- a/app/src/main/java/com/whiterabbit/rxrestsample/adapters/RepoAdapter.java +++ b/app/src/main/java/com/whiterabbit/rxrestsample/adapters/RepoAdapter.java @@ -26,6 +26,7 @@ import com.whiterabbit.rxrestsample.R; import com.whiterabbit.rxrestsample.data.Repo; +import java.util.ArrayList; import java.util.List; import butterknife.Bind; @@ -34,8 +35,13 @@ public class RepoAdapter extends RecyclerView.Adapter { private List mRepos; - public RepoAdapter(List repos) { + public RepoAdapter() { + mRepos = new ArrayList<>(0); + } + + public void updateData(List repos) { mRepos = repos; + notifyDataSetChanged(); } @Override