Palette color passed to song tag editor where applicable

This commit is contained in:
Aidan Follestad 2015-04-16 22:28:25 -05:00
commit 774d1f7076
6 changed files with 43 additions and 5 deletions

View file

@ -11,6 +11,7 @@ import com.kabouzeid.gramophone.dialogs.DeletePlaylistDialog;
import com.kabouzeid.gramophone.dialogs.DeleteSongsDialog; import com.kabouzeid.gramophone.dialogs.DeleteSongsDialog;
import com.kabouzeid.gramophone.dialogs.RenamePlaylistDialog; import com.kabouzeid.gramophone.dialogs.RenamePlaylistDialog;
import com.kabouzeid.gramophone.dialogs.SongDetailDialog; import com.kabouzeid.gramophone.dialogs.SongDetailDialog;
import com.kabouzeid.gramophone.interfaces.PaletteColorHolder;
import com.kabouzeid.gramophone.loader.SongFilePathLoader; import com.kabouzeid.gramophone.loader.SongFilePathLoader;
import com.kabouzeid.gramophone.misc.AppKeys; import com.kabouzeid.gramophone.misc.AppKeys;
import com.kabouzeid.gramophone.model.Playlist; import com.kabouzeid.gramophone.model.Playlist;
@ -43,6 +44,8 @@ public class MenuItemClickHelper {
case R.id.action_tag_editor: case R.id.action_tag_editor:
Intent intent = new Intent(activity, SongTagEditorActivity.class); Intent intent = new Intent(activity, SongTagEditorActivity.class);
intent.putExtra(AppKeys.E_ID, song.id); intent.putExtra(AppKeys.E_ID, song.id);
if (activity instanceof PaletteColorHolder)
intent.putExtra(AppKeys.E_PALETTE, ((PaletteColorHolder) activity).getPaletteColor());
activity.startActivity(intent); activity.startActivity(intent);
return true; return true;
case R.id.action_details: case R.id.action_details:

View file

@ -0,0 +1,9 @@
package com.kabouzeid.gramophone.interfaces;
/**
* @author Aidan Follestad (afollestad)
*/
public interface PaletteColorHolder {
int getPaletteColor();
}

View file

@ -13,12 +13,13 @@ public final class AppKeys {
public static final String IS_ORIGINAL_PLAYING_QUEUE = "com.kabouzeid.gramophone.ORIGINAL_PLAYING_QUEUE"; public static final String IS_ORIGINAL_PLAYING_QUEUE = "com.kabouzeid.gramophone.ORIGINAL_PLAYING_QUEUE";
public static final String IS_PLAYING_QUEUE = "com.kabouzeid.gramophone.PLAYING_QUEUE"; public static final String IS_PLAYING_QUEUE = "com.kabouzeid.gramophone.PLAYING_QUEUE";
public static final String IS_POSITION_IN_QUEUE = "com.kabouzeid.gramophone.POSITION_IN_QUEUE"; public static final String IS_POSITION_IN_QUEUE = "com.kabouzeid.gramophone.POSITION_IN_QUEUE";
public static final String IS_ARTIST_JSON_INFO_CACHE = "com.kabouzeid.gramophone.ARTIST_JSON_INFO_CACHE"; // public static final String IS_ARTIST_JSON_INFO_CACHE = "com.kabouzeid.gramophone.ARTIST_JSON_INFO_CACHE";
public static final String E_ALBUM = "com.kabouzeid.gramophone.ALBUM"; public static final String E_ALBUM = "com.kabouzeid.gramophone.ALBUM";
public static final String E_ARTIST = "com.kabouzeid.gramophone.ARTIST"; public static final String E_ARTIST = "com.kabouzeid.gramophone.ARTIST";
public static final String E_SONG = "com.kabouzeid.gramophone.SONG"; // public static final String E_SONG = "com.kabouzeid.gramophone.SONG";
public static final String E_PLAYLIST = "com.kabouzeid.gramophone.PLAYLIST"; public static final String E_PLAYLIST = "com.kabouzeid.gramophone.PLAYLIST";
public static final String E_TAG_EDIT_MODE = "com.kabouzeid.gramophone.TAG_EDIT_MODE"; // public static final String E_TAG_EDIT_MODE = "com.kabouzeid.gramophone.TAG_EDIT_MODE";
public static final String E_ID = "com.kabouzeid.gramophone.ID"; public static final String E_ID = "com.kabouzeid.gramophone.ID";
public static final String E_PALETTE = "com.kabouzeid.gramophone.PALETTE";
} }

View file

@ -23,6 +23,7 @@ import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.adapter.songadapter.AlbumSongAdapter; import com.kabouzeid.gramophone.adapter.songadapter.AlbumSongAdapter;
import com.kabouzeid.gramophone.comparator.SongTrackNumberComparator; import com.kabouzeid.gramophone.comparator.SongTrackNumberComparator;
import com.kabouzeid.gramophone.helper.MusicPlayerRemote; import com.kabouzeid.gramophone.helper.MusicPlayerRemote;
import com.kabouzeid.gramophone.interfaces.PaletteColorHolder;
import com.kabouzeid.gramophone.loader.AlbumLoader; import com.kabouzeid.gramophone.loader.AlbumLoader;
import com.kabouzeid.gramophone.loader.AlbumSongLoader; import com.kabouzeid.gramophone.loader.AlbumSongLoader;
import com.kabouzeid.gramophone.misc.AppKeys; import com.kabouzeid.gramophone.misc.AppKeys;
@ -49,7 +50,7 @@ import java.util.ArrayList;
* <p/> * <p/>
* Should be kinda stable ONLY AS IT IS!!! * Should be kinda stable ONLY AS IT IS!!!
*/ */
public class AlbumDetailActivity extends AbsFabActivity { public class AlbumDetailActivity extends AbsFabActivity implements PaletteColorHolder {
public static final String TAG = AlbumDetailActivity.class.getSimpleName(); public static final String TAG = AlbumDetailActivity.class.getSimpleName();
private Album album; private Album album;
@ -209,6 +210,11 @@ public class AlbumDetailActivity extends AbsFabActivity {
}); });
} }
@Override
public int getPaletteColor() {
return toolbarColor;
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP) @TargetApi(Build.VERSION_CODES.LOLLIPOP)
private void setNavigationBarColored(boolean colored) { private void setNavigationBarColored(boolean colored) {
if (colored) { if (colored) {

View file

@ -29,6 +29,7 @@ import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.adapter.ArtistAlbumAdapter; import com.kabouzeid.gramophone.adapter.ArtistAlbumAdapter;
import com.kabouzeid.gramophone.adapter.songadapter.ArtistSongAdapter; import com.kabouzeid.gramophone.adapter.songadapter.ArtistSongAdapter;
import com.kabouzeid.gramophone.helper.MusicPlayerRemote; import com.kabouzeid.gramophone.helper.MusicPlayerRemote;
import com.kabouzeid.gramophone.interfaces.PaletteColorHolder;
import com.kabouzeid.gramophone.lastfm.artist.LastFMArtistBiographyLoader; import com.kabouzeid.gramophone.lastfm.artist.LastFMArtistBiographyLoader;
import com.kabouzeid.gramophone.lastfm.artist.LastFMArtistImageUrlLoader; import com.kabouzeid.gramophone.lastfm.artist.LastFMArtistImageUrlLoader;
import com.kabouzeid.gramophone.loader.ArtistAlbumLoader; import com.kabouzeid.gramophone.loader.ArtistAlbumLoader;
@ -58,7 +59,7 @@ import java.util.List;
* <p/> * <p/>
* Should be kinda stable ONLY AS IT IS!!! * Should be kinda stable ONLY AS IT IS!!!
*/ */
public class ArtistDetailActivity extends AbsFabActivity { public class ArtistDetailActivity extends AbsFabActivity implements PaletteColorHolder {
public static final String TAG = ArtistDetailActivity.class.getSimpleName(); public static final String TAG = ArtistDetailActivity.class.getSimpleName();
private Artist artist; private Artist artist;
@ -303,6 +304,11 @@ public class ArtistDetailActivity extends AbsFabActivity {
}); });
} }
@Override
public int getPaletteColor() {
return toolbarColor;
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP) @TargetApi(Build.VERSION_CODES.LOLLIPOP)
private void resetColors() { private void resetColors() {
int titleTextColor = DialogUtils.resolveColor(this, R.attr.title_text_color); int titleTextColor = DialogUtils.resolveColor(this, R.attr.title_text_color);

View file

@ -1,5 +1,6 @@
package com.kabouzeid.gramophone.ui.activities.tageditor; package com.kabouzeid.gramophone.ui.activities.tageditor;
import android.annotation.TargetApi;
import android.app.SearchManager; import android.app.SearchManager;
import android.content.Intent; import android.content.Intent;
import android.graphics.Bitmap; import android.graphics.Bitmap;
@ -27,6 +28,7 @@ import com.kabouzeid.gramophone.misc.SmallObservableScrollViewCallbacks;
import com.kabouzeid.gramophone.model.DataBaseChangedEvent; import com.kabouzeid.gramophone.model.DataBaseChangedEvent;
import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity; import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity;
import com.kabouzeid.gramophone.util.MusicUtil; import com.kabouzeid.gramophone.util.MusicUtil;
import com.kabouzeid.gramophone.util.PreferenceUtils;
import com.kabouzeid.gramophone.util.Util; import com.kabouzeid.gramophone.util.Util;
import com.kabouzeid.gramophone.util.ViewUtil; import com.kabouzeid.gramophone.util.ViewUtil;
import com.koushikdutta.ion.Ion; import com.koushikdutta.ion.Ion;
@ -240,12 +242,23 @@ public abstract class AbsTagEditorActivity extends AbsBaseActivity {
return super.onOptionsItemSelected(item); return super.onOptionsItemSelected(item);
} }
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
protected void setNoImageMode() { protected void setNoImageMode() {
isInNoImageMode = true; isInNoImageMode = true;
image.setVisibility(View.GONE); image.setVisibility(View.GONE);
image.setEnabled(false); image.setEnabled(false);
scrollView.setPadding(0, Util.getActionBarSize(this), 0, 0); scrollView.setPadding(0, Util.getActionBarSize(this), 0, 0);
observableScrollViewCallbacks.onScrollChanged(scrollView.getCurrentScrollY(), false, false); observableScrollViewCallbacks.onScrollChanged(scrollView.getCurrentScrollY(), false, false);
int primary = getIntent().getIntExtra(AppKeys.E_PALETTE,
PreferenceUtils.getInstance(this).getThemeColorPrimary());
toolBar.setBackgroundColor(primary);
header.setBackgroundColor(primary);
if (Util.hasLollipopSDK()) {
int primaryDark = ColorChooserDialog.shiftColorDown(primary);
getWindow().setStatusBarColor(primaryDark);
getWindow().setNavigationBarColor(primaryDark);
}
} }
protected void dataChanged() { protected void dataChanged() {