Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8a1ce10c authored by Amit Kumar's avatar Amit Kumar
Browse files

Add divider between dashboard tiles

Change-Id: I3b5b6cdb3379ac7a2fe0a19e8f712144747aef1b
parent fcf08550
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -123,6 +123,8 @@
    <dimen name="dashboard_tile_image_margin_start">16dp</dimen>
    <dimen name="dashboard_tile_image_margin_end">32dp</dimen>
    
    <dimen name="dashboard_tile_divider_offset">8dp</dimen>

    <!-- Dashboard chevron tile size -->
    <dimen name="dashboard_tile_chevron_size">16dp</dimen>

+19 −0
Original line number Diff line number Diff line
@@ -43,6 +43,16 @@ public class DashboardDecorator extends RecyclerView.ItemDecoration {
        for (int i = 1; i < childCount; i++) {
            final View child = parent.getChildAt(i);
            final ViewHolder holder = parent.getChildViewHolder(child);

            if (holder.getItemViewType() == R.layout.dashboard_tile && parent.getChildViewHolder(parent.getChildAt(i - 1)).getItemViewType()
                        != R.layout.dashboard_category) {
                int top = getChildTop(child);
                int left = getChildLeft(child);
                mDivider.setBounds(left, top, child.getRight(),
                        top + mDivider.getIntrinsicHeight());
                mDivider.draw(c);
            }

            if (holder.getItemViewType() == R.layout.dashboard_category) {
                if (parent.getChildViewHolder(parent.getChildAt(i - 1)).getItemViewType()
                        != R.layout.dashboard_tile) {
@@ -56,6 +66,7 @@ public class DashboardDecorator extends RecyclerView.ItemDecoration {
            mDivider.setBounds(child.getLeft(), top, child.getRight(),
                    top + mDivider.getIntrinsicHeight());
            mDivider.draw(c);
            
        }
    }

@@ -64,4 +75,12 @@ public class DashboardDecorator extends RecyclerView.ItemDecoration {
                .getLayoutParams();
        return child.getTop() + params.topMargin + Math.round(ViewCompat.getTranslationY(child));
    }

    private int getChildLeft(View child) {
        final int margin = mContext.getResources().getDimensionPixelSize(R.dimen.dashboard_tile_image_size)
            + mContext.getResources().getDimensionPixelSize(R.dimen.dashboard_tile_image_margin_start)
            + mContext.getResources().getDimensionPixelSize(R.dimen.dashboard_tile_image_margin_end)
            - mContext.getResources().getDimensionPixelSize(R.dimen.dashboard_tile_divider_offset);
        return child.getLeft() + margin;
    }
}