Skip to content

Commit 2204f70

Browse files
committed
Fix style issues
1 parent 78368a2 commit 2204f70

File tree

4 files changed

+34
-45
lines changed

4 files changed

+34
-45
lines changed

app/src/main/java/fr/free/nrw/commons/nearby/NearbyFilterSearchRecyclerViewAdapter.java

Lines changed: 22 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
import android.widget.TextView;
1313

1414
import androidx.annotation.NonNull;
15+
import androidx.core.content.ContextCompat;
16+
import androidx.recyclerview.widget.LinearSmoothScroller;
1517
import androidx.recyclerview.widget.RecyclerView;
1618

1719
import java.util.ArrayList;
@@ -25,14 +27,24 @@ public class NearbyFilterSearchRecyclerViewAdapter
2527

2628
private final LayoutInflater inflater;
2729
private Context context;
30+
private RecyclerView recyclerView;
2831
private ArrayList<Label> labels;
2932
private ArrayList<Label> displayedLabels;
3033
private ArrayList<Label> selectedLabels = new ArrayList<>();
3134

32-
public NearbyFilterSearchRecyclerViewAdapter(Context context, ArrayList<Label> labels) {
35+
RecyclerView.SmoothScroller smoothScroller;
36+
37+
public NearbyFilterSearchRecyclerViewAdapter(Context context, ArrayList<Label> labels, RecyclerView recyclerView) {
3338
this.context = context;
3439
this.labels = labels;
3540
this.displayedLabels = labels;
41+
this.recyclerView = recyclerView;
42+
smoothScroller = new
43+
LinearSmoothScroller(context) {
44+
@Override protected int getVerticalSnapPreference() {
45+
return LinearSmoothScroller.SNAP_TO_START;
46+
}
47+
};
3648
inflater = LayoutInflater.from(context);
3749
}
3850

@@ -62,17 +74,24 @@ public void onBindViewHolder(@NonNull RecyclerViewHolder holder, int position) {
6274
holder.placeTypeIcon.setImageResource(label.getIcon());
6375
holder.placeTypeLabel.setText(label.toString());
6476

65-
holder.placeTypeLayout.setBackgroundColor(label.isSelected() ? Color.BLUE : Color.WHITE);
77+
holder.placeTypeLayout.setBackgroundColor(label.isSelected() ? ContextCompat.getColor(context, R.color.divider_grey) : Color.WHITE);
6678
holder.placeTypeLayout.setOnClickListener(view -> {
6779
if (label.isSelected()) {
6880
selectedLabels.remove(label);
6981
} else {
7082
selectedLabels.add(label);
83+
displayedLabels.remove(label);
84+
displayedLabels.add(selectedLabels.size()-1, label);
85+
notifyDataSetChanged();
86+
smoothScroller.setTargetPosition(0);
87+
recyclerView.getLayoutManager().startSmoothScroll(smoothScroller);
7188
}
7289
label.setSelected(!label.isSelected());
73-
holder.placeTypeLayout.setBackgroundColor(label.isSelected() ? Color.BLUE : Color.WHITE);
90+
holder.placeTypeLayout.setBackgroundColor(label.isSelected() ? ContextCompat.getColor(context, R.color.divider_grey) : Color.WHITE);
7491
NearbyParentFragmentPresenter.getInstance().filterByMarkerType(selectedLabels);
7592
});
93+
94+
//TODO: recover current location marker if selection is empty
7695
}
7796

7897
@Override
@@ -125,33 +144,4 @@ protected void publishResults(CharSequence constraint, FilterResults results) {
125144
}
126145
};
127146
}
128-
/*
129-
@Override
130-
public View getView(int position, View convertView, ViewGroup parent) {
131-
132-
if (convertView == null) {
133-
134-
convertView = inflater.inflate(R.layout.nearby_search_list_item, null);
135-
136-
viewHolder = new RecyclerViewHolder();
137-
viewHolder.placeTypeLabel = convertView.findViewById(R.id.place_text);
138-
viewHolder.placeTypeIcon = convertView.findViewById(R.id.place_icon);
139-
convertView.setTag(viewHolder);
140-
141-
}
142-
else{
143-
//Get viewholder we already created
144-
viewHolder = (RecyclerViewHolder)convertView.getTag();
145-
}
146-
147-
Label label = displayedLabels.get(position);
148-
if(label != null){
149-
viewHolder.placeTypeIcon.setImageResource(label.getIcon());
150-
viewHolder.placeTypeLabel.setText(label.toString());
151-
}
152-
return convertView;
153-
}
154-
155-
*/
156-
157147
}

app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.java

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import android.content.IntentFilter;
99
import android.content.res.Configuration;
1010
import android.os.Bundle;
11-
import android.util.Log;
1211
import android.view.Gravity;
1312
import android.view.LayoutInflater;
1413
import android.view.View;
@@ -122,7 +121,7 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment
122121
@BindView(R.id.choice_chip_exists) Chip chipExists;
123122
@BindView(R.id.choice_chip_needs_photo) Chip chipNeedsPhoto;
124123
@BindView(R.id.search_view) SearchView searchView;
125-
@BindView(R.id.search_list_view) RecyclerView searchListView;
124+
@BindView(R.id.search_list_view) RecyclerView recyclerView;
126125
@BindView(R.id.nearby_filter_list) View nearbyFilterList;
127126

128127
@Inject LocationServiceManager locationManager;
@@ -202,26 +201,26 @@ public void initNearbyFilter() {
202201

203202
searchView.setOnQueryTextFocusChangeListener((v, hasFocus) -> {
204203
if (hasFocus) {
205-
//Log.d("deneme33","11-"+searchListView.getAdapter().getCount());
204+
//Log.d("deneme33","11-"+recyclerView.getAdapter().getCount());
206205
nearbyFilterList.setVisibility(View.VISIBLE);
207206
} else {
208-
// Log.d("deneme33","22-"+searchListView.getAdapter().getCount());
207+
// Log.d("deneme33","22-"+recyclerView.getAdapter().getCount());
209208
nearbyFilterList.setVisibility(View.GONE);
210209
}
211210
});
212211

213-
searchListView.setHasFixedSize(true);
212+
recyclerView.setHasFixedSize(true);
214213

215214
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity());
216215
linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
217-
searchListView.setLayoutManager(linearLayoutManager);
216+
recyclerView.setLayoutManager(linearLayoutManager);
218217

219218
NearbyFilterSearchRecyclerViewAdapter nearbyFilterSearchRecyclerViewAdapter
220-
= new NearbyFilterSearchRecyclerViewAdapter(getContext(),new ArrayList<>(TEXT_TO_DESCRIPTION.values()));
219+
= new NearbyFilterSearchRecyclerViewAdapter(getContext(),new ArrayList<>(TEXT_TO_DESCRIPTION.values()), recyclerView);
221220
nearbyFilterList.getLayoutParams().width = (int) LayoutUtils.getScreenWidth(getActivity(), 0.75);
222-
searchListView.setAdapter(nearbyFilterSearchRecyclerViewAdapter);
221+
recyclerView.setAdapter(nearbyFilterSearchRecyclerViewAdapter);
223222
LayoutUtils.setLayoutHeightAllignedToWidth(1, nearbyFilterList);
224-
/*searchListView.setOnItemClickListener((parent, view, position, id) -> {
223+
/*recyclerView.setOnItemClickListener((parent, view, position, id) -> {
225224
Log.d("deneme33","item clicked:"+ nearbyFilterSearchRecyclerViewAdapter.get(position).toString());
226225
nearbyParentFragmentPresenter.filterByMarkerType(nearbyFilterSearchRecyclerViewAdapter.getItem(position).toString());
227226
});*/
@@ -231,7 +230,7 @@ public void initNearbyFilter() {
231230
.debounce(500, TimeUnit.MILLISECONDS)
232231
.observeOn(AndroidSchedulers.mainThread())
233232
.subscribe( query -> {
234-
((NearbyFilterSearchRecyclerViewAdapter)searchListView.getAdapter()).getFilter().filter(query.toString());
233+
((NearbyFilterSearchRecyclerViewAdapter) recyclerView.getAdapter()).getFilter().filter(query.toString());
235234
}));
236235
}
237236

app/src/main/res/layout/nearby_filter_list.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
33
android:id="@+id/nearby_filter_list_layout"
44
android:orientation="vertical"
5-
android:layout_width="wrap_content"
5+
android:layout_width="match_parent"
66
android:layout_height="wrap_content"
77
android:layout_alignParentRight="true"
88
android:elevation="8dp"
99
android:background="@color/white">
1010

1111
<androidx.recyclerview.widget.RecyclerView
1212
android:id="@+id/search_list_view"
13-
android:layout_width="wrap_content"
13+
android:layout_width="match_parent"
1414
android:layout_height="wrap_content"
1515
/>
1616

app/src/main/res/layout/nearby_search_list_item.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
<TextView
1515
android:id="@+id/place_text"
16-
android:layout_width="wrap_content"
16+
android:layout_width="match_parent"
1717
android:layout_height="wrap_content">
1818
</TextView>
1919
</LinearLayout>

0 commit comments

Comments
 (0)