Clean ups

This commit is contained in:
Karim Abou Zeid 2015-12-24 22:54:27 +01:00
commit af4987b679
3 changed files with 42 additions and 42 deletions

View file

@ -62,6 +62,7 @@ import com.kabouzeid.gramophone.util.Util;
import com.kabouzeid.gramophone.util.ViewUtil; import com.kabouzeid.gramophone.util.ViewUtil;
import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.ImageLoader;
import com.sothree.slidinguppanel.SlidingUpPanelLayout;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
@ -260,8 +261,8 @@ public class MainActivity extends AbsSlidingMusicPanelActivity
@Override @Override
public void onClick(View v) { public void onClick(View v) {
drawerLayout.closeDrawers(); drawerLayout.closeDrawers();
if (isPanelCollapsed()) { if (getPanelState() == SlidingUpPanelLayout.PanelState.COLLAPSED) {
toggleSlidingPanel(); expandPanel();
} }
} }
}); });

View file

@ -9,6 +9,7 @@ import android.support.annotation.FloatRange;
import android.support.annotation.LayoutRes; import android.support.annotation.LayoutRes;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.view.ViewTreeObserver;
import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.helper.MusicPlayerRemote; import com.kabouzeid.gramophone.helper.MusicPlayerRemote;
@ -47,29 +48,32 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
playerFragment = (AbsPlayerFragment) getSupportFragmentManager().findFragmentById(R.id.player_fragment); playerFragment = (AbsPlayerFragment) getSupportFragmentManager().findFragmentById(R.id.player_fragment);
miniPlayerFragment = (MiniPlayerFragment) getSupportFragmentManager().findFragmentById(R.id.mini_player_fragment); miniPlayerFragment = (MiniPlayerFragment) getSupportFragmentManager().findFragmentById(R.id.mini_player_fragment);
if (miniPlayerFragment.getView() != null) { //noinspection ConstantConditions
miniPlayerFragment.getView().setOnClickListener(new View.OnClickListener() { miniPlayerFragment.getView().setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
toggleSlidingPanel(); expandPanel();
} }
}); });
}
slidingUpPanelLayout.setPanelSlideListener(this); slidingUpPanelLayout.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
playerFragment.onHide();
slidingUpPanelLayout.post(new Runnable() {
@Override @Override
public void run() { public void onGlobalLayout() {
if (!isPanelCollapsed()) { slidingUpPanelLayout.getViewTreeObserver().removeOnGlobalLayoutListener(this);
if (getPanelState() == SlidingUpPanelLayout.PanelState.EXPANDED) {
onPanelSlide(slidingUpPanelLayout, 1); onPanelSlide(slidingUpPanelLayout, 1);
onPanelExpanded(slidingUpPanelLayout); onPanelExpanded(slidingUpPanelLayout);
} else if (isPanelCollapsed()) { } else if (getPanelState() == SlidingUpPanelLayout.PanelState.COLLAPSED) {
onPanelCollapsed(slidingUpPanelLayout); onPanelCollapsed(slidingUpPanelLayout);
} }
} }
}); });
slidingUpPanelLayout.setPanelSlideListener(this);
hideBottomBar(MusicPlayerRemote.getPlayingQueue().isEmpty());
playerFragment.onHide();
} }
public void setAntiDragView(View antiDragView) { public void setAntiDragView(View antiDragView) {
@ -136,31 +140,26 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
miniPlayerFragment.getView().setVisibility(alpha == 0 ? View.GONE : View.VISIBLE); miniPlayerFragment.getView().setVisibility(alpha == 0 ? View.GONE : View.VISIBLE);
} }
public void toggleSlidingPanel() {
if (isPanelCollapsed()) { public SlidingUpPanelLayout.PanelState getPanelState() {
slidingUpPanelLayout.setPanelState(SlidingUpPanelLayout.PanelState.EXPANDED); return slidingUpPanelLayout == null ? null : slidingUpPanelLayout.getPanelState();
} else {
slidingUpPanelLayout.setPanelState(SlidingUpPanelLayout.PanelState.COLLAPSED);
}
} }
public boolean isPanelCollapsed() { public void collapsePanel() {
return slidingUpPanelLayout == null || slidingUpPanelLayout.getPanelState() == SlidingUpPanelLayout.PanelState.COLLAPSED; slidingUpPanelLayout.setPanelState(SlidingUpPanelLayout.PanelState.COLLAPSED);
}
public void expandPanel() {
slidingUpPanelLayout.setPanelState(SlidingUpPanelLayout.PanelState.EXPANDED);
} }
public void hideBottomBar(final boolean hide) { public void hideBottomBar(final boolean hide) {
slidingUpPanelLayout.post(new Runnable() {
@Override
public void run() {
if (hide) { if (hide) {
slidingUpPanelLayout.setPanelHeight(0); slidingUpPanelLayout.setPanelState(SlidingUpPanelLayout.PanelState.HIDDEN);
slidingUpPanelLayout.setPanelState(SlidingUpPanelLayout.PanelState.COLLAPSED); } else if (getPanelState() == SlidingUpPanelLayout.PanelState.HIDDEN) {
} else { collapsePanel();
slidingUpPanelLayout.setPanelHeight(getResources().getDimensionPixelSize(R.dimen.mini_player_height));
} }
} }
});
}
protected View wrapSlidingMusicPanel(@LayoutRes int resId) { protected View wrapSlidingMusicPanel(@LayoutRes int resId) {
@SuppressLint("InflateParams") @SuppressLint("InflateParams")
@ -173,8 +172,8 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
@Override @Override
public void onBackPressed() { public void onBackPressed() {
if (playerFragment.onBackPressed()) return; if (playerFragment.onBackPressed()) return;
if (!isPanelCollapsed()) { if (getPanelState() == SlidingUpPanelLayout.PanelState.EXPANDED) {
slidingUpPanelLayout.setPanelState(SlidingUpPanelLayout.PanelState.COLLAPSED); collapsePanel();
return; return;
} }
super.onBackPressed(); super.onBackPressed();
@ -183,7 +182,7 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
@Override @Override
protected void setNavigationBarColor(@ColorInt int color) { protected void setNavigationBarColor(@ColorInt int color) {
this.navigationBarColor = color; this.navigationBarColor = color;
if (isPanelCollapsed()) { if (getPanelState() == SlidingUpPanelLayout.PanelState.COLLAPSED) {
super.setNavigationBarColor(color); super.setNavigationBarColor(color);
} }
} }
@ -191,14 +190,14 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
@Override @Override
protected void notifyTaskColorChange(@ColorInt int color) { protected void notifyTaskColorChange(@ColorInt int color) {
this.taskColor = color; this.taskColor = color;
if (isPanelCollapsed()) { if (getPanelState() == null || getPanelState() == SlidingUpPanelLayout.PanelState.COLLAPSED) {
super.notifyTaskColorChange(color); super.notifyTaskColorChange(color);
} }
} }
@Override @Override
public void onPaletteColorChanged() { public void onPaletteColorChanged() {
if (!isPanelCollapsed()) { if (getPanelState() == SlidingUpPanelLayout.PanelState.COLLAPSED) {
int playerFragmentColor = playerFragment.getPaletteColor(); int playerFragmentColor = playerFragment.getPaletteColor();
super.notifyTaskColorChange(playerFragmentColor); super.notifyTaskColorChange(playerFragmentColor);
if (shouldColorNavigationBar()) { if (shouldColorNavigationBar()) {

View file

@ -246,7 +246,7 @@ public class PlayerFragment extends AbsPlayerFragment implements PlayerAlbumCove
@Override @Override
public boolean onBackPressed() { public boolean onBackPressed() {
if (slidingUpPanelLayout.getPanelState() != SlidingUpPanelLayout.PanelState.COLLAPSED) { if (slidingUpPanelLayout.getPanelState() == SlidingUpPanelLayout.PanelState.EXPANDED) {
slidingUpPanelLayout.setPanelState(SlidingUpPanelLayout.PanelState.COLLAPSED); slidingUpPanelLayout.setPanelState(SlidingUpPanelLayout.PanelState.COLLAPSED);
return true; return true;
} }