summaryrefslogtreecommitdiffstats
path: root/src/com/cyanogenmod/eleven/ui
diff options
context:
space:
mode:
authorUtkarsh Gupta <utkarsh.eminem@gmail.com>2015-07-07 14:17:12 +0530
committerUtkarsh Gupta <utkarsh.eminem@gmail.com>2015-07-07 14:20:30 +0530
commit7441c5d47497d62a90f7c09597a8363516a74c07 (patch)
treee15507a918a064ce5972dac49dd44858d5ce8333 /src/com/cyanogenmod/eleven/ui
parent3acc66196b8aa68bbb33890975806ad8a11dc16a (diff)
downloadandroid_packages_apps_Eleven-7441c5d47497d62a90f7c09597a8363516a74c07.tar.gz
android_packages_apps_Eleven-7441c5d47497d62a90f7c09597a8363516a74c07.tar.bz2
android_packages_apps_Eleven-7441c5d47497d62a90f7c09597a8363516a74c07.zip
Dynamically generate visualizer color
* Set visualizer color along with status bar * Fix visualizer not showing up after window focus lost * Cache visualizer parameters Change-Id: I915e91f485b6e8b8600dad8d9ce304089ba53003 Signed-off-by: Utkarsh Gupta <utkarsh.eminem@gmail.com>
Diffstat (limited to 'src/com/cyanogenmod/eleven/ui')
-rw-r--r--src/com/cyanogenmod/eleven/ui/activities/HomeActivity.java36
-rw-r--r--src/com/cyanogenmod/eleven/ui/fragments/AudioPlayerFragment.java26
2 files changed, 36 insertions, 26 deletions
diff --git a/src/com/cyanogenmod/eleven/ui/activities/HomeActivity.java b/src/com/cyanogenmod/eleven/ui/activities/HomeActivity.java
index 406018e..775fe55 100644
--- a/src/com/cyanogenmod/eleven/ui/activities/HomeActivity.java
+++ b/src/com/cyanogenmod/eleven/ui/activities/HomeActivity.java
@@ -180,31 +180,49 @@ public class HomeActivity extends SlidingPanelActivity implements
}
}
+ @Override
+ public void onWindowFocusChanged(boolean hasFocus) {
+ getAudioPlayerFragment().onWindowFocusChanged(hasFocus
+ && (getCurrentPanel() == Panel.MusicPlayer));
+
+ super.onWindowFocusChanged(hasFocus);
+ }
+
private void updateStatusBarColor() {
if (mBrowsePanelActive || MusicUtils.getCurrentAlbumId() < 0) {
- updateStatusBarColor(getResources().getColor(R.color.primary_dark));
+ updateStatusBarColor(Color.TRANSPARENT);
} else {
- new AsyncTask<Void, Void, Integer>() {
+ new AsyncTask<Void, Void, BitmapWithColors>() {
@Override
- protected Integer doInBackground(Void... params) {
+ protected BitmapWithColors doInBackground(Void... params) {
ImageFetcher imageFetcher = ImageFetcher.getInstance(HomeActivity.this);
final BitmapWithColors bitmap = imageFetcher.getArtwork(
MusicUtils.getAlbumName(), MusicUtils.getCurrentAlbumId(),
MusicUtils.getArtistName(), true);
- return bitmap != null ? bitmap.getVibrantDarkColor() : Color.TRANSPARENT;
+ return bitmap;
}
@Override
- protected void onPostExecute(Integer color) {
- if (color == Color.TRANSPARENT) {
- color = getResources().getColor(R.color.primary_dark);
- }
- updateStatusBarColor(color);
+ protected void onPostExecute(BitmapWithColors bmc) {
+ updateEqualizerColor(bmc != null
+ ? bmc.getVibrantColor() : Color.TRANSPARENT);
+ updateStatusBarColor(bmc != null
+ ? bmc.getVibrantDarkColor() : Color.TRANSPARENT);
}
}.execute();
}
}
+ private void updateEqualizerColor(int color) {
+ if (color == Color.TRANSPARENT) {
+ color = getResources().getColor(R.color.equalizer_fill_color);
+ }
+ getAudioPlayerFragment().updateVisualizerColor(color);
+ }
+
private void updateStatusBarColor(int color) {
+ if (color == Color.TRANSPARENT) {
+ color = getResources().getColor(R.color.primary_dark);
+ }
final Window window = getWindow();
ObjectAnimator animator = ObjectAnimator.ofInt(window,
"statusBarColor", window.getStatusBarColor(), color);
diff --git a/src/com/cyanogenmod/eleven/ui/fragments/AudioPlayerFragment.java b/src/com/cyanogenmod/eleven/ui/fragments/AudioPlayerFragment.java
index 2e102d4..3b87698 100644
--- a/src/com/cyanogenmod/eleven/ui/fragments/AudioPlayerFragment.java
+++ b/src/com/cyanogenmod/eleven/ui/fragments/AudioPlayerFragment.java
@@ -180,9 +180,6 @@ public class AudioPlayerFragment extends Fragment implements ServiceConnection,
// add a listener for the sliding
((SlidingPanelActivity)getActivity()).addSlidingPanelListener(this);
-
- // check equalizer view
- checkEqualizerView();
}
/**
@@ -251,8 +248,6 @@ public class AudioPlayerFragment extends Fragment implements ServiceConnection,
// resumes the update callback for the play pause progress button
mPlayPauseProgressButton.resume();
-
- mEqualizerView.onStart();
}
@Override
@@ -263,8 +258,6 @@ public class AudioPlayerFragment extends Fragment implements ServiceConnection,
mPlayPauseProgressButton.pause();
mImageFetcher.flush();
-
- mEqualizerView.onStop();
}
@Override
@@ -483,17 +476,17 @@ public class AudioPlayerFragment extends Fragment implements ServiceConnection,
mAlbumArtViewPager.setVisibility(View.GONE);
mQueueEmpty.showNoResults();
mEqualizerGradient.setVisibility(View.GONE);
- mEqualizerView.checkStateChanged();
mAddToPlaylistButton.setVisibility(View.GONE);
} else {
mAlbumArtViewPager.setVisibility(View.VISIBLE);
mQueueEmpty.hideAll();
if (PreferenceUtils.getInstance(getActivity()).getShowVisualizer()) {
mEqualizerGradient.setVisibility(View.VISIBLE);
+ mEqualizerView.setEnabled(true);
} else {
mEqualizerGradient.setVisibility(View.GONE);
+ mEqualizerView.setEnabled(false);
}
- mEqualizerView.checkStateChanged();
mAddToPlaylistButton.setVisibility(View.VISIBLE);
}
}
@@ -744,22 +737,20 @@ public class AudioPlayerFragment extends Fragment implements ServiceConnection,
@Override
public void onBeginSlide() {
- mEqualizerView.setPanelVisible(false);
+ mEqualizerView.setVisible(false);
}
@Override
public void onFinishSlide(SlidingPanelActivity.Panel visiblePanel) {
- checkEqualizerView(visiblePanel);
+ mEqualizerView.setVisible(visiblePanel == SlidingPanelActivity.Panel.MusicPlayer);
}
- private void checkEqualizerView() {
- checkEqualizerView(((HomeActivity)getActivity()).getCurrentPanel());
+ public void onWindowFocusChanged(boolean hasFocus) {
+ mEqualizerView.setVisible(hasFocus);
}
- private void checkEqualizerView(SlidingPanelActivity.Panel visiblePanel) {
- if (visiblePanel == SlidingPanelActivity.Panel.MusicPlayer) {
- mEqualizerView.setPanelVisible(true);
- }
+ public void updateVisualizerColor(int color) {
+ mEqualizerView.setColor(color);
}
/**
@@ -820,6 +811,7 @@ public class AudioPlayerFragment extends Fragment implements ServiceConnection,
audioPlayerFragment.updateNowPlayingInfo();
audioPlayerFragment.dismissPopupMenu();
} else if (action.equals(MusicPlaybackService.PLAYSTATE_CHANGED)) {
+ audioPlayerFragment.mEqualizerView.setPlaying(MusicUtils.isPlaying());
// Set the play and pause image
audioPlayerFragment.mPlayPauseProgressButton.getPlayPauseButton().updateState();
} else if (action.equals(MusicPlaybackService.REPEATMODE_CHANGED)