Cleaned up the Util classes

This commit is contained in:
Karim Abou Zeid 2015-07-11 02:08:54 +02:00
commit 88d4dd8e80
37 changed files with 214 additions and 417 deletions

View file

@ -32,10 +32,10 @@ import com.kabouzeid.gramophone.model.DataBaseChangedEvent;
import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.model.Song;
import com.kabouzeid.gramophone.model.UIPreferenceChangedEvent; import com.kabouzeid.gramophone.model.UIPreferenceChangedEvent;
import com.kabouzeid.gramophone.ui.activities.base.AbsFabActivity; import com.kabouzeid.gramophone.ui.activities.base.AbsFabActivity;
import com.kabouzeid.gramophone.util.ColorUtil;
import com.kabouzeid.gramophone.util.MusicUtil; import com.kabouzeid.gramophone.util.MusicUtil;
import com.kabouzeid.gramophone.util.NavigationUtil; import com.kabouzeid.gramophone.util.NavigationUtil;
import com.kabouzeid.gramophone.util.PreferenceUtils; import com.kabouzeid.gramophone.util.PreferenceUtil;
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;
@ -203,7 +203,7 @@ public class AlbumAdapter extends AbsMultiSelectAdapter<AlbumAdapter.ViewHolder,
public AlbumAdapter(@NonNull AppCompatActivity activity, @Nullable CabHolder cabHolder) { public AlbumAdapter(@NonNull AppCompatActivity activity, @Nullable CabHolder cabHolder) {
super(activity, cabHolder, R.menu.menu_media_selection); super(activity, cabHolder, R.menu.menu_media_selection);
this.activity = activity; this.activity = activity;
usePalette = PreferenceUtils.getInstance(activity).coloredAlbumFooters(); usePalette = PreferenceUtil.getInstance(activity).coloredAlbumFooters();
loadDataSet(); loadDataSet();
setHasStableIds(true); setHasStableIds(true);
} }
@ -226,8 +226,8 @@ public class AlbumAdapter extends AbsMultiSelectAdapter<AlbumAdapter.ViewHolder,
public void onGenerated(@NonNull Palette palette) { public void onGenerated(@NonNull Palette palette) {
final Palette.Swatch vibrantSwatch = palette.getVibrantSwatch(); final Palette.Swatch vibrantSwatch = palette.getVibrantSwatch();
if (vibrantSwatch != null) { if (vibrantSwatch != null) {
title.setTextColor(Util.getOpaqueColor(vibrantSwatch.getTitleTextColor())); title.setTextColor(ColorUtil.getOpaqueColor(vibrantSwatch.getTitleTextColor()));
artist.setTextColor(Util.getOpaqueColor(vibrantSwatch.getTitleTextColor())); artist.setTextColor(ColorUtil.getOpaqueColor(vibrantSwatch.getTitleTextColor()));
ViewUtil.animateViewColor(footer, footer.getDrawingCacheBackgroundColor(), vibrantSwatch.getRgb()); ViewUtil.animateViewColor(footer, footer.getDrawingCacheBackgroundColor(), vibrantSwatch.getRgb());
} else { } else {
paletteBlackAndWhite(title, artist, footer); paletteBlackAndWhite(title, artist, footer);
@ -240,8 +240,8 @@ public class AlbumAdapter extends AbsMultiSelectAdapter<AlbumAdapter.ViewHolder,
} }
private void paletteBlackAndWhite(@NonNull final TextView title, @NonNull final TextView artist, final View footer) { private void paletteBlackAndWhite(@NonNull final TextView title, @NonNull final TextView artist, final View footer) {
title.setTextColor(Util.getOpaqueColor(DialogUtils.resolveColor(activity, R.attr.title_text_color))); title.setTextColor(ColorUtil.getOpaqueColor(DialogUtils.resolveColor(activity, R.attr.title_text_color)));
artist.setTextColor(Util.getOpaqueColor(DialogUtils.resolveColor(activity, R.attr.caption_text_color))); artist.setTextColor(ColorUtil.getOpaqueColor(DialogUtils.resolveColor(activity, R.attr.caption_text_color)));
int defaultBarColor = DialogUtils.resolveColor(activity, R.attr.default_bar_color); int defaultBarColor = DialogUtils.resolveColor(activity, R.attr.default_bar_color);
ViewUtil.animateViewColor(footer, defaultBarColor, defaultBarColor); ViewUtil.animateViewColor(footer, defaultBarColor, defaultBarColor);
} }

View file

@ -20,7 +20,7 @@ import com.afollestad.materialdialogs.MaterialDialog;
import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.service.MusicService; import com.kabouzeid.gramophone.service.MusicService;
import com.kabouzeid.gramophone.util.MusicUtil; import com.kabouzeid.gramophone.util.MusicUtil;
import com.kabouzeid.gramophone.util.PreferenceUtils; import com.kabouzeid.gramophone.util.PreferenceUtil;
import com.triggertrap.seekarc.SeekArc; import com.triggertrap.seekarc.SeekArc;
import butterknife.ButterKnife; import butterknife.ButterKnife;
@ -59,12 +59,12 @@ public class SleepTimerDialog extends DialogFragment {
return; return;
} }
final int min = seekArcProgress; final int min = seekArcProgress;
PreferenceUtils.getInstance(getActivity()).setLastSleepTimerValue(min); PreferenceUtil.getInstance(getActivity()).setLastSleepTimerValue(min);
PendingIntent pi = makeTimerPendingIntent(PendingIntent.FLAG_CANCEL_CURRENT); PendingIntent pi = makeTimerPendingIntent(PendingIntent.FLAG_CANCEL_CURRENT);
final long nextSleepTimerElapsedTime = SystemClock.elapsedRealtime() + min * 60 * 1000; final long nextSleepTimerElapsedTime = SystemClock.elapsedRealtime() + min * 60 * 1000;
PreferenceUtils.getInstance(getActivity()).setNextSleepTimerElapsedRealtime(nextSleepTimerElapsedTime); PreferenceUtil.getInstance(getActivity()).setNextSleepTimerElapsedRealtime(nextSleepTimerElapsedTime);
AlarmManager am = (AlarmManager) getActivity().getSystemService(Context.ALARM_SERVICE); AlarmManager am = (AlarmManager) getActivity().getSystemService(Context.ALARM_SERVICE);
am.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, nextSleepTimerElapsedTime, pi); am.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, nextSleepTimerElapsedTime, pi);
@ -115,7 +115,7 @@ public class SleepTimerDialog extends DialogFragment {
} }
}); });
seekArcProgress = PreferenceUtils.getInstance(getActivity()).getLastSleepTimerValue(); seekArcProgress = PreferenceUtil.getInstance(getActivity()).getLastSleepTimerValue();
updateTimeDisplayTime(); updateTimeDisplayTime();
seekArc.setProgress(seekArcProgress); seekArc.setProgress(seekArcProgress);
@ -159,7 +159,7 @@ public class SleepTimerDialog extends DialogFragment {
private class TimerUpdater extends CountDownTimer { private class TimerUpdater extends CountDownTimer {
public TimerUpdater() { public TimerUpdater() {
super(PreferenceUtils.getInstance(getActivity()).getNextSleepTimerElapsedRealTime() - SystemClock.elapsedRealtime(), 1000); super(PreferenceUtil.getInstance(getActivity()).getNextSleepTimerElapsedRealTime() - SystemClock.elapsedRealtime(), 1000);
} }
@Override @Override

View file

@ -15,7 +15,6 @@ import android.widget.TextView;
import com.afollestad.materialdialogs.MaterialDialog; import com.afollestad.materialdialogs.MaterialDialog;
import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.util.MusicUtil; import com.kabouzeid.gramophone.util.MusicUtil;
import com.kabouzeid.gramophone.util.Util;
import org.jaudiotagger.audio.AudioFile; import org.jaudiotagger.audio.AudioFile;
import org.jaudiotagger.audio.AudioFileIO; import org.jaudiotagger.audio.AudioFileIO;
@ -80,7 +79,7 @@ public class SongDetailDialog extends DialogFragment {
fileName.setText(makeTextWithTitle(context, R.string.label_file_name, songFile.getName())); fileName.setText(makeTextWithTitle(context, R.string.label_file_name, songFile.getName()));
filePath.setText(makeTextWithTitle(context, R.string.label_file_path, songFile.getAbsolutePath())); filePath.setText(makeTextWithTitle(context, R.string.label_file_path, songFile.getAbsolutePath()));
fileSize.setText(makeTextWithTitle(context, R.string.label_file_size, Util.getFileSizeString(songFile.length()))); fileSize.setText(makeTextWithTitle(context, R.string.label_file_size, getFileSizeString(songFile.length())));
fileFormat.setText(makeTextWithTitle(context, R.string.label_file_format, audioHeader.getFormat())); fileFormat.setText(makeTextWithTitle(context, R.string.label_file_format, audioHeader.getFormat()));
trackLength.setText(makeTextWithTitle(context, R.string.label_track_length, MusicUtil.getReadableDurationString(audioHeader.getTrackLength() * 1000))); trackLength.setText(makeTextWithTitle(context, R.string.label_track_length, MusicUtil.getReadableDurationString(audioHeader.getTrackLength() * 1000)));
bitRate.setText(makeTextWithTitle(context, R.string.label_bit_rate, audioHeader.getBitRate() + " kb/s")); bitRate.setText(makeTextWithTitle(context, R.string.label_bit_rate, audioHeader.getBitRate() + " kb/s"));
@ -95,4 +94,10 @@ public class SongDetailDialog extends DialogFragment {
private static Spanned makeTextWithTitle(@NonNull Context context, int titleResId, String text) { private static Spanned makeTextWithTitle(@NonNull Context context, int titleResId, String text) {
return Html.fromHtml("<b>" + context.getResources().getString(titleResId) + ": " + "</b>" + text); return Html.fromHtml("<b>" + context.getResources().getString(titleResId) + ": " + "</b>" + text);
} }
private static String getFileSizeString(long sizeInBytes) {
long fileSizeInKB = sizeInBytes / 1024;
long fileSizeInMB = fileSizeInKB / 1024;
return fileSizeInMB + " MB";
}
} }

View file

@ -25,7 +25,7 @@ import com.kabouzeid.gramophone.model.Song;
import com.kabouzeid.gramophone.service.MusicService; import com.kabouzeid.gramophone.service.MusicService;
import com.kabouzeid.gramophone.ui.activities.MainActivity; import com.kabouzeid.gramophone.ui.activities.MainActivity;
import com.kabouzeid.gramophone.util.MusicUtil; import com.kabouzeid.gramophone.util.MusicUtil;
import com.kabouzeid.gramophone.util.PreferenceUtils; import com.kabouzeid.gramophone.util.PreferenceUtil;
import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.assist.FailReason; import com.nostra13.universalimageloader.core.assist.FailReason;
import com.nostra13.universalimageloader.core.assist.ImageSize; import com.nostra13.universalimageloader.core.assist.ImageSize;
@ -89,7 +89,7 @@ public class PlayingNotificationHelper {
}; };
public void updateNotification() { public void updateNotification() {
updateNotification(PreferenceUtils.getInstance(service).coloredNotification()); updateNotification(PreferenceUtil.getInstance(service).coloredNotification());
} }
private void updateNotification(final boolean isColored) { private void updateNotification(final boolean isColored) {

View file

@ -9,7 +9,7 @@
* governing permissions and limitations under the License. * governing permissions and limitations under the License.
*/ */
package com.kabouzeid.gramophone.util; package com.kabouzeid.gramophone.helper;
import android.provider.MediaStore; import android.provider.MediaStore;

View file

@ -29,7 +29,7 @@ import android.graphics.Bitmap;
import android.support.annotation.NonNull; import android.support.annotation.NonNull;
import android.support.annotation.Nullable; import android.support.annotation.Nullable;
import com.kabouzeid.gramophone.util.Util; import com.kabouzeid.gramophone.util.ImageUtil;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
@ -64,7 +64,7 @@ public class StackBlurManager {
*/ */
public StackBlurManager(@NonNull Bitmap image) { public StackBlurManager(@NonNull Bitmap image) {
// resize Bitmap to prevent OOM and OOB exceptions and increase the performance // resize Bitmap to prevent OOM and OOB exceptions and increase the performance
this.image = Util.getResizedBitmap(image, 500, 500, false); this.image = ImageUtil.getResizedBitmap(image, 500, 500, false);
blurProcess = new JavaBlurProcess(); blurProcess = new JavaBlurProcess();
} }

View file

@ -9,7 +9,7 @@ import com.kabouzeid.gramophone.loader.AlbumSongLoader;
import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.model.Song;
import com.kabouzeid.gramophone.util.ImageUtil; import com.kabouzeid.gramophone.util.ImageUtil;
import com.kabouzeid.gramophone.util.MusicUtil; import com.kabouzeid.gramophone.util.MusicUtil;
import com.kabouzeid.gramophone.util.PreferenceUtils; import com.kabouzeid.gramophone.util.PreferenceUtil;
import com.nostra13.universalimageloader.core.download.BaseImageDownloader; import com.nostra13.universalimageloader.core.download.BaseImageDownloader;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
@ -47,7 +47,7 @@ public class PhonographImageDownloader extends BaseImageDownloader {
protected InputStream getStreamFromAlbum(@NonNull String imageUri) throws IOException { protected InputStream getStreamFromAlbum(@NonNull String imageUri) throws IOException {
int albumId = Integer.valueOf(imageUri.substring(SCHEME_ALBUM.length())); int albumId = Integer.valueOf(imageUri.substring(SCHEME_ALBUM.length()));
if (PreferenceUtils.getInstance(context).ignoreMediaStoreArtwork()) { if (PreferenceUtil.getInstance(context).ignoreMediaStoreArtwork()) {
ArrayList<Song> songs = AlbumSongLoader.getAlbumSongList(context, albumId); ArrayList<Song> songs = AlbumSongLoader.getAlbumSongList(context, albumId);
for (Song song : songs) { for (Song song : songs) {
Bitmap bitmap = ImageUtil.getEmbeddedSongArt(new File(song.data), context); Bitmap bitmap = ImageUtil.getEmbeddedSongArt(new File(song.data), context);
@ -64,7 +64,7 @@ public class PhonographImageDownloader extends BaseImageDownloader {
protected InputStream getStreamFromSong(@NonNull String imageUri) throws IOException { protected InputStream getStreamFromSong(@NonNull String imageUri) throws IOException {
String[] data = imageUri.split("#", 2); String[] data = imageUri.split("#", 2);
if (PreferenceUtils.getInstance(context).ignoreMediaStoreArtwork()) { if (PreferenceUtil.getInstance(context).ignoreMediaStoreArtwork()) {
Bitmap bitmap = ImageUtil.getEmbeddedSongArt(new File(data[1]), context); Bitmap bitmap = ImageUtil.getEmbeddedSongArt(new File(data[1]), context);
if (bitmap != null) { if (bitmap != null) {
return getBitmapInputStream(bitmap); return getBitmapInputStream(bitmap);

View file

@ -11,7 +11,7 @@ import android.support.annotation.NonNull;
import android.support.annotation.Nullable; import android.support.annotation.Nullable;
import com.kabouzeid.gramophone.model.Album; import com.kabouzeid.gramophone.model.Album;
import com.kabouzeid.gramophone.util.PreferenceUtils; import com.kabouzeid.gramophone.util.PreferenceUtil;
import java.util.ArrayList; import java.util.ArrayList;
@ -78,7 +78,7 @@ public class AlbumLoader {
} }
public static Cursor makeAlbumCursor(@NonNull final Context context, final String selection, final String[] values) { public static Cursor makeAlbumCursor(@NonNull final Context context, final String selection, final String[] values) {
return makeAlbumCursor(context, selection, values, PreferenceUtils.getInstance(context).getAlbumSortOrder()); return makeAlbumCursor(context, selection, values, PreferenceUtil.getInstance(context).getAlbumSortOrder());
} }
public static Cursor makeAlbumCursor(@NonNull final Context context, final String selection, final String[] values, final String sortOrder) { public static Cursor makeAlbumCursor(@NonNull final Context context, final String selection, final String[] values, final String sortOrder) {

View file

@ -6,7 +6,7 @@ import android.provider.MediaStore;
import android.support.annotation.NonNull; import android.support.annotation.NonNull;
import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.model.Song;
import com.kabouzeid.gramophone.util.PreferenceUtils; import com.kabouzeid.gramophone.util.PreferenceUtil;
import java.util.ArrayList; import java.util.ArrayList;
@ -27,7 +27,7 @@ public class AlbumSongLoader {
new String[]{ new String[]{
String.valueOf(albumId) String.valueOf(albumId)
}, },
PreferenceUtils.getInstance(context).getAlbumSongSortOrder() PreferenceUtil.getInstance(context).getAlbumSongSortOrder()
); );
} }
} }

View file

@ -6,7 +6,7 @@ import android.provider.MediaStore;
import android.support.annotation.NonNull; import android.support.annotation.NonNull;
import com.kabouzeid.gramophone.model.Album; import com.kabouzeid.gramophone.model.Album;
import com.kabouzeid.gramophone.util.PreferenceUtils; import com.kabouzeid.gramophone.util.PreferenceUtil;
import java.util.ArrayList; import java.util.ArrayList;
@ -25,7 +25,7 @@ public class ArtistAlbumLoader {
MediaStore.Audio.Artists.Albums.getContentUri("external", artistId), MediaStore.Audio.Artists.Albums.getContentUri("external", artistId),
null, null,
null, null,
PreferenceUtils.getInstance(context).getArtistAlbumSortOrder() PreferenceUtil.getInstance(context).getArtistAlbumSortOrder()
); );
} }
} }

View file

@ -9,7 +9,7 @@ import android.support.annotation.NonNull;
import android.support.annotation.Nullable; import android.support.annotation.Nullable;
import com.kabouzeid.gramophone.model.Artist; import com.kabouzeid.gramophone.model.Artist;
import com.kabouzeid.gramophone.util.PreferenceUtils; import com.kabouzeid.gramophone.util.PreferenceUtil;
import java.util.ArrayList; import java.util.ArrayList;
@ -85,6 +85,6 @@ public class ArtistLoader {
ArtistColumns.NUMBER_OF_ALBUMS, ArtistColumns.NUMBER_OF_ALBUMS,
/* 3 */ /* 3 */
ArtistColumns.NUMBER_OF_TRACKS ArtistColumns.NUMBER_OF_TRACKS
}, selection, values, PreferenceUtils.getInstance(context).getArtistSortOrder()); }, selection, values, PreferenceUtil.getInstance(context).getArtistSortOrder());
} }
} }

View file

@ -6,7 +6,7 @@ import android.provider.MediaStore;
import android.support.annotation.NonNull; import android.support.annotation.NonNull;
import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.model.Song;
import com.kabouzeid.gramophone.util.PreferenceUtils; import com.kabouzeid.gramophone.util.PreferenceUtil;
import java.util.ArrayList; import java.util.ArrayList;
@ -27,7 +27,7 @@ public class ArtistSongLoader {
new String[]{ new String[]{
String.valueOf(artistId) String.valueOf(artistId)
}, },
PreferenceUtils.getInstance(context).getArtistSongSortOrder() PreferenceUtil.getInstance(context).getArtistSongSortOrder()
); );
} }
} }

View file

@ -6,7 +6,7 @@ import android.provider.MediaStore;
import android.support.annotation.NonNull; import android.support.annotation.NonNull;
import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.model.Song;
import com.kabouzeid.gramophone.util.PreferenceUtils; import com.kabouzeid.gramophone.util.PreferenceUtil;
import java.util.ArrayList; import java.util.ArrayList;
@ -20,7 +20,7 @@ public class LastAddedLoader {
public static Cursor makeLastAddedCursor(@NonNull final Context context) { public static Cursor makeLastAddedCursor(@NonNull final Context context) {
long fourWeeksAgo = (System.currentTimeMillis() / 1000) - (4 * 3600 * 24 * 7); long fourWeeksAgo = (System.currentTimeMillis() / 1000) - (4 * 3600 * 24 * 7);
// possible saved timestamp caused by user "clearing" the last added playlist // possible saved timestamp caused by user "clearing" the last added playlist
long cutoff = PreferenceUtils.getInstance(context).getLastAddedCutOffTimestamp() / 1000; long cutoff = PreferenceUtil.getInstance(context).getLastAddedCutOffTimestamp() / 1000;
if (cutoff < fourWeeksAgo) { if (cutoff < fourWeeksAgo) {
cutoff = fourWeeksAgo; cutoff = fourWeeksAgo;
} }

View file

@ -9,7 +9,7 @@ import android.support.annotation.NonNull;
import android.support.annotation.Nullable; import android.support.annotation.Nullable;
import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.model.Song;
import com.kabouzeid.gramophone.util.PreferenceUtils; import com.kabouzeid.gramophone.util.PreferenceUtil;
import java.util.ArrayList; import java.util.ArrayList;
@ -78,7 +78,7 @@ public class SongLoader {
} }
public static Cursor makeSongCursor(@NonNull final Context context, final String selection, final String[] values) { public static Cursor makeSongCursor(@NonNull final Context context, final String selection, final String[] values) {
return makeSongCursor(context, selection, values, PreferenceUtils.getInstance(context).getSongSortOrder()); return makeSongCursor(context, selection, values, PreferenceUtil.getInstance(context).getSongSortOrder());
} }
public static Cursor makeSongCursor(@NonNull final Context context, @Nullable final String selection, final String[] values, final String sortOrder) { public static Cursor makeSongCursor(@NonNull final Context context, @Nullable final String selection, final String[] values, final String sortOrder) {

View file

@ -8,7 +8,7 @@ import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.loader.LastAddedLoader; import com.kabouzeid.gramophone.loader.LastAddedLoader;
import com.kabouzeid.gramophone.model.DataBaseChangedEvent; import com.kabouzeid.gramophone.model.DataBaseChangedEvent;
import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.model.Song;
import com.kabouzeid.gramophone.util.PreferenceUtils; import com.kabouzeid.gramophone.util.PreferenceUtil;
import java.util.ArrayList; import java.util.ArrayList;
@ -29,7 +29,7 @@ public class LastAddedPlaylist extends AbsSmartPlaylist {
@Override @Override
public void clear(@NonNull Context context) { public void clear(@NonNull Context context) {
PreferenceUtils.getInstance(context).setLastAddedCutoffTimestamp(System.currentTimeMillis()); PreferenceUtil.getInstance(context).setLastAddedCutoffTimestamp(System.currentTimeMillis());
App.bus.post(new DataBaseChangedEvent(DataBaseChangedEvent.PLAYLISTS_CHANGED)); App.bus.post(new DataBaseChangedEvent(DataBaseChangedEvent.PLAYLISTS_CHANGED));
} }
} }

View file

@ -13,7 +13,7 @@ import android.util.Log;
import android.widget.Toast; import android.widget.Toast;
import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.util.PreferenceUtils; import com.kabouzeid.gramophone.util.PreferenceUtil;
import java.lang.ref.WeakReference; import java.lang.ref.WeakReference;
@ -120,7 +120,7 @@ public class MultiPlayer implements MediaPlayer.OnErrorListener,
if (path == null) { if (path == null) {
return; return;
} }
if (PreferenceUtils.getInstance(mService.get()).gaplessPlayback()) { if (PreferenceUtil.getInstance(mService.get()).gaplessPlayback()) {
mNextMediaPlayer = new MediaPlayer(); mNextMediaPlayer = new MediaPlayer();
mNextMediaPlayer.setWakeMode(mService.get(), PowerManager.PARTIAL_WAKE_LOCK); mNextMediaPlayer.setWakeMode(mService.get(), PowerManager.PARTIAL_WAKE_LOCK);
mNextMediaPlayer.setAudioSessionId(getAudioSessionId()); mNextMediaPlayer.setAudioSessionId(getAudioSessionId());

View file

@ -37,7 +37,7 @@ import com.kabouzeid.gramophone.provider.MusicPlaybackQueueStore;
import com.kabouzeid.gramophone.provider.RecentlyPlayedStore; import com.kabouzeid.gramophone.provider.RecentlyPlayedStore;
import com.kabouzeid.gramophone.provider.SongPlayCountStore; import com.kabouzeid.gramophone.provider.SongPlayCountStore;
import com.kabouzeid.gramophone.util.MusicUtil; import com.kabouzeid.gramophone.util.MusicUtil;
import com.kabouzeid.gramophone.util.PreferenceUtils; import com.kabouzeid.gramophone.util.PreferenceUtil;
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.nostra13.universalimageloader.core.assist.FailReason; import com.nostra13.universalimageloader.core.assist.FailReason;
@ -427,7 +427,7 @@ public class MusicService extends Service {
} }
private void updateRemoteControlClient() { private void updateRemoteControlClient() {
updateRemoteControlClientImpl(PreferenceUtils.getInstance(this).albumArtOnLockscreen()); updateRemoteControlClientImpl(PreferenceUtil.getInstance(this).albumArtOnLockscreen());
} }
private void updateRemoteControlClientImpl(boolean showAlbumArt) { private void updateRemoteControlClientImpl(boolean showAlbumArt) {

View file

@ -44,9 +44,10 @@ import com.kabouzeid.gramophone.model.UIPreferenceChangedEvent;
import com.kabouzeid.gramophone.ui.activities.base.AbsFabActivity; import com.kabouzeid.gramophone.ui.activities.base.AbsFabActivity;
import com.kabouzeid.gramophone.ui.activities.tageditor.AbsTagEditorActivity; import com.kabouzeid.gramophone.ui.activities.tageditor.AbsTagEditorActivity;
import com.kabouzeid.gramophone.ui.activities.tageditor.AlbumTagEditorActivity; import com.kabouzeid.gramophone.ui.activities.tageditor.AlbumTagEditorActivity;
import com.kabouzeid.gramophone.util.ColorUtil;
import com.kabouzeid.gramophone.util.MusicUtil; import com.kabouzeid.gramophone.util.MusicUtil;
import com.kabouzeid.gramophone.util.NavigationUtil; import com.kabouzeid.gramophone.util.NavigationUtil;
import com.kabouzeid.gramophone.util.PreferenceUtils; import com.kabouzeid.gramophone.util.PreferenceUtil;
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.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.DisplayImageOptions;
@ -109,7 +110,7 @@ public class AlbumDetailActivity extends AbsFabActivity implements PaletteColorH
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
postponeEnterTransition(); postponeEnterTransition();
if (PreferenceUtils.getInstance(this).coloredNavigationBarAlbum()) if (PreferenceUtil.getInstance(this).coloredNavigationBarAlbum())
setNavigationBarColor(DialogUtils.resolveColor(this, R.attr.default_bar_color)); setNavigationBarColor(DialogUtils.resolveColor(this, R.attr.default_bar_color));
} }
@ -162,7 +163,7 @@ public class AlbumDetailActivity extends AbsFabActivity implements PaletteColorH
// Change alpha of overlay // Change alpha of overlay
toolbarAlpha = Math.max(0, Math.min(1, (float) scrollY / flexibleRange)); toolbarAlpha = Math.max(0, Math.min(1, (float) scrollY / flexibleRange));
ViewUtil.setBackgroundAlpha(toolbar, toolbarAlpha, toolbarColor); ViewUtil.setBackgroundAlpha(toolbar, toolbarAlpha, toolbarColor);
setStatusBarColor(Util.getColorWithAlpha(cab != null && cab.isActive() ? 1 : toolbarAlpha, toolbarColor)); setStatusBarColor(ColorUtil.getColorWithAlpha(cab != null && cab.isActive() ? 1 : toolbarAlpha, toolbarColor));
// Translate name text // Translate name text
int maxTitleTranslationY = albumArtViewHeight; int maxTitleTranslationY = albumArtViewHeight;
@ -195,9 +196,10 @@ public class AlbumDetailActivity extends AbsFabActivity implements PaletteColorH
int toolbarHeight = Util.getActionBarSize(this); int toolbarHeight = Util.getActionBarSize(this);
titleViewHeight = getResources().getDimensionPixelSize(R.dimen.title_view_height); titleViewHeight = getResources().getDimensionPixelSize(R.dimen.title_view_height);
headerOffset = toolbarHeight; headerOffset = toolbarHeight;
if (Util.isAtLeastKitKat()) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
headerOffset += getResources().getDimensionPixelSize(R.dimen.status_bar_padding); headerOffset += getResources().getDimensionPixelSize(R.dimen.status_bar_padding);
} }
}
private void setUpViews() { private void setUpViews() {
albumTitleView.setText(album.title); albumTitleView.setText(album.title);
@ -262,8 +264,8 @@ public class AlbumDetailActivity extends AbsFabActivity implements PaletteColorH
if (vibrantSwatch != null) { if (vibrantSwatch != null) {
toolbarColor = vibrantSwatch.getRgb(); toolbarColor = vibrantSwatch.getRgb();
albumTitleView.setBackgroundColor(toolbarColor); albumTitleView.setBackgroundColor(toolbarColor);
albumTitleView.setTextColor(Util.getOpaqueColor(vibrantSwatch.getTitleTextColor())); albumTitleView.setTextColor(ColorUtil.getOpaqueColor(vibrantSwatch.getTitleTextColor()));
if (Util.isAtLeastLollipop() && PreferenceUtils.getInstance(AlbumDetailActivity.this).coloredNavigationBarAlbum()) if (PreferenceUtil.getInstance(AlbumDetailActivity.this).coloredNavigationBarAlbum())
setNavigationBarColor(toolbarColor); setNavigationBarColor(toolbarColor);
notifyTaskColorChange(toolbarColor); notifyTaskColorChange(toolbarColor);
} else { } else {
@ -285,7 +287,7 @@ public class AlbumDetailActivity extends AbsFabActivity implements PaletteColorH
albumTitleView.setBackgroundColor(defaultBarColor); albumTitleView.setBackgroundColor(defaultBarColor);
albumTitleView.setTextColor(titleTextColor); albumTitleView.setTextColor(titleTextColor);
if (Util.isAtLeastLollipop() && PreferenceUtils.getInstance(this).coloredNavigationBarArtist()) if (PreferenceUtil.getInstance(this).coloredNavigationBarArtist())
setNavigationBarColor(DialogUtils.resolveColor(this, R.attr.default_bar_color)); setNavigationBarColor(DialogUtils.resolveColor(this, R.attr.default_bar_color));
notifyTaskColorChange(toolbarColor); notifyTaskColorChange(toolbarColor);
@ -441,7 +443,7 @@ public class AlbumDetailActivity extends AbsFabActivity implements PaletteColorH
.start(new MaterialCab.Callback() { .start(new MaterialCab.Callback() {
@Override @Override
public boolean onCabCreated(MaterialCab materialCab, Menu menu) { public boolean onCabCreated(MaterialCab materialCab, Menu menu) {
setStatusBarColor(Util.getOpaqueColor(toolbarColor)); setStatusBarColor(ColorUtil.getOpaqueColor(toolbarColor));
return callback.onCabCreated(materialCab, menu); return callback.onCabCreated(materialCab, menu);
} }
@ -452,7 +454,7 @@ public class AlbumDetailActivity extends AbsFabActivity implements PaletteColorH
@Override @Override
public boolean onCabFinished(MaterialCab materialCab) { public boolean onCabFinished(MaterialCab materialCab) {
setStatusBarColor(Util.getColorWithAlpha(toolbarAlpha, toolbarColor)); setStatusBarColor(ColorUtil.getColorWithAlpha(toolbarAlpha, toolbarColor));
return callback.onCabFinished(materialCab); return callback.onCabFinished(materialCab);
} }
}); });

View file

@ -55,9 +55,10 @@ import com.kabouzeid.gramophone.model.DataBaseChangedEvent;
import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.model.Song;
import com.kabouzeid.gramophone.model.UIPreferenceChangedEvent; import com.kabouzeid.gramophone.model.UIPreferenceChangedEvent;
import com.kabouzeid.gramophone.ui.activities.base.AbsFabActivity; import com.kabouzeid.gramophone.ui.activities.base.AbsFabActivity;
import com.kabouzeid.gramophone.util.ColorUtil;
import com.kabouzeid.gramophone.util.MusicUtil; import com.kabouzeid.gramophone.util.MusicUtil;
import com.kabouzeid.gramophone.util.NavigationUtil; import com.kabouzeid.gramophone.util.NavigationUtil;
import com.kabouzeid.gramophone.util.PreferenceUtils; import com.kabouzeid.gramophone.util.PreferenceUtil;
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.kabouzeid.gramophone.views.SquareIfPlaceImageView; import com.kabouzeid.gramophone.views.SquareIfPlaceImageView;
@ -135,7 +136,7 @@ public class ArtistDetailActivity extends AbsFabActivity implements PaletteColor
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
postponeEnterTransition(); postponeEnterTransition();
if (PreferenceUtils.getInstance(this).coloredNavigationBarArtist()) if (PreferenceUtil.getInstance(this).coloredNavigationBarArtist())
setNavigationBarColor(DialogUtils.resolveColor(this, R.attr.default_bar_color)); setNavigationBarColor(DialogUtils.resolveColor(this, R.attr.default_bar_color));
} }
@ -197,7 +198,7 @@ public class ArtistDetailActivity extends AbsFabActivity implements PaletteColor
// Change alpha of overlay // Change alpha of overlay
toolbarAlpha = Math.max(0, Math.min(1, (float) scrollY / flexibleRange)); toolbarAlpha = Math.max(0, Math.min(1, (float) scrollY / flexibleRange));
ViewUtil.setBackgroundAlpha(toolbar, toolbarAlpha, toolbarColor); ViewUtil.setBackgroundAlpha(toolbar, toolbarAlpha, toolbarColor);
setStatusBarColor(Util.getColorWithAlpha(cab != null && cab.isActive() ? 1 : toolbarAlpha, toolbarColor)); setStatusBarColor(ColorUtil.getColorWithAlpha(cab != null && cab.isActive() ? 1 : toolbarAlpha, toolbarColor));
// Translate name text // Translate name text
int maxTitleTranslationY = artistImageViewHeight; int maxTitleTranslationY = artistImageViewHeight;
@ -215,9 +216,10 @@ public class ArtistDetailActivity extends AbsFabActivity implements PaletteColor
int toolbarHeight = Util.getActionBarSize(this); int toolbarHeight = Util.getActionBarSize(this);
titleViewHeight = getResources().getDimensionPixelSize(R.dimen.title_view_height); titleViewHeight = getResources().getDimensionPixelSize(R.dimen.title_view_height);
headerOffset = toolbarHeight; headerOffset = toolbarHeight;
if (Util.isAtLeastKitKat()) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
headerOffset += getResources().getDimensionPixelSize(R.dimen.status_bar_padding); headerOffset += getResources().getDimensionPixelSize(R.dimen.status_bar_padding);
} }
}
private void initViews() { private void initViews() {
songListHeader = LayoutInflater.from(this).inflate(R.layout.artist_detail_header, songListView, false); songListHeader = LayoutInflater.from(this).inflate(R.layout.artist_detail_header, songListView, false);
@ -403,8 +405,8 @@ public class ArtistDetailActivity extends AbsFabActivity implements PaletteColor
if (vibrantSwatch != null) { if (vibrantSwatch != null) {
toolbarColor = vibrantSwatch.getRgb(); toolbarColor = vibrantSwatch.getRgb();
artistName.setBackgroundColor(vibrantSwatch.getRgb()); artistName.setBackgroundColor(vibrantSwatch.getRgb());
artistName.setTextColor(Util.getOpaqueColor(vibrantSwatch.getTitleTextColor())); artistName.setTextColor(ColorUtil.getOpaqueColor(vibrantSwatch.getTitleTextColor()));
if (Util.isAtLeastLollipop() && PreferenceUtils.getInstance(ArtistDetailActivity.this).coloredNavigationBarArtist()) if (PreferenceUtil.getInstance(ArtistDetailActivity.this).coloredNavigationBarArtist())
setNavigationBarColor(vibrantSwatch.getRgb()); setNavigationBarColor(vibrantSwatch.getRgb());
notifyTaskColorChange(toolbarColor); notifyTaskColorChange(toolbarColor);
} else { } else {
@ -443,7 +445,7 @@ public class ArtistDetailActivity extends AbsFabActivity implements PaletteColor
artistName.setBackgroundColor(defaultBarColor); artistName.setBackgroundColor(defaultBarColor);
artistName.setTextColor(titleTextColor); artistName.setTextColor(titleTextColor);
if (Util.isAtLeastLollipop() && PreferenceUtils.getInstance(this).coloredNavigationBarArtist()) if (PreferenceUtil.getInstance(this).coloredNavigationBarArtist())
setNavigationBarColor(DialogUtils.resolveColor(this, R.attr.default_bar_color)); setNavigationBarColor(DialogUtils.resolveColor(this, R.attr.default_bar_color));
notifyTaskColorChange(toolbarColor); notifyTaskColorChange(toolbarColor);
@ -589,7 +591,7 @@ public class ArtistDetailActivity extends AbsFabActivity implements PaletteColor
.start(new MaterialCab.Callback() { .start(new MaterialCab.Callback() {
@Override @Override
public boolean onCabCreated(MaterialCab materialCab, Menu menu) { public boolean onCabCreated(MaterialCab materialCab, Menu menu) {
setStatusBarColor(Util.getOpaqueColor(toolbarColor)); setStatusBarColor(ColorUtil.getOpaqueColor(toolbarColor));
return callback.onCabCreated(materialCab, menu); return callback.onCabCreated(materialCab, menu);
} }
@ -600,7 +602,7 @@ public class ArtistDetailActivity extends AbsFabActivity implements PaletteColor
@Override @Override
public boolean onCabFinished(MaterialCab materialCab) { public boolean onCabFinished(MaterialCab materialCab) {
setStatusBarColor(Util.getColorWithAlpha(toolbarAlpha, toolbarColor)); setStatusBarColor(ColorUtil.getColorWithAlpha(toolbarAlpha, toolbarColor));
return callback.onCabFinished(materialCab); return callback.onCabFinished(materialCab);
} }
}); });

View file

@ -53,7 +53,7 @@ import com.kabouzeid.gramophone.ui.fragments.mainactivityfragments.AbsMainActivi
import com.kabouzeid.gramophone.ui.fragments.mainactivityfragments.AlbumViewFragment; import com.kabouzeid.gramophone.ui.fragments.mainactivityfragments.AlbumViewFragment;
import com.kabouzeid.gramophone.util.MusicUtil; import com.kabouzeid.gramophone.util.MusicUtil;
import com.kabouzeid.gramophone.util.NavigationUtil; import com.kabouzeid.gramophone.util.NavigationUtil;
import com.kabouzeid.gramophone.util.PreferenceUtils; import com.kabouzeid.gramophone.util.PreferenceUtil;
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.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.DisplayImageOptions;
@ -103,7 +103,7 @@ public class MainActivity extends AbsFabActivity
setUpToolbar(); setUpToolbar();
setUpViewPager(); setUpViewPager();
if (PreferenceUtils.getInstance(this).coloredNavigationBarOtherScreens()) if (PreferenceUtil.getInstance(this).coloredNavigationBarOtherScreens())
setNavigationBarThemeColor(); setNavigationBarThemeColor();
} }
@ -117,8 +117,8 @@ public class MainActivity extends AbsFabActivity
pager.setAdapter(pagerAdapter); pager.setAdapter(pagerAdapter);
pager.setOffscreenPageLimit(pagerAdapter.getCount() - 1); pager.setOffscreenPageLimit(pagerAdapter.getCount() - 1);
int startPosition = PreferenceUtils.getInstance(this).getDefaultStartPage(); int startPosition = PreferenceUtil.getInstance(this).getDefaultStartPage();
startPosition = startPosition == -1 ? PreferenceUtils.getInstance(this).getLastStartPage() : startPosition; startPosition = startPosition == -1 ? PreferenceUtil.getInstance(this).getLastStartPage() : startPosition;
currentPage = startPosition; currentPage = startPosition;
navigationView.getMenu().getItem(startPosition).setChecked(true); navigationView.getMenu().getItem(startPosition).setChecked(true);
@ -259,7 +259,7 @@ public class MainActivity extends AbsFabActivity
} }
private void setUpDrawerLayout() { private void setUpDrawerLayout() {
drawerLayout.setStatusBarBackgroundColor(PreferenceUtils.getInstance(this).getThemeColorPrimaryDarker()); drawerLayout.setStatusBarBackgroundColor(PreferenceUtil.getInstance(this).getThemeColorPrimaryDarker());
setUpNavigationView(); setUpNavigationView();
} }
@ -414,7 +414,7 @@ public class MainActivity extends AbsFabActivity
break; break;
case UIPreferenceChangedEvent.COLORED_NAVIGATION_BAR_CHANGED: case UIPreferenceChangedEvent.COLORED_NAVIGATION_BAR_CHANGED:
try { try {
if (((Set) event.getValue()).contains(PreferenceUtils.COLORED_NAVIGATION_BAR_OTHER_SCREENS)) if (((Set) event.getValue()).contains(PreferenceUtil.COLORED_NAVIGATION_BAR_OTHER_SCREENS))
setNavigationBarThemeColor(); setNavigationBarThemeColor();
else resetNavigationBarColor(); else resetNavigationBarColor();
} catch (NullPointerException ignored) { } catch (NullPointerException ignored) {
@ -434,7 +434,7 @@ public class MainActivity extends AbsFabActivity
@Override @Override
protected void onPause() { protected void onPause() {
super.onPause(); super.onPause();
PreferenceUtils.getInstance(MainActivity.this).setLastStartPage(currentPage); PreferenceUtil.getInstance(MainActivity.this).setLastStartPage(currentPage);
} }
private void handlePlaybackIntent(@Nullable Intent intent) { private void handlePlaybackIntent(@Nullable Intent intent) {
@ -533,7 +533,7 @@ public class MainActivity extends AbsFabActivity
private void setUpGridMenu(@NonNull Menu menu) { private void setUpGridMenu(@NonNull Menu menu) {
boolean isPortrait = Util.isInPortraitMode(this); boolean isPortrait = Util.isInPortraitMode(this);
int columns = isPortrait ? PreferenceUtils.getInstance(this).getAlbumGridColumns() : PreferenceUtils.getInstance(this).getAlbumGridColumnsLand(); int columns = isPortrait ? PreferenceUtil.getInstance(this).getAlbumGridColumns() : PreferenceUtil.getInstance(this).getAlbumGridColumnsLand();
String title = isPortrait ? getResources().getString(R.string.action_grid_columns) : getResources().getString(R.string.action_grid_columns_land); String title = isPortrait ? getResources().getString(R.string.action_grid_columns) : getResources().getString(R.string.action_grid_columns_land);
MenuItem gridSizeItem = menu.findItem(R.id.action_grid_columns); MenuItem gridSizeItem = menu.findItem(R.id.action_grid_columns);
@ -572,9 +572,9 @@ public class MainActivity extends AbsFabActivity
if (isAlbumPage()) { if (isAlbumPage()) {
getAlbumFragment().setColumns(size); getAlbumFragment().setColumns(size);
if (Util.isInPortraitMode(this)) { if (Util.isInPortraitMode(this)) {
PreferenceUtils.getInstance(this).setAlbumGridColumns(size); PreferenceUtil.getInstance(this).setAlbumGridColumns(size);
} else { } else {
PreferenceUtils.getInstance(this).setAlbumGridColumnsLand(size); PreferenceUtil.getInstance(this).setAlbumGridColumnsLand(size);
} }
} }
return true; return true;
@ -629,7 +629,7 @@ public class MainActivity extends AbsFabActivity
cab = new MaterialCab(this, R.id.cab_stub) cab = new MaterialCab(this, R.id.cab_stub)
.setMenu(menu) .setMenu(menu)
.setCloseDrawableRes(R.drawable.ic_close_white_24dp) .setCloseDrawableRes(R.drawable.ic_close_white_24dp)
.setBackgroundColor(PreferenceUtils.getInstance(this).getThemeColorPrimary()) .setBackgroundColor(PreferenceUtil.getInstance(this).getThemeColorPrimary())
.start(callback); .start(callback);
return cab; return cab;
} }

View file

@ -50,9 +50,10 @@ import com.kabouzeid.gramophone.service.MusicService;
import com.kabouzeid.gramophone.ui.activities.base.AbsFabActivity; import com.kabouzeid.gramophone.ui.activities.base.AbsFabActivity;
import com.kabouzeid.gramophone.ui.activities.tageditor.AbsTagEditorActivity; import com.kabouzeid.gramophone.ui.activities.tageditor.AbsTagEditorActivity;
import com.kabouzeid.gramophone.ui.activities.tageditor.SongTagEditorActivity; import com.kabouzeid.gramophone.ui.activities.tageditor.SongTagEditorActivity;
import com.kabouzeid.gramophone.util.ColorUtil;
import com.kabouzeid.gramophone.util.MusicUtil; import com.kabouzeid.gramophone.util.MusicUtil;
import com.kabouzeid.gramophone.util.NavigationUtil; import com.kabouzeid.gramophone.util.NavigationUtil;
import com.kabouzeid.gramophone.util.PreferenceUtils; import com.kabouzeid.gramophone.util.PreferenceUtil;
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.kabouzeid.gramophone.views.SquareIfPlaceImageView; import com.kabouzeid.gramophone.views.SquareIfPlaceImageView;
@ -235,12 +236,12 @@ public class MusicControllerActivity extends AbsFabActivity {
} }
private void initAppearanceVarsFromSharedPrefs() { private void initAppearanceVarsFromSharedPrefs() {
opaqueStatusBar = PreferenceUtils.getInstance(this).opaqueStatusbarNowPlaying(); opaqueStatusBar = PreferenceUtil.getInstance(this).opaqueStatusbarNowPlaying();
opaqueToolBar = opaqueStatusBar && PreferenceUtils.getInstance(this).opaqueToolbarNowPlaying(); opaqueToolBar = opaqueStatusBar && PreferenceUtil.getInstance(this).opaqueToolbarNowPlaying();
forceSquareAlbumArt = PreferenceUtils.getInstance(this).forceAlbumArtSquared(); forceSquareAlbumArt = PreferenceUtil.getInstance(this).forceAlbumArtSquared();
largerTitleBox = PreferenceUtils.getInstance(this).largerTitleBoxNowPlaying(); largerTitleBox = PreferenceUtil.getInstance(this).largerTitleBoxNowPlaying();
alternativeProgressSlider = PreferenceUtils.getInstance(this).alternativeProgressSliderNowPlaying(); alternativeProgressSlider = PreferenceUtil.getInstance(this).alternativeProgressSliderNowPlaying();
showPlaybackControllerCard = PreferenceUtils.getInstance(this).playbackControllerCardNowPlaying(); showPlaybackControllerCard = PreferenceUtil.getInstance(this).playbackControllerCardNowPlaying();
} }
@Override @Override
@ -273,7 +274,7 @@ public class MusicControllerActivity extends AbsFabActivity {
private void setUpPlaybackControllerCard() { private void setUpPlaybackControllerCard() {
playbackControllerCard.setVisibility(showPlaybackControllerCard ? View.VISIBLE : View.GONE); playbackControllerCard.setVisibility(showPlaybackControllerCard ? View.VISIBLE : View.GONE);
mediaControllerContainer.setBackgroundColor(showPlaybackControllerCard ? Color.TRANSPARENT : Util.resolveColor(this, R.attr.music_controller_container_color)); mediaControllerContainer.setBackgroundColor(showPlaybackControllerCard ? Color.TRANSPARENT : ColorUtil.resolveColor(this, R.attr.music_controller_container_color));
} }
private void setUpMusicControllers() { private void setUpMusicControllers() {
@ -474,7 +475,7 @@ public class MusicControllerActivity extends AbsFabActivity {
if (vibrantSwatch != null) { if (vibrantSwatch != null) {
final int swatchRgb = vibrantSwatch.getRgb(); final int swatchRgb = vibrantSwatch.getRgb();
animateColorChange(swatchRgb); animateColorChange(swatchRgb);
animateTextColorChange(Util.getOpaqueColor(vibrantSwatch.getTitleTextColor())); animateTextColorChange(ColorUtil.getOpaqueColor(vibrantSwatch.getTitleTextColor()));
notifyTaskColorChange(swatchRgb); notifyTaskColorChange(swatchRgb);
} else { } else {
resetColors(); resetColors();
@ -487,7 +488,7 @@ public class MusicControllerActivity extends AbsFabActivity {
} }
private void resetColors() { private void resetColors() {
final int textColor = Util.getOpaqueColor(DialogUtils.resolveColor(this, R.attr.title_text_color)); final int textColor = ColorUtil.getOpaqueColor(DialogUtils.resolveColor(this, R.attr.title_text_color));
final int defaultBarColor = DialogUtils.resolveColor(this, R.attr.default_bar_color); final int defaultBarColor = DialogUtils.resolveColor(this, R.attr.default_bar_color);
animateColorChange(defaultBarColor); animateColorChange(defaultBarColor);
@ -515,7 +516,7 @@ public class MusicControllerActivity extends AbsFabActivity {
if (opaqueStatusBar) setStatusBarColor(newColor); if (opaqueStatusBar) setStatusBarColor(newColor);
else setStatusBarColor(Color.TRANSPARENT); else setStatusBarColor(Color.TRANSPARENT);
if (Util.isAtLeastLollipop() && PreferenceUtils.getInstance(this).coloredNavigationBarCurrentPlaying()) if (PreferenceUtil.getInstance(this).coloredNavigationBarCurrentPlaying())
setNavigationBarColor(newColor); setNavigationBarColor(newColor);
lastFooterColor = newColor; lastFooterColor = newColor;
} }

View file

@ -24,7 +24,7 @@ import com.kabouzeid.gramophone.model.Playlist;
import com.kabouzeid.gramophone.model.smartplaylist.AbsSmartPlaylist; import com.kabouzeid.gramophone.model.smartplaylist.AbsSmartPlaylist;
import com.kabouzeid.gramophone.ui.activities.base.AbsFabActivity; import com.kabouzeid.gramophone.ui.activities.base.AbsFabActivity;
import com.kabouzeid.gramophone.util.NavigationUtil; import com.kabouzeid.gramophone.util.NavigationUtil;
import com.kabouzeid.gramophone.util.PreferenceUtils; import com.kabouzeid.gramophone.util.PreferenceUtil;
import com.squareup.otto.Subscribe; import com.squareup.otto.Subscribe;
import butterknife.ButterKnife; import butterknife.ButterKnife;
@ -62,7 +62,7 @@ public class PlaylistDetailActivity extends AbsFabActivity implements CabHolder
setUpToolBar(); setUpToolBar();
if (PreferenceUtils.getInstance(this).coloredNavigationBarPlaylist()) if (PreferenceUtil.getInstance(this).coloredNavigationBarPlaylist())
setNavigationBarThemeColor(); setNavigationBarThemeColor();
setStatusBarThemeColor(); setStatusBarThemeColor();
@ -158,7 +158,7 @@ public class PlaylistDetailActivity extends AbsFabActivity implements CabHolder
cab = new MaterialCab(this, R.id.cab_stub) cab = new MaterialCab(this, R.id.cab_stub)
.setMenu(menu) .setMenu(menu)
.setCloseDrawableRes(R.drawable.ic_close_white_24dp) .setCloseDrawableRes(R.drawable.ic_close_white_24dp)
.setBackgroundColor(PreferenceUtils.getInstance(this).getThemeColorPrimary()) .setBackgroundColor(PreferenceUtil.getInstance(this).getThemeColorPrimary())
.start(callback); .start(callback);
return cab; return cab;
} }

View file

@ -22,7 +22,7 @@ import android.widget.TextView;
import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.adapter.SearchAdapter; import com.kabouzeid.gramophone.adapter.SearchAdapter;
import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity; import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity;
import com.kabouzeid.gramophone.util.PreferenceUtils; import com.kabouzeid.gramophone.util.PreferenceUtil;
import com.kabouzeid.gramophone.util.Util; import com.kabouzeid.gramophone.util.Util;
import butterknife.ButterKnife; import butterknife.ButterKnife;
@ -66,7 +66,7 @@ public class SearchActivity extends AbsBaseActivity {
} }
}); });
toolbar.setBackgroundColor(PreferenceUtils.getInstance(this).getThemeColorPrimary()); toolbar.setBackgroundColor(PreferenceUtil.getInstance(this).getThemeColorPrimary());
setSupportActionBar(toolbar); setSupportActionBar(toolbar);
//noinspection ConstantConditions //noinspection ConstantConditions
getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true);

View file

@ -25,7 +25,7 @@ import com.kabouzeid.gramophone.prefs.ColorChooserPreference;
import com.kabouzeid.gramophone.service.MusicService; import com.kabouzeid.gramophone.service.MusicService;
import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity; import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity;
import com.kabouzeid.gramophone.util.NavigationUtil; import com.kabouzeid.gramophone.util.NavigationUtil;
import com.kabouzeid.gramophone.util.PreferenceUtils; import com.kabouzeid.gramophone.util.PreferenceUtil;
import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.ImageLoader;
import java.util.Set; import java.util.Set;
@ -39,14 +39,14 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
setContentView(R.layout.activity_preferences); setContentView(R.layout.activity_preferences);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setBackgroundColor(PreferenceUtils.getInstance(this).getThemeColorPrimary()); toolbar.setBackgroundColor(PreferenceUtil.getInstance(this).getThemeColorPrimary());
setSupportActionBar(toolbar); setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true);
if (savedInstanceState == null) if (savedInstanceState == null)
getFragmentManager().beginTransaction().replace(R.id.content_frame, new SettingsFragment()).commit(); getFragmentManager().beginTransaction().replace(R.id.content_frame, new SettingsFragment()).commit();
if (PreferenceUtils.getInstance(this).coloredNavigationBarOtherScreens()) if (PreferenceUtil.getInstance(this).coloredNavigationBarOtherScreens())
setNavigationBarThemeColor(); setNavigationBarThemeColor();
setStatusBarThemeColor(); setStatusBarThemeColor();
} }
@ -54,10 +54,10 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
@Override @Override
public void onColorSelection(int title, int color) { public void onColorSelection(int title, int color) {
if (title == R.string.primary_color) { if (title == R.string.primary_color) {
PreferenceUtils.getInstance(this).setThemeColorPrimary(color); PreferenceUtil.getInstance(this).setThemeColorPrimary(color);
App.bus.post(new UIPreferenceChangedEvent(UIPreferenceChangedEvent.THEME_CHANGED, color)); App.bus.post(new UIPreferenceChangedEvent(UIPreferenceChangedEvent.THEME_CHANGED, color));
} else if (title == R.string.accent_color) { } else if (title == R.string.accent_color) {
PreferenceUtils.getInstance(this).setThemeColorAccent(color); PreferenceUtil.getInstance(this).setThemeColorAccent(color);
App.bus.post(new UIPreferenceChangedEvent(UIPreferenceChangedEvent.THEME_CHANGED, color)); App.bus.post(new UIPreferenceChangedEvent(UIPreferenceChangedEvent.THEME_CHANGED, color));
} }
recreate(); recreate();
@ -98,25 +98,25 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
}); });
ColorChooserPreference primaryColor = (ColorChooserPreference) findPreference("primary_color"); ColorChooserPreference primaryColor = (ColorChooserPreference) findPreference("primary_color");
primaryColor.setColor(PreferenceUtils.getInstance(getActivity()).getThemeColorPrimary(), primaryColor.setColor(PreferenceUtil.getInstance(getActivity()).getThemeColorPrimary(),
DialogUtils.resolveColor(getActivity(), android.R.attr.textColorPrimary)); DialogUtils.resolveColor(getActivity(), android.R.attr.textColorPrimary));
primaryColor.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { primaryColor.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override @Override
public boolean onPreferenceClick(@NonNull Preference preference) { public boolean onPreferenceClick(@NonNull Preference preference) {
new ColorChooserDialog().show(getActivity(), preference.getTitleRes(), new ColorChooserDialog().show(getActivity(), preference.getTitleRes(),
PreferenceUtils.getInstance(getActivity()).getThemeColorPrimary()); PreferenceUtil.getInstance(getActivity()).getThemeColorPrimary());
return true; return true;
} }
}); });
ColorChooserPreference accentColor = (ColorChooserPreference) findPreference("accent_color"); ColorChooserPreference accentColor = (ColorChooserPreference) findPreference("accent_color");
accentColor.setColor(PreferenceUtils.getInstance(getActivity()).getThemeColorAccent(), accentColor.setColor(PreferenceUtil.getInstance(getActivity()).getThemeColorAccent(),
DialogUtils.resolveColor(getActivity(), android.R.attr.textColorPrimary)); DialogUtils.resolveColor(getActivity(), android.R.attr.textColorPrimary));
accentColor.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { accentColor.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override @Override
public boolean onPreferenceClick(@NonNull Preference preference) { public boolean onPreferenceClick(@NonNull Preference preference) {
new ColorChooserDialog().show(getActivity(), preference.getTitleRes(), new ColorChooserDialog().show(getActivity(), preference.getTitleRes(),
PreferenceUtils.getInstance(getActivity()).getThemeColorAccent()); PreferenceUtil.getInstance(getActivity()).getThemeColorAccent());
return true; return true;
} }
}); });
@ -232,7 +232,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
break; break;
case UIPreferenceChangedEvent.COLORED_NAVIGATION_BAR_CHANGED: case UIPreferenceChangedEvent.COLORED_NAVIGATION_BAR_CHANGED:
try { try {
if (((Set) event.getValue()).contains(PreferenceUtils.COLORED_NAVIGATION_BAR_OTHER_SCREENS)) if (((Set) event.getValue()).contains(PreferenceUtil.COLORED_NAVIGATION_BAR_OTHER_SCREENS))
setNavigationBarThemeColor(); setNavigationBarThemeColor();
else resetNavigationBarColor(); else resetNavigationBarColor();
} catch (NullPointerException ignored) { } catch (NullPointerException ignored) {

View file

@ -18,8 +18,8 @@ import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.helper.MusicPlayerRemote; import com.kabouzeid.gramophone.helper.MusicPlayerRemote;
import com.kabouzeid.gramophone.misc.SmallOnGestureListener; import com.kabouzeid.gramophone.misc.SmallOnGestureListener;
import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.model.Song;
import com.kabouzeid.gramophone.util.ColorUtil;
import com.kabouzeid.gramophone.util.NavigationUtil; import com.kabouzeid.gramophone.util.NavigationUtil;
import com.kabouzeid.gramophone.util.Util;
import com.kabouzeid.gramophone.views.PlayPauseDrawable; import com.kabouzeid.gramophone.views.PlayPauseDrawable;
import butterknife.ButterKnife; import butterknife.ButterKnife;
@ -53,7 +53,7 @@ public abstract class AbsFabActivity extends AbsPlaybackControlActivity {
getFab().setImageDrawable(playPauseDrawable); getFab().setImageDrawable(playPauseDrawable);
final int accentColor = ThemeSingleton.get().positiveColor; final int accentColor = ThemeSingleton.get().positiveColor;
getFab().setBackgroundTintList(Util.getEmptyColorStateList(accentColor)); getFab().setBackgroundTintList(ColorUtil.getEmptyColorStateList(accentColor));
if (accentColor == Color.WHITE) { if (accentColor == Color.WHITE) {
getFab().getDrawable().setColorFilter(Color.BLACK, PorterDuff.Mode.SRC_IN); getFab().getDrawable().setColorFilter(Color.BLACK, PorterDuff.Mode.SRC_IN);
} else { } else {

View file

@ -10,7 +10,8 @@ import android.view.View;
import com.afollestad.materialdialogs.ThemeSingleton; import com.afollestad.materialdialogs.ThemeSingleton;
import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.interfaces.KabViewsDisableAble; import com.kabouzeid.gramophone.interfaces.KabViewsDisableAble;
import com.kabouzeid.gramophone.util.PreferenceUtils; import com.kabouzeid.gramophone.util.ColorUtil;
import com.kabouzeid.gramophone.util.PreferenceUtil;
import com.kabouzeid.gramophone.util.Util; import com.kabouzeid.gramophone.util.Util;
/** /**
@ -27,25 +28,25 @@ public abstract class AbsThemeActivity extends AppCompatActivity implements KabV
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
setTheme(PreferenceUtils.getInstance(this).getGeneralTheme()); setTheme(PreferenceUtil.getInstance(this).getGeneralTheme());
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setupTheme(); setupTheme();
} }
private void setupTheme() { private void setupTheme() {
colorPrimary = PreferenceUtils.getInstance(this).getThemeColorPrimary(); colorPrimary = PreferenceUtil.getInstance(this).getThemeColorPrimary();
colorPrimaryDarker = Util.shiftColorDown(colorPrimary); colorPrimaryDarker = ColorUtil.shiftColorDown(colorPrimary);
colorAccent = PreferenceUtils.getInstance(this).getThemeColorAccent(); colorAccent = PreferenceUtil.getInstance(this).getThemeColorAccent();
ThemeSingleton.get().positiveColor = colorAccent; ThemeSingleton.get().positiveColor = colorAccent;
ThemeSingleton.get().negativeColor = ThemeSingleton.get().positiveColor; ThemeSingleton.get().negativeColor = ThemeSingleton.get().positiveColor;
ThemeSingleton.get().neutralColor = ThemeSingleton.get().positiveColor; ThemeSingleton.get().neutralColor = ThemeSingleton.get().positiveColor;
ThemeSingleton.get().widgetColor = ThemeSingleton.get().positiveColor; ThemeSingleton.get().widgetColor = ThemeSingleton.get().positiveColor;
ThemeSingleton.get().darkTheme = PreferenceUtils.getInstance(this).getGeneralTheme() == R.style.Theme_MaterialMusic; ThemeSingleton.get().darkTheme = PreferenceUtil.getInstance(this).getGeneralTheme() == R.style.Theme_MaterialMusic;
if (!overridesTaskColor()) { if (!overridesTaskColor()) {
notifyTaskColorChange(PreferenceUtils.getInstance(this).getThemeColorPrimary()); notifyTaskColorChange(PreferenceUtil.getInstance(this).getThemeColorPrimary());
} }
} }
@ -83,12 +84,12 @@ public abstract class AbsThemeActivity extends AppCompatActivity implements KabV
protected final void setNavigationBarColor(int color) { protected final void setNavigationBarColor(int color) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
getWindow().setNavigationBarColor(Util.shiftColorDown(color)); getWindow().setNavigationBarColor(ColorUtil.shiftColorDown(color));
} }
protected final void setStatusBarColor(int color) { protected final void setStatusBarColor(int color) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
getWindow().setStatusBarColor(Util.shiftColorDown(color)); getWindow().setStatusBarColor(ColorUtil.shiftColorDown(color));
// also do this on Lollipop in case the user modified the statusbar height // also do this on Lollipop in case the user modified the statusbar height
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
final View statusBar = getWindow().getDecorView().getRootView().findViewById(R.id.status_bar); final View statusBar = getWindow().getDecorView().getRootView().findViewById(R.id.status_bar);
@ -106,12 +107,12 @@ public abstract class AbsThemeActivity extends AppCompatActivity implements KabV
protected final void resetNavigationBarColor() { protected final void resetNavigationBarColor() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
setNavigationBarColor(Util.resolveColor(this, android.R.attr.navigationBarColor)); setNavigationBarColor(ColorUtil.resolveColor(this, android.R.attr.navigationBarColor));
} }
protected final void resetStatusBarColor() { protected final void resetStatusBarColor() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
setStatusBarColor(Util.resolveColor(this, android.R.attr.statusBarColor)); setStatusBarColor(ColorUtil.resolveColor(this, android.R.attr.statusBarColor));
} }
protected boolean overridesTaskColor() { protected boolean overridesTaskColor() {

View file

@ -31,7 +31,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.PreferenceUtil;
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.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.ImageLoader;
@ -202,10 +202,10 @@ public abstract class AbsTagEditorActivity extends AbsBaseActivity {
private void resetColors() { private void resetColors() {
paletteColorPrimary = PreferenceUtils.getInstance(this).getThemeColorPrimary(); paletteColorPrimary = PreferenceUtil.getInstance(this).getThemeColorPrimary();
observableScrollViewCallbacks.onScrollChanged(observableScrollView.getCurrentScrollY(), false, false); observableScrollViewCallbacks.onScrollChanged(observableScrollView.getCurrentScrollY(), false, false);
setStatusBarColor(paletteColorPrimary); setStatusBarColor(paletteColorPrimary);
if (Util.isAtLeastLollipop() && PreferenceUtils.getInstance(this).coloredNavigationBarTagEditor()) if (PreferenceUtil.getInstance(this).coloredNavigationBarTagEditor())
setNavigationBarColor(paletteColorPrimary); setNavigationBarColor(paletteColorPrimary);
header.setBackgroundColor(paletteColorPrimary); header.setBackgroundColor(paletteColorPrimary);
notifyTaskColorChange(paletteColorPrimary); notifyTaskColorChange(paletteColorPrimary);
@ -254,12 +254,12 @@ public abstract class AbsTagEditorActivity extends AbsBaseActivity {
observableScrollViewCallbacks.onScrollChanged(observableScrollView.getCurrentScrollY(), false, false); observableScrollViewCallbacks.onScrollChanged(observableScrollView.getCurrentScrollY(), false, false);
paletteColorPrimary = getIntent().getIntExtra(EXTRA_PALETTE, paletteColorPrimary = getIntent().getIntExtra(EXTRA_PALETTE,
PreferenceUtils.getInstance(this).getThemeColorPrimary()); PreferenceUtil.getInstance(this).getThemeColorPrimary());
toolbar.setBackgroundColor(paletteColorPrimary); toolbar.setBackgroundColor(paletteColorPrimary);
header.setBackgroundColor(paletteColorPrimary); header.setBackgroundColor(paletteColorPrimary);
setStatusBarColor(paletteColorPrimary); setStatusBarColor(paletteColorPrimary);
if (PreferenceUtils.getInstance(this).coloredNavigationBarTagEditor()) if (PreferenceUtil.getInstance(this).coloredNavigationBarTagEditor())
setNavigationBarColor(paletteColorPrimary); setNavigationBarColor(paletteColorPrimary);
} }
@ -302,7 +302,7 @@ public abstract class AbsTagEditorActivity extends AbsBaseActivity {
paletteColorPrimary = palette.getVibrantColor(DialogUtils.resolveColor(AbsTagEditorActivity.this, R.attr.default_bar_color)); paletteColorPrimary = palette.getVibrantColor(DialogUtils.resolveColor(AbsTagEditorActivity.this, R.attr.default_bar_color));
observableScrollViewCallbacks.onScrollChanged(observableScrollView.getCurrentScrollY(), false, false); observableScrollViewCallbacks.onScrollChanged(observableScrollView.getCurrentScrollY(), false, false);
setStatusBarColor(paletteColorPrimary); setStatusBarColor(paletteColorPrimary);
if (Util.isAtLeastLollipop() && PreferenceUtils.getInstance(AbsTagEditorActivity.this).coloredNavigationBarTagEditor()) if (PreferenceUtil.getInstance(AbsTagEditorActivity.this).coloredNavigationBarTagEditor())
setNavigationBarColor(paletteColorPrimary); setNavigationBarColor(paletteColorPrimary);
header.setBackgroundColor(paletteColorPrimary); header.setBackgroundColor(paletteColorPrimary);
notifyTaskColorChange(paletteColorPrimary); notifyTaskColorChange(paletteColorPrimary);

View file

@ -6,7 +6,7 @@ import android.support.v7.widget.RecyclerView;
import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.adapter.AlbumAdapter; import com.kabouzeid.gramophone.adapter.AlbumAdapter;
import com.kabouzeid.gramophone.util.PreferenceUtils; import com.kabouzeid.gramophone.util.PreferenceUtil;
import com.kabouzeid.gramophone.util.Util; import com.kabouzeid.gramophone.util.Util;
/** /**
@ -19,7 +19,7 @@ public class AlbumViewFragment extends AbsMainActivityRecyclerViewFragment {
@Override @Override
protected RecyclerView.LayoutManager createLayoutManager() { protected RecyclerView.LayoutManager createLayoutManager() {
int columns = Util.isInPortraitMode(getActivity()) ? PreferenceUtils.getInstance(getActivity()).getAlbumGridColumns() : PreferenceUtils.getInstance(getActivity()).getAlbumGridColumnsLand(); int columns = Util.isInPortraitMode(getActivity()) ? PreferenceUtil.getInstance(getActivity()).getAlbumGridColumns() : PreferenceUtil.getInstance(getActivity()).getAlbumGridColumnsLand();
layoutManager = new GridLayoutManager(getActivity(), columns); layoutManager = new GridLayoutManager(getActivity(), columns);
return layoutManager; return layoutManager;
} }

View file

@ -0,0 +1,51 @@
package com.kabouzeid.gramophone.util;
import android.content.Context;
import android.content.res.ColorStateList;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.support.annotation.AttrRes;
import android.support.annotation.ColorInt;
import android.support.annotation.NonNull;
/**
* @author Karim Abou Zeid (kabouzeid)
*/
public class ColorUtil {
public static int resolveColor(@NonNull Context context, @AttrRes int colorAttr) {
TypedArray a = context.obtainStyledAttributes(new int[]{colorAttr});
int resId = a.getColor(0, 0);
a.recycle();
return resId;
}
public static int getOpaqueColor(@ColorInt int color) {
return color | 0xFF000000;
}
public static int getColorWithAlpha(float alpha, int baseColor) {
int a = Math.min(255, Math.max(0, (int) (alpha * 255))) << 24;
int rgb = 0x00ffffff & baseColor;
return a + rgb;
}
@SuppressWarnings("ResourceType")
public static int shiftColorDown(int color) {
int alpha = Color.alpha(color);
float[] hsv = new float[3];
Color.colorToHSV(color, hsv);
hsv[2] *= 0.9f; // value component
return (alpha << 24) + (0x00ffffff & Color.HSVToColor(hsv));
}
@NonNull
public static ColorStateList getEmptyColorStateList(int color) {
return new ColorStateList(
new int[][]{
new int[]{}
},
new int[]{color}
);
}
}

View file

@ -3,6 +3,7 @@ package com.kabouzeid.gramophone.util;
import android.content.Context; import android.content.Context;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.graphics.BitmapFactory; import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.graphics.Point; import android.graphics.Point;
import android.support.annotation.NonNull; import android.support.annotation.NonNull;
import android.support.annotation.Nullable; import android.support.annotation.Nullable;
@ -24,6 +25,20 @@ import java.io.IOException;
*/ */
public class ImageUtil { public class ImageUtil {
public static Bitmap getResizedBitmap(@NonNull Bitmap bm, int newHeight, int newWidth, boolean recycleOld) {
int width = bm.getWidth();
int height = bm.getHeight();
float scaleWidth = ((float) newWidth) / width;
float scaleHeight = ((float) newHeight) / height;
Matrix matrix = new Matrix();
matrix.postScale(scaleWidth, scaleHeight);
Bitmap resizedBitmap = Bitmap.createBitmap(bm, 0, 0, width, height, matrix, false);
if (recycleOld && resizedBitmap != bm) {
bm.recycle();
}
return resizedBitmap;
}
@Nullable @Nullable
public static Bitmap getEmbeddedSongArt(File songFile, @NonNull Context context) { public static Bitmap getEmbeddedSongArt(File songFile, @NonNull Context context) {
try { try {

View file

@ -1,67 +0,0 @@
package com.kabouzeid.gramophone.util;
import android.content.Context;
import android.support.annotation.NonNull;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
/**
* @author Karim Abou Zeid (kabouzeid)
* <p/>
* A simple helper class for Android to read and write
* any serializeable object to the internal storage
*/
public final class InternalStorageUtil {
/**
* @param context a valid {@link Context}
* @param key the filename
* @param object any {@link java.io.Serializable} object which will be written to the internal storage
*/
public static synchronized void writeObject(@NonNull final Context context, @NonNull final String key, final Object object) throws IOException {
// First write the object to a file with ".tmp" postfix,
// so when an error occurs, we do not overwrite the original
// file (if exists) with a corrupted file.
String tempFileName = key + ".tmp";
FileOutputStream fos;
fos = context.openFileOutput(tempFileName, Context.MODE_PRIVATE);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(object);
oos.close();
fos.close();
// after writing was successful we overwrite the original
// file (if exists) with the new file
renameAppFile(context, tempFileName, key);
}
/**
* @param context a valid {@link Context}
* @param originalFileName the original filename
* @param newFileName the new filename
*/
public static synchronized void renameAppFile(@NonNull final Context context, String originalFileName, @NonNull String newFileName) {
File originalFile = context.getFileStreamPath(originalFileName);
File newFile = new File(originalFile.getParent(), newFileName);
if (newFile.exists()) {
context.deleteFile(newFileName);
}
//noinspection ResultOfMethodCallIgnored
originalFile.renameTo(newFile);
}
/**
* @param context a valid {@link Context}
* @param key the filename
*/
public static synchronized Object readObject(@NonNull final Context context, String key) throws IOException,
ClassNotFoundException {
FileInputStream fis = context.openFileInput(key);
ObjectInputStream ois = new ObjectInputStream(fis);
return ois.readObject();
}
}

View file

@ -59,19 +59,6 @@ public class PlaylistsUtil {
return id; return id;
} }
// public static void clearPlaylist(final Context context, final int playlistId) {
// final Uri uri = MediaStore.Audio.Playlists.Members.getContentUri("external", playlistId);
// context.getContentResolver().delete(uri, null, null);
// }
// public static void deletePlaylists(final Context context, final long playlistId) {
// final Uri uri = MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI;
// String where = MediaStore.Audio.Playlists._ID + "=?";
// String[] whereVal = {String.valueOf(playlistId)};
// context.getContentResolver().delete(uri, where, whereVal);
// App.bus.post(new DataBaseChangedEvent(DataBaseChangedEvent.PLAYLISTS_CHANGED));
// }
public static void deletePlaylists(@NonNull final Context context, @NonNull final ArrayList<Playlist> playlists) { public static void deletePlaylists(@NonNull final Context context, @NonNull final ArrayList<Playlist> playlists) {
final Uri uri = MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI; final Uri uri = MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI;
final StringBuilder selection = new StringBuilder(); final StringBuilder selection = new StringBuilder();
@ -183,21 +170,6 @@ public class PlaylistsUtil {
return false; return false;
} }
// public static int getSongCountForPlaylist(final Context context, final long playlistId) {
// Cursor c = context.getContentResolver().query(
// MediaStore.Audio.Playlists.Members.getContentUri("external", playlistId),
// new String[]{BaseColumns._ID}, MUSIC_ONLY_SELECTION, null, null);
// if (c != null) {
// int count = 0;
// if (c.moveToFirst()) {
// count = c.getCount();
// }
// c.close();
// return count;
// }
// return 0;
// }
public static boolean moveItem(@NonNull final Context context, int playlistId, int from, int to) { public static boolean moveItem(@NonNull final Context context, int playlistId, int from, int to) {
return MediaStore.Audio.Playlists.Members.moveItem(context.getContentResolver(), return MediaStore.Audio.Playlists.Members.moveItem(context.getContentResolver(),
playlistId, from, to); playlistId, from, to);

View file

@ -8,11 +8,12 @@ import android.support.annotation.NonNull;
import android.support.annotation.Nullable; import android.support.annotation.Nullable;
import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.helper.SortOrder;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
public final class PreferenceUtils { public final class PreferenceUtil {
public static final int DEFAULT_PAGE = 1; public static final int DEFAULT_PAGE = 1;
public static final String GENERAL_THEME = "general_theme"; public static final String GENERAL_THEME = "general_theme";
@ -49,20 +50,20 @@ public final class PreferenceUtils {
public static final String NEXT_SLEEP_TIMER_ELAPSED_REALTIME = "next_sleep_timer_elapsed_real_time"; public static final String NEXT_SLEEP_TIMER_ELAPSED_REALTIME = "next_sleep_timer_elapsed_real_time";
public static final String IGNORE_MEDIA_STORE_ARTWORK = "ignore_media_store_artwork"; public static final String IGNORE_MEDIA_STORE_ARTWORK = "ignore_media_store_artwork";
private static PreferenceUtils sInstance; private static PreferenceUtil sInstance;
@NonNull @NonNull
private final Context mContext; private final Context mContext;
private final SharedPreferences mPreferences; private final SharedPreferences mPreferences;
public PreferenceUtils(@NonNull final Context context) { public PreferenceUtil(@NonNull final Context context) {
mContext = context; mContext = context;
mPreferences = PreferenceManager.getDefaultSharedPreferences(context); mPreferences = PreferenceManager.getDefaultSharedPreferences(context);
} }
public static PreferenceUtils getInstance(@NonNull final Context context) { public static PreferenceUtil getInstance(@NonNull final Context context) {
if (sInstance == null) { if (sInstance == null) {
sInstance = new PreferenceUtils(context.getApplicationContext()); sInstance = new PreferenceUtil(context.getApplicationContext());
} }
return sInstance; return sInstance;
} }
@ -83,7 +84,7 @@ public final class PreferenceUtils {
} }
public int getThemeColorPrimaryDarker() { public int getThemeColorPrimaryDarker() {
return Util.shiftColorDown(getThemeColorPrimary()); return ColorUtil.shiftColorDown(getThemeColorPrimary());
} }
@SuppressLint("CommitPrefEdits") @SuppressLint("CommitPrefEdits")

View file

@ -3,22 +3,18 @@ package com.kabouzeid.gramophone.util;
import android.annotation.TargetApi; import android.annotation.TargetApi;
import android.app.Activity; import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.content.res.ColorStateList;
import android.content.res.Configuration; import android.content.res.Configuration;
import android.content.res.TypedArray; import android.content.res.TypedArray;
import android.graphics.Bitmap; import android.graphics.Point;
import android.graphics.Color;
import android.graphics.Matrix;
import android.graphics.PorterDuff; import android.graphics.PorterDuff;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.os.Build; import android.os.Build;
import android.support.annotation.AttrRes;
import android.support.annotation.ColorInt;
import android.support.annotation.DrawableRes; import android.support.annotation.DrawableRes;
import android.support.annotation.NonNull; import android.support.annotation.NonNull;
import android.support.annotation.Nullable; import android.support.annotation.Nullable;
import android.support.v4.content.ContextCompat; import android.support.v4.content.ContextCompat;
import android.util.TypedValue; import android.util.TypedValue;
import android.view.Display;
import android.view.View; import android.view.View;
import android.view.Window; import android.view.Window;
import android.view.WindowManager; import android.view.WindowManager;
@ -31,27 +27,6 @@ import com.kabouzeid.gramophone.R;
*/ */
public class Util { public class Util {
// public static int resolveDrawable(Context context, int drawable) {
// TypedArray a = context.obtainStyledAttributes(new int[]{drawable});
// int resId = a.getResourceId(0, 0);
// a.recycle();
// return resId;
// }
public static int resolveColor(@NonNull Context context, @AttrRes int colorAttr) {
TypedArray a = context.obtainStyledAttributes(new int[]{colorAttr});
int resId = a.getColor(0, 0);
a.recycle();
return resId;
}
// public static boolean isWindowTranslucent(Context context) {
// TypedArray a = context.obtainStyledAttributes(new int[]{android.R.attr.windowTranslucentStatus});
// boolean result = a.getBoolean(0, false);
// a.recycle();
// return result;
// }
public static int getActionBarSize(@NonNull Context context) { public static int getActionBarSize(@NonNull Context context) {
TypedValue typedValue = new TypedValue(); TypedValue typedValue = new TypedValue();
int[] textSizeAttr = new int[]{R.attr.actionBarSize}; int[] textSizeAttr = new int[]{R.attr.actionBarSize};
@ -62,40 +37,12 @@ public class Util {
return actionBarSize; return actionBarSize;
} }
public static int getStatusBarHeight(@NonNull Context context) { public static Point getScreenSize(@NonNull Context c) {
int result = 0; Display display = ((WindowManager) c.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android"); Point size = new Point();
if (resourceId > 0) { display.getSize(size);
result = context.getResources().getDimensionPixelSize(resourceId); return size;
} }
return result;
}
public static int getNavigationBarHeight(@NonNull Context context) {
int result = 0;
int resourceId = context.getResources().getIdentifier("navigation_bar_height", "dimen", "android");
if (resourceId > 0) {
result = context.getResources().getDimensionPixelSize(resourceId);
}
return result;
}
// @TargetApi(19)
// public static void setNavBarTranslucent(Window window, boolean translucent) {
// if (translucent) {
// window.setFlags(
// WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION,
// WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
// return;
// }
//
// final WindowManager.LayoutParams attrs = window
// .getAttributes();
// attrs.flags &= (~WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
// window.setAttributes(attrs);
// window.clearFlags(
// WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
// }
@TargetApi(19) @TargetApi(19)
public static void setStatusBarTranslucent(@NonNull Window window, boolean translucent) { public static void setStatusBarTranslucent(@NonNull Window window, boolean translucent) {
@ -120,31 +67,6 @@ public class Util {
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN); | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
} }
@NonNull
public static String getFileSizeString(long sizeInBytes) {
long fileSizeInKB = sizeInBytes / 1024;
long fileSizeInMB = fileSizeInKB / 1024;
return fileSizeInMB + " MB";
}
// public static String getFilePathFromContentProviderUri(Context context, Uri uri) {
// String path = "";
// String[] projection = {MediaStore.MediaColumns.DATA};
// Cursor cursor = context.getContentResolver().query(uri, projection, null, null, null);
// if (cursor == null) return null;
// int column_index = cursor.getColumnIndexOrThrow(projection[0]);
// if (cursor.moveToFirst()) {
// path = cursor.getString(column_index);
// }
// cursor.close();
// return path;
// }
//
// private static Bitmap getScaledBitmap(final Bitmap bitmap) {
// int albumArtSize = 600;
// return Bitmap.createScaledBitmap(bitmap, albumArtSize, albumArtSize, false);
// }
public static void hideSoftKeyboard(@Nullable Activity activity) { public static void hideSoftKeyboard(@Nullable Activity activity) {
if (activity != null) { if (activity != null) {
View currentFocus = activity.getCurrentFocus(); View currentFocus = activity.getCurrentFocus();
@ -155,14 +77,6 @@ public class Util {
} }
} }
public static boolean isAtLeastLollipop() {
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP;
}
public static boolean isAtLeastKitKat() {
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT;
}
public static boolean isTablet(@NonNull final Context context) { public static boolean isTablet(@NonNull final Context context) {
return context.getResources().getConfiguration().smallestScreenWidthDp >= 600; return context.getResources().getConfiguration().smallestScreenWidthDp >= 600;
} }
@ -179,35 +93,6 @@ public class Util {
return drawable; return drawable;
} }
public static int getOpaqueColor(@ColorInt int color) {
return color | 0xFF000000;
}
public static int getColorWithAlpha(float alpha, int baseColor) {
int a = Math.min(255, Math.max(0, (int) (alpha * 255))) << 24;
int rgb = 0x00ffffff & baseColor;
return a + rgb;
}
@SuppressWarnings("ResourceType")
public static int shiftColorDown(int color) {
int alpha = Color.alpha(color);
float[] hsv = new float[3];
Color.colorToHSV(color, hsv);
hsv[2] *= 0.9f; // value component
return (alpha << 24) + (0x00ffffff & Color.HSVToColor(hsv));
}
@NonNull
public static ColorStateList getEmptyColorStateList(int color) {
return new ColorStateList(
new int[][]{
new int[]{}
},
new int[]{color}
);
}
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1) @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
public static boolean isRTL(@NonNull Context context) { public static boolean isRTL(@NonNull Context context) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
@ -215,18 +100,4 @@ public class Util {
return config.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL; return config.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL;
} else return false; } else return false;
} }
public static Bitmap getResizedBitmap(@NonNull Bitmap bm, int newHeight, int newWidth, boolean recycleOld) {
int width = bm.getWidth();
int height = bm.getHeight();
float scaleWidth = ((float) newWidth) / width;
float scaleHeight = ((float) newHeight) / height;
Matrix matrix = new Matrix();
matrix.postScale(scaleWidth, scaleHeight);
Bitmap resizedBitmap = Bitmap.createBitmap(bm, 0, 0, width, height, matrix, false);
if (recycleOld && resizedBitmap != bm) {
bm.recycle();
}
return resizedBitmap;
}
} }

View file

@ -8,11 +8,9 @@ import android.support.annotation.Nullable;
import android.support.v7.internal.view.menu.ListMenuItemView; import android.support.v7.internal.view.menu.ListMenuItemView;
import android.support.v7.internal.view.menu.MenuPopupHelper; import android.support.v7.internal.view.menu.MenuPopupHelper;
import android.view.View; import android.view.View;
import android.view.ViewGroup;
import android.view.ViewTreeObserver; import android.view.ViewTreeObserver;
import android.view.animation.PathInterpolator; import android.view.animation.PathInterpolator;
import android.widget.CheckBox; import android.widget.CheckBox;
import android.widget.ListAdapter;
import android.widget.ListView; import android.widget.ListView;
import android.widget.RadioButton; import android.widget.RadioButton;
import android.widget.TextView; import android.widget.TextView;
@ -28,50 +26,6 @@ import java.lang.reflect.Field;
public class ViewUtil { public class ViewUtil {
public final static int DEFAULT_COLOR_ANIMATION_DURATION = 500; public final static int DEFAULT_COLOR_ANIMATION_DURATION = 500;
public static void disableViews(@NonNull ViewGroup layout) {
for (int i = 0; i < layout.getChildCount(); i++) {
View child = layout.getChildAt(i);
if (child instanceof ViewGroup) {
disableViews((ViewGroup) child);
} else {
child.setEnabled(false);
}
}
}
public static void enableViews(@NonNull ViewGroup layout) {
for (int i = 0; i < layout.getChildCount(); i++) {
View child = layout.getChildAt(i);
if (child instanceof ViewGroup) {
enableViews((ViewGroup) child);
} else {
child.setEnabled(true);
}
}
}
public static void setListViewHeightBasedOnChildren(@NonNull ListView listView) {
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null)
return;
int desiredWidth = View.MeasureSpec.makeMeasureSpec(listView.getWidth(), View.MeasureSpec.UNSPECIFIED);
int totalHeight = 0;
View view = null;
for (int i = 0; i < listAdapter.getCount(); i++) {
view = listAdapter.getView(i, view, listView);
if (i == 0)
view.setLayoutParams(new ViewGroup.LayoutParams(desiredWidth, ViewGroup.LayoutParams.WRAP_CONTENT));
view.measure(desiredWidth, View.MeasureSpec.UNSPECIFIED);
totalHeight += view.getMeasuredHeight();
}
ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
listView.setLayoutParams(params);
listView.requestLayout();
}
public static void animateViewColor(final View v, final int startColor, final int endColor) { public static void animateViewColor(final View v, final int startColor, final int endColor) {
animateViewColor(v, startColor, endColor, DEFAULT_COLOR_ANIMATION_DURATION); animateViewColor(v, startColor, endColor, DEFAULT_COLOR_ANIMATION_DURATION);
} }
@ -124,18 +78,6 @@ public class ViewUtil {
}); });
} }
// public static void animateTextViewMaxLines(TextView text, int maxLines) {
// try {
// ObjectAnimator animation = ObjectAnimator.ofInt(text, "maxLines", maxLines);
// animation.setInterpolator(new AccelerateInterpolator());
// animation.setDuration(200);
// animation.start();
// } catch (Exception e) {
// // Some devices crash at runtime when using the ObjectAnimator
// text.setMaxLines(maxLines);
// }
// }
public static void setCheckBoxTintForMenu(@Nullable MenuPopupHelper menuPopupHelper) { public static void setCheckBoxTintForMenu(@Nullable MenuPopupHelper menuPopupHelper) {
if (menuPopupHelper != null) { if (menuPopupHelper != null) {
final ListView listView = menuPopupHelper.getPopup().getListView(); final ListView listView = menuPopupHelper.getPopup().getListView();

View file

@ -15,7 +15,7 @@ import android.util.AttributeSet;
import android.widget.FrameLayout; import android.widget.FrameLayout;
import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.util.Util; import com.kabouzeid.gramophone.util.ColorUtil;
public class ColorView extends FrameLayout { public class ColorView extends FrameLayout {
@ -69,7 +69,7 @@ public class ColorView extends FrameLayout {
@Override @Override
public void setBackgroundColor(int color) { public void setBackgroundColor(int color) {
paint.setColor(color); paint.setColor(color);
paintBorder.setColor(Util.shiftColorDown(color)); paintBorder.setColor(ColorUtil.shiftColorDown(color));
requestLayout(); requestLayout();
invalidate(); invalidate();
} }

View file

@ -18,6 +18,7 @@ import android.widget.FrameLayout;
import com.afollestad.materialdialogs.ThemeSingleton; import com.afollestad.materialdialogs.ThemeSingleton;
import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.util.ColorUtil;
import com.kabouzeid.gramophone.util.Util; import com.kabouzeid.gramophone.util.Util;
import static android.support.v7.widget.RecyclerView.OnScrollListener; import static android.support.v7.widget.RecyclerView.OnScrollListener;
@ -182,7 +183,7 @@ public class FastScroller extends FrameLayout {
public void setPressedHandleColor(int accent) { public void setPressedHandleColor(int accent) {
StateListDrawable drawable = new StateListDrawable(); StateListDrawable drawable = new StateListDrawable();
int colorControlNormal = Util.resolveColor(getContext(), R.attr.colorControlNormal); int colorControlNormal = ColorUtil.resolveColor(getContext(), R.attr.colorControlNormal);
if (!Util.isRTL(getContext())) { if (!Util.isRTL(getContext())) {
drawable.addState(View.PRESSED_ENABLED_STATE_SET, drawable.addState(View.PRESSED_ENABLED_STATE_SET,
@ -201,7 +202,7 @@ public class FastScroller extends FrameLayout {
private void setUpBarBackground() { private void setUpBarBackground() {
Drawable drawable; Drawable drawable;
int colorControlNormal = Util.resolveColor(getContext(), R.attr.colorControlNormal); int colorControlNormal = ColorUtil.resolveColor(getContext(), R.attr.colorControlNormal);
if (!Util.isRTL(getContext())) { if (!Util.isRTL(getContext())) {
drawable = new InsetDrawable(new ColorDrawable(colorControlNormal), getResources().getDimensionPixelSize(R.dimen.scrollbar_inset), 0, 0, 0); drawable = new InsetDrawable(new ColorDrawable(colorControlNormal), getResources().getDimensionPixelSize(R.dimen.scrollbar_inset), 0, 0, 0);