Skip to content

Commit

Permalink
Updated filter list item clicks.
Browse files Browse the repository at this point in the history
  • Loading branch information
nickbutcher committed Nov 24, 2015
1 parent ffc0809 commit 3936eaf
Showing 1 changed file with 28 additions and 24 deletions.
52 changes: 28 additions & 24 deletions app/src/main/java/io/plaidapp/ui/FilterAdapter.java
Original file line number Diff line number Diff line change
@@ -137,49 +137,53 @@ public void enableFilterByKey(@NonNull String key, @NonNull Context context) {

@Override
public FilterViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {
return new FilterViewHolder(LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.filter_item, viewGroup, false));
}

@Override
public void onBindViewHolder(final FilterViewHolder vh, final int position) {
final Source filter = filters.get(position);
vh.isSwipeable = filter.isSwipeDismissable();
vh.filterName.setText(filter.name);
vh.filterName.setEnabled(filter.active);
if (filter.iconRes > 0) {
vh.filterIcon.setImageDrawable(vh.itemView.getContext().getDrawable(filter.iconRes));
}
vh.filterIcon.setImageAlpha(filter.active ? FILTER_ICON_ENABLED_ALPHA :
FILTER_ICON_DISABLED_ALPHA);
vh.itemView.setOnClickListener(new View.OnClickListener() {
final FilterViewHolder holder = new FilterViewHolder(LayoutInflater.from(viewGroup
.getContext()).inflate(R.layout.filter_item, viewGroup, false));
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final int position = holder.getAdapterPosition();
if (position == RecyclerView.NO_POSITION) return;
final Source filter = filters.get(position);
if (isAuthorisedDribbbleSource(filter) &&
!DribbblePrefs.get(vh.itemView.getContext()).isLoggedIn()) {
authoriser.requestDribbbleAuthorisation(vh.filterIcon, filter);
!DribbblePrefs.get(holder.itemView.getContext()).isLoggedIn()) {
authoriser.requestDribbbleAuthorisation(holder.filterIcon, filter);
} else {
vh.itemView.setHasTransientState(true);
ObjectAnimator fade = ObjectAnimator.ofInt(vh.filterIcon, ViewUtils.IMAGE_ALPHA,
holder.itemView.setHasTransientState(true);
ObjectAnimator fade = ObjectAnimator.ofInt(holder.filterIcon, ViewUtils.IMAGE_ALPHA,
filter.active ? FILTER_ICON_DISABLED_ALPHA : FILTER_ICON_ENABLED_ALPHA);
fade.setDuration(300);
fade.setInterpolator(AnimationUtils.loadInterpolator(vh.itemView.getContext()
fade.setInterpolator(AnimationUtils.loadInterpolator(holder.itemView.getContext()
, android.R.interpolator.fast_out_slow_in));
fade.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
vh.itemView.setHasTransientState(false);
holder.itemView.setHasTransientState(false);
}
});
fade.start();
filter.active = !filter.active;
vh.filterName.setEnabled(filter.active);
holder.filterName.setEnabled(filter.active);
notifyItemChanged(position);
SourceManager.updateSource(filter, vh.itemView.getContext());
SourceManager.updateSource(filter, holder.itemView.getContext());
dispatchFiltersChanged(filter);
}
}
});
return holder;
}

@Override
public void onBindViewHolder(final FilterViewHolder vh, int position) {
final Source filter = filters.get(position);
vh.isSwipeable = filter.isSwipeDismissable();
vh.filterName.setText(filter.name);
vh.filterName.setEnabled(filter.active);
if (filter.iconRes > 0) {
vh.filterIcon.setImageDrawable(vh.itemView.getContext().getDrawable(filter.iconRes));
}
vh.filterIcon.setImageAlpha(filter.active ? FILTER_ICON_ENABLED_ALPHA :
FILTER_ICON_DISABLED_ALPHA);
}

@Override

0 comments on commit 3936eaf

Please sign in to comment.