package com.easylink.library.view.pageindicator;

import android.content.Context;
import android.widget.LinearLayout;

/**
 * A simple extension of a regular linear layout that supports the divider API
 * of Android 4.0+. The dividers are added adjacent to the children by changing
 * their layout params. If you need to rely on the margins which fall in the
 * same orientation as the layout you should wrap the child in a simple
 * {@link android.widget.FrameLayout} so it can receive the margin.
 */

/**
 * unuse
 */
class IcsLinearLayout extends LinearLayout {
	// private static final int[] LL = new int[] {
	// /* 0 */ android.R.attr.divider,
	// /* 1 */ android.R.attr.showDividers,
	// /* 2 */ android.R.attr.dividerPadding,
	// };
	// private static final int LL_DIVIDER = 0;
	// private static final int LL_SHOW_DIVIDER = 1;
	// private static final int LL_DIVIDER_PADDING = 2;
	//
	// private Drawable mDivider;
	// private int mDividerWidth;
	// private int mDividerHeight;
	// private int mShowDividers;
	// private int mDividerPadding;

	public IcsLinearLayout(Context context, int attr) {
		super(context);
		setOrientation(LinearLayout.HORIZONTAL);
	}

	// public IcsLinearLayout(Context context, int themeAttr) {
	// super(context);
	//
	// TypedArray a = context.obtainStyledAttributes(null, LL, themeAttr, 0);
	// setDividerDrawable(a.getDrawable(IcsLinearLayout.LL_DIVIDER));
	// mDividerPadding = a.getDimensionPixelSize(LL_DIVIDER_PADDING, 0);
	// mShowDividers = a.getInteger(LL_SHOW_DIVIDER, SHOW_DIVIDER_NONE);
	// a.recycle();
	// }
	//
	// public void setDividerDrawable(Drawable divider) {
	// if (divider == mDivider) {
	// return;
	// }
	// mDivider = divider;
	// if (divider != null) {
	// mDividerWidth = divider.getIntrinsicWidth();
	// mDividerHeight = divider.getIntrinsicHeight();
	// } else {
	// mDividerWidth = 0;
	// mDividerHeight = 0;
	// }
	// setWillNotDraw(divider == null);
	// requestLayout();
	// }
	//
	// @Override
	// protected void measureChildWithMargins(View child, int
	// parentWidthMeasureSpec, int widthUsed, int parentHeightMeasureSpec, int
	// heightUsed) {
	// final int index = indexOfChild(child);
	// final int orientation = getOrientation();
	// final LayoutParams params = (LayoutParams) child.getLayoutParams();
	// if (hasDividerBeforeChildAt(index)) {
	// if (orientation == VERTICAL) {
	// //Account for the divider by pushing everything up
	// params.topMargin = mDividerHeight;
	// } else {
	// //Account for the divider by pushing everything left
	// params.leftMargin = mDividerWidth;
	// }
	// }
	//
	// final int count = getChildCount();
	// if (index == count - 1) {
	// if (hasDividerBeforeChildAt(count)) {
	// if (orientation == VERTICAL) {
	// params.bottomMargin = mDividerHeight;
	// } else {
	// params.rightMargin = mDividerWidth;
	// }
	// }
	// }
	// super.measureChildWithMargins(child, parentWidthMeasureSpec, widthUsed,
	// parentHeightMeasureSpec, heightUsed);
	// }
	//
	// @Override
	// protected void onDraw(Canvas canvas) {
	// if (mDivider != null) {
	// if (getOrientation() == VERTICAL) {
	// drawDividersVertical(canvas);
	// } else {
	// drawDividersHorizontal(canvas);
	// }
	// }
	// super.onDraw(canvas);
	// }
	//
	// private void drawDividersVertical(Canvas canvas) {
	// final int count = getChildCount();
	// for (int i = 0; i < count; i++) {
	// final View child = getChildAt(i);
	//
	// if (child != null && child.getVisibility() != GONE) {
	// if (hasDividerBeforeChildAt(i)) {
	// final android.widget.LinearLayout.LayoutParams lp =
	// (android.widget.LinearLayout.LayoutParams) child.getLayoutParams();
	// final int top = child.getTop() - lp.topMargin/* - mDividerHeight*/;
	// drawHorizontalDivider(canvas, top);
	// }
	// }
	// }
	//
	// if (hasDividerBeforeChildAt(count)) {
	// final View child = getChildAt(count - 1);
	// int bottom = 0;
	// if (child == null) {
	// bottom = getHeight() - getPaddingBottom() - mDividerHeight;
	// } else {
	// //final LayoutParams lp = (LayoutParams) child.getLayoutParams();
	// bottom = child.getBottom()/* + lp.bottomMargin*/;
	// }
	// drawHorizontalDivider(canvas, bottom);
	// }
	// }
	//
	// private void drawDividersHorizontal(Canvas canvas) {
	// final int count = getChildCount();
	// for (int i = 0; i < count; i++) {
	// final View child = getChildAt(i);
	//
	// if (child != null && child.getVisibility() != GONE) {
	// if (hasDividerBeforeChildAt(i)) {
	// final android.widget.LinearLayout.LayoutParams lp =
	// (android.widget.LinearLayout.LayoutParams) child.getLayoutParams();
	// final int left = child.getLeft() - lp.leftMargin/* - mDividerWidth*/;
	// drawVerticalDivider(canvas, left);
	// }
	// }
	// }
	//
	// if (hasDividerBeforeChildAt(count)) {
	// final View child = getChildAt(count - 1);
	// int right = 0;
	// if (child == null) {
	// right = getWidth() - getPaddingRight() - mDividerWidth;
	// } else {
	// //final LayoutParams lp = (LayoutParams) child.getLayoutParams();
	// right = child.getRight()/* + lp.rightMargin*/;
	// }
	// drawVerticalDivider(canvas, right);
	// }
	// }
	//
	// private void drawHorizontalDivider(Canvas canvas, int top) {
	// mDivider.setBounds(getPaddingLeft() + mDividerPadding, top,
	// getWidth() - getPaddingRight() - mDividerPadding, top + mDividerHeight);
	// mDivider.draw(canvas);
	// }
	//
	// private void drawVerticalDivider(Canvas canvas, int left) {
	// mDivider.setBounds(left, getPaddingTop() + mDividerPadding,
	// left + mDividerWidth, getHeight() - getPaddingBottom() -
	// mDividerPadding);
	// mDivider.draw(canvas);
	// }
	//
	// private boolean hasDividerBeforeChildAt(int childIndex) {
	// if (childIndex == 0 || childIndex == getChildCount()) {
	// return false;
	// }
	// if ((mShowDividers & SHOW_DIVIDER_MIDDLE) != 0) {
	// boolean hasVisibleViewBefore = false;
	// for (int i = childIndex - 1; i >= 0; i--) {
	// if (getChildAt(i).getVisibility() != GONE) {
	// hasVisibleViewBefore = true;
	// break;
	// }
	// }
	// return hasVisibleViewBefore;
	// }
	// return false;
	// }
}
