package com.architjn.acjmusicplayer.ui.layouts.fragments; import android.animation.ArgbEvaluator; import android.animation.ValueAnimator; import android.content.Context; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.support.v4.content.ContextCompat; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import com.architjn.acjmusicplayer.R; import com.architjn.acjmusicplayer.ui.widget.slidinguppanel.SlidingUpPanelLayout; /** * Created by architjn on 06/01/16. */ public class UpNextFragment extends Fragment { private int colorLight; private View mainView; private Context context; private ImageView backButton; private SlidingUpPanelLayout slidingUpPanelLayout; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { mainView = inflater.inflate(R.layout.fragment_now_playing, container, false); context = mainView.getContext(); mainView.setBackgroundColor(colorLight); init(); changeColorBackToWhite(); setFunctioning(); return mainView; } private void init() { backButton = (ImageView) mainView.findViewById(R.id.player_back_button); } private void setFunctioning() { slidingUpPanelLayout.setPanelSlideListener(new SlidingUpPanelLayout.PanelSlideListener() { @Override public void onPanelSlide(View panel, float slideOffset) { if (slideOffset == 1 && isVisible()) getActivity().getWindow().setStatusBarColor(0x47000000); else if (isVisible()) { getBackToLastFragment(); } } @Override public void onPanelCollapsed(View panel) { } @Override public void onPanelExpanded(View panel) { } @Override public void onPanelAnchored(View panel) { } @Override public void onPanelHidden(View panel) { } }); backButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { getBackToLastFragment(); } }); } private void getBackToLastFragment() { PlayerFragment fragment = new PlayerFragment(); fragment.setSlidingUpPanelLayout(slidingUpPanelLayout); fragment.setUpNextFragment(this); getActivity().getSupportFragmentManager() .beginTransaction().setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out) .replace(R.id.panel_holder, fragment) .commit(); fragment.setMiniPlayerAlpha(0); slidingUpPanelLayout.setPanelSlideListener(null); } private void changeColorBackToWhite() { ValueAnimator animator = ValueAnimator.ofObject(new ArgbEvaluator(), colorLight, ContextCompat.getColor(context, R.color.appBackground)); animator.setDuration(500); animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator valueAnimator) { mainView.setBackgroundColor((Integer) valueAnimator.getAnimatedValue()); } }); animator.start(); } public void onBackPressed() { if (isVisible()) getBackToLastFragment(); } public void setColorLight(int colorLight) { this.colorLight = colorLight; } public void setSlidingUpPanelLayout(SlidingUpPanelLayout slidingUpPanelLayout) { this.slidingUpPanelLayout = slidingUpPanelLayout; } }