// Path: app/src/main/java/com/xd/demi/utils/DensityUtils.java
// public class DensityUtils
// {
// 	private DensityUtils()
// 	{
// 		/* cannot be instantiated */
// 		throw new UnsupportedOperationException("cannot be instantiated");
// 	}
// 
// 	/**
// 	 * dp转px
// 	 * 
// 	 * @param context
// 	 * @param dpVal
// 	 * @return
// 	 */
// 	public static int dp2px(Context context, float dpVal)
// 	{
// 		return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
// 				dpVal, context.getResources().getDisplayMetrics());
// 	}
// 	/**
// 	 * dp转px
// 	 *
// 	 * @param res
// 	 * @param dpVal
// 	 * @return
// 	 */
// 	public static int dp2px(Resources res, float dpVal)
// 	{
// 		return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
// 				dpVal, res.getDisplayMetrics());
// 	}
// 
// 	/**
// 	 * sp转px
// 	 * 
// 	 * @param context
// 	 * @param spVal
// 	 * @return
// 	 */
// 	public static int sp2px(Context context, float spVal)
// 	{
// 		return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP,
// 				spVal, context.getResources().getDisplayMetrics());
// 	}
// 
// 	/**
// 	 * px转dp
// 	 * 
// 	 * @param context
// 	 * @param pxVal
// 	 * @return
// 	 */
// 	public static float px2dp(Context context, float pxVal)
// 	{
// 		final float scale = context.getResources().getDisplayMetrics().density;
// 		return (pxVal / scale);
// 	}
// 
// 	/**
// 	 * px转sp
// 	 * 
// 	 * @param context
// 	 * @param pxVal
// 	 * @return
// 	 */
// 	public static float px2sp(Context context, float pxVal)
// 	{
// 		return (pxVal / context.getResources().getDisplayMetrics().scaledDensity);
// 	}
// 
// }


import android.app.Activity;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Animation;
import android.view.animation.AnimationSet;
import android.view.animation.RotateAnimation;
import android.view.animation.ScaleAnimation;
import android.view.animation.TranslateAnimation;
import android.widget.FrameLayout;
import com.xd.demi.utils.DensityUtils;
import de.hdodenhof.circleimageview.CircleImageView;
        if(!isClean){
            setAnim(drawable,start_location,finish_view);
        }else{
            try{
                removeAllViews();
                isClean = false;
                setAnim(drawable,start_location,finish_view);
            }catch(Exception e){
                e.printStackTrace();
            }
            finally{
                isClean = true;
            }
        }
    }
    /**
     * @deprecated 将要执行动画的view 添加到动画层
     * @param vg
     *        动画运行的层 这里是frameLayout
     * @param view
     *        要运行动画的View
     * @param location
     *        动画的起始位置
     * @return
     */
    private View addViewToAnimLayout(ViewGroup vg, View view, int[] location){
        int x = location[0];
        int y = location[1];
        vg.addView(view);
        LayoutParams lp = new LayoutParams(
// Path: app/src/main/java/com/xd/demi/utils/DensityUtils.java
// public class DensityUtils
// {
// 	private DensityUtils()
// 	{
// 		/* cannot be instantiated */
// 		throw new UnsupportedOperationException("cannot be instantiated");
// 	}
// 
// 	/**
// 	 * dp转px
// 	 * 
// 	 * @param context
// 	 * @param dpVal
// 	 * @return
// 	 */
// 	public static int dp2px(Context context, float dpVal)
// 	{
// 		return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
// 				dpVal, context.getResources().getDisplayMetrics());
// 	}
// 	/**
// 	 * dp转px
// 	 *
// 	 * @param res
// 	 * @param dpVal
// 	 * @return
// 	 */
// 	public static int dp2px(Resources res, float dpVal)
// 	{
// 		return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
// 				dpVal, res.getDisplayMetrics());
// 	}
// 
// 	/**
// 	 * sp转px
// 	 * 
// 	 * @param context
// 	 * @param spVal
// 	 * @return
// 	 */
// 	public static int sp2px(Context context, float spVal)
// 	{
// 		return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP,
// 				spVal, context.getResources().getDisplayMetrics());
// 	}
// 
// 	/**
// 	 * px转dp
// 	 * 
// 	 * @param context
// 	 * @param pxVal
// 	 * @return
// 	 */
// 	public static float px2dp(Context context, float pxVal)
// 	{
// 		final float scale = context.getResources().getDisplayMetrics().density;
// 		return (pxVal / scale);
// 	}
// 
// 	/**
// 	 * px转sp
// 	 * 
// 	 * @param context
// 	 * @param pxVal
// 	 * @return
// 	 */
// 	public static float px2sp(Context context, float pxVal)
// 	{
// 		return (pxVal / context.getResources().getDisplayMetrics().scaledDensity);
// 	}
// 
// }


// Path: app/src/main/java/com/xd/demi/view/ShopCarLayout.java
import android.app.Activity;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Animation;
import android.view.animation.AnimationSet;
import android.view.animation.RotateAnimation;
import android.view.animation.ScaleAnimation;
import android.view.animation.TranslateAnimation;
import android.widget.FrameLayout;
import com.xd.demi.utils.DensityUtils;
import de.hdodenhof.circleimageview.CircleImageView;

        if(!isClean){
            setAnim(drawable,start_location,finish_view);
        }else{
            try{
                removeAllViews();
                isClean = false;
                setAnim(drawable,start_location,finish_view);
            }catch(Exception e){
                e.printStackTrace();
            }
            finally{
                isClean = true;
            }
        }
    }
    /**
     * @deprecated 将要执行动画的view 添加到动画层
     * @param vg
     *        动画运行的层 这里是frameLayout
     * @param view
     *        要运行动画的View
     * @param location
     *        动画的起始位置
     * @return
     */
    private View addViewToAnimLayout(ViewGroup vg, View view, int[] location){
        int x = location[0];
        int y = location[1];
        vg.addView(view);
        LayoutParams lp = new LayoutParams(
                DensityUtils.dp2px(context,30), DensityUtils.dp2px(context,30));