Skip to content

Commit a775bfc

Browse files
committed
Inject UserListAdapter. Minor refactor and clean up.
1 parent 0e594d2 commit a775bfc

File tree

4 files changed

+20
-27
lines changed

4 files changed

+20
-27
lines changed

presentation/src/main/java/com/fernandocejas/android10/sample/presentation/view/adapter/UsersAdapter.java

+7-7
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@
1515
import com.fernandocejas.android10.sample.presentation.R;
1616
import com.fernandocejas.android10.sample.presentation.model.UserModel;
1717
import java.util.Collection;
18+
import java.util.Collections;
1819
import java.util.List;
20+
import javax.inject.Inject;
1921

2022
/**
2123
* Adaptar that manages a collection of {@link UserModel}.
@@ -31,22 +33,20 @@ public interface OnItemClickListener {
3133

3234
private OnItemClickListener onItemClickListener;
3335

34-
public UsersAdapter(Context context, Collection<UserModel> usersCollection) {
35-
this.validateUsersCollection(usersCollection);
36+
@Inject
37+
public UsersAdapter(Context context) {
3638
this.layoutInflater =
3739
(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
38-
this.usersCollection = (List<UserModel>) usersCollection;
40+
this.usersCollection = Collections.emptyList();
3941
}
4042

4143
@Override public int getItemCount() {
4244
return (this.usersCollection != null) ? this.usersCollection.size() : 0;
4345
}
4446

4547
@Override public UserViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
46-
View view = this.layoutInflater.inflate(R.layout.row_user, parent, false);
47-
UserViewHolder userViewHolder = new UserViewHolder(view);
48-
49-
return userViewHolder;
48+
final View view = this.layoutInflater.inflate(R.layout.row_user, parent, false);
49+
return new UserViewHolder(view);
5050
}
5151

5252
@Override public void onBindViewHolder(UserViewHolder holder, final int position) {

presentation/src/main/java/com/fernandocejas/android10/sample/presentation/view/fragment/UserDetailsFragment.java

-3
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,6 @@ public class UserDetailsFragment extends BaseFragment implements UserDetailsView
3030

3131
private static final String ARGUMENT_KEY_USER_ID = "org.android10.ARGUMENT_USER_ID";
3232

33-
private int userId;
34-
3533
@Inject UserDetailsPresenter userDetailsPresenter;
3634

3735
@Bind(R.id.iv_cover) AutoLoadImageView iv_cover;
@@ -70,7 +68,6 @@ public static UserDetailsFragment create(int userId) {
7068
@Override public void onViewCreated(View view, Bundle savedInstanceState) {
7169
super.onViewCreated(view, savedInstanceState);
7270
this.userDetailsPresenter.setView(this);
73-
this.userId = getArguments().getInt(ARGUMENT_KEY_USER_ID);
7471
this.userDetailsPresenter.initialize();
7572
}
7673

presentation/src/main/java/com/fernandocejas/android10/sample/presentation/view/fragment/UserListFragment.java

+12-17
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import com.fernandocejas.android10.sample.presentation.view.UserListView;
2525
import com.fernandocejas.android10.sample.presentation.view.adapter.UsersAdapter;
2626
import com.fernandocejas.android10.sample.presentation.view.adapter.UsersLayoutManager;
27-
import java.util.ArrayList;
2827
import java.util.Collection;
2928
import javax.inject.Inject;
3029

@@ -41,15 +40,13 @@ public interface UserListListener {
4140
}
4241

4342
@Inject UserListPresenter userListPresenter;
43+
@Inject UsersAdapter usersAdapter;
4444

4545
@Bind(R.id.rv_users) RecyclerView rv_users;
4646
@Bind(R.id.rl_progress) RelativeLayout rl_progress;
4747
@Bind(R.id.rl_retry) RelativeLayout rl_retry;
4848
@Bind(R.id.bt_retry) Button bt_retry;
4949

50-
private UsersAdapter usersAdapter;
51-
private UsersLayoutManager usersLayoutManager;
52-
5350
private UserListListener userListListener;
5451

5552
public UserListFragment() {
@@ -72,7 +69,7 @@ public UserListFragment() {
7269
Bundle savedInstanceState) {
7370
final View fragmentView = inflater.inflate(R.layout.fragment_user_list, container, false);
7471
ButterKnife.bind(this, fragmentView);
75-
setupUI();
72+
setupRecyclerView();
7673
return fragmentView;
7774
}
7875

@@ -92,23 +89,15 @@ public UserListFragment() {
9289
this.userListPresenter.pause();
9390
}
9491

95-
@Override public void onDestroy() {
96-
super.onDestroy();
97-
this.userListPresenter.destroy();
98-
}
99-
10092
@Override public void onDestroyView() {
10193
super.onDestroyView();
94+
rv_users.setAdapter(null);
10295
ButterKnife.unbind(this);
10396
}
10497

105-
private void setupUI() {
106-
this.usersLayoutManager = new UsersLayoutManager(getActivity());
107-
this.rv_users.setLayoutManager(usersLayoutManager);
108-
109-
this.usersAdapter = new UsersAdapter(getActivity(), new ArrayList<UserModel>());
110-
this.usersAdapter.setOnItemClickListener(onItemClickListener);
111-
this.rv_users.setAdapter(usersAdapter);
98+
@Override public void onDestroy() {
99+
super.onDestroy();
100+
this.userListPresenter.destroy();
112101
}
113102

114103
@Override public void showLoading() {
@@ -149,6 +138,12 @@ private void setupUI() {
149138
return this.getActivity().getApplicationContext();
150139
}
151140

141+
private void setupRecyclerView() {
142+
this.usersAdapter.setOnItemClickListener(onItemClickListener);
143+
this.rv_users.setLayoutManager(new UsersLayoutManager(context()));
144+
this.rv_users.setAdapter(usersAdapter);
145+
}
146+
152147
/**
153148
* Loads all users.
154149
*/

presentation/src/main/res/layout/row_user.xml

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
android:layout_width="match_parent"
2525
android:layout_height="match_parent"
2626
android:textSize="@dimen/lv_row_text_size"
27+
android:textColor="@android:color/black"
2728
android:gravity="center_vertical"
2829
android:singleLine="true"
2930
android:ellipsize="end"

0 commit comments

Comments
 (0)