package com.sdsmdg.harjot.MusicDNA.visualizers; /** * Created by Harjot on 01-May-16. */ import android.content.Context; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.PorterDuff; import android.graphics.PorterDuffXfermode; import android.util.AttributeSet; import android.view.View; import com.sdsmdg.harjot.MusicDNA.activities.HomeActivity; import com.sdsmdg.harjot.MusicDNA.fragments.PlayerFragment.PlayerFragment; public class VisualizerView extends View { public static Paint mForePaint = new Paint(); public static Paint mForePaint1 = new Paint(); public static float width, height, angle, color, lnDataDistance, distance, size, volume, power, outerRadius, alpha; public static float normalizedPosition; public static double LOG_MAX = Math.log(64); public static double TAU = Math.PI * 2; public static double MAX_DOT_SIZE = 0.5; public static double BASE = Math.log(4) / LOG_MAX; public static int w; public static int h; public static Bitmap.Config conf; public static Bitmap bmp; public VisualizerView(Context context) { super(context); init(); } public VisualizerView(Context context, AttributeSet attrs) { super(context, attrs); init(); } public VisualizerView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); init(); } private void init() { mForePaint.setStrokeWidth(1f); mForePaint.setAntiAlias(true); mForePaint.setColor(Color.rgb(0, 128, 255)); mForePaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_OVER)); mForePaint1.setStrokeWidth(1f); mForePaint1.setAntiAlias(true); mForePaint1.setColor(Color.rgb(255, 128, 0)); } public void updateVisualizer(byte[] bytes) { invalidate(); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); width = canvas.getWidth(); height = canvas.getHeight(); // Redraw previous points if (HomeActivity.isPlayerVisible) { if (PlayerFragment.mVisualizerView != null && (PlayerFragment.mVisualizerView.getVisibility() == View.VISIBLE)) { if (bmp != null) canvas.drawBitmap(bmp, 0, 0, null); } } } }