package com.zulip.android.viewholders;
import android.content.Context;
import android.graphics.Rect;
import android.support.v7.widget.RecyclerView;
import android.util.TypedValue;
import android.view.View;
import com.zulip.android.activities.RecyclerMessageAdapter;
/**
* An {@link android.support.v7.widget.RecyclerView.ItemDecoration} for the recyclerView
* which adds margin to every MessageHeader.
*/
public class HeaderSpaceItemDecoration extends RecyclerView.ItemDecoration {
private int toolbarHeight;
public HeaderSpaceItemDecoration(Context context) {
TypedValue tv = new TypedValue();
if (context.getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true)) {
toolbarHeight = TypedValue.complexToDimensionPixelSize(tv.data, context.getResources().getDisplayMetrics());
}
}
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent,
RecyclerView.State state) {
int position = parent.getChildAdapterPosition(view);
int size = parent.getAdapter().getItemCount();
int viewType = parent.getAdapter().getItemViewType(position);
if (viewType == RecyclerMessageAdapter.VIEWTYPE_HEADER) {
outRect.top = toolbarHeight;
}
outRect.bottom = 0;
}
}