overhaul existing preferences
This commit is contained in:
parent
6d9d3101c1
commit
7c83b50179
66 changed files with 98 additions and 543 deletions
|
|
@ -59,9 +59,7 @@ public class AlbumCoverPagerAdapter extends CustomFragmentStatePagerAdapter {
|
|||
return o;
|
||||
}
|
||||
|
||||
/**
|
||||
* Only the latest passed {@link AlbumCoverFragment.ColorReceiver} is guaranteed to receive a response
|
||||
*/
|
||||
// only the latest ColorReceiver is guaranteed a response
|
||||
public void receiveColor(AlbumCoverFragment.ColorReceiver colorReceiver, int position) {
|
||||
AlbumCoverFragment fragment = (AlbumCoverFragment) getFragment(position);
|
||||
if (fragment != null) {
|
||||
|
|
@ -74,7 +72,7 @@ public class AlbumCoverPagerAdapter extends CustomFragmentStatePagerAdapter {
|
|||
}
|
||||
}
|
||||
|
||||
public static class AlbumCoverFragment extends Fragment implements SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
public static class AlbumCoverFragment extends Fragment {
|
||||
private static final String SONG_ARG = "song";
|
||||
|
||||
private Unbinder unbinder;
|
||||
|
|
@ -112,24 +110,18 @@ public class AlbumCoverPagerAdapter extends CustomFragmentStatePagerAdapter {
|
|||
@Override
|
||||
public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
forceSquareAlbumCover(false);
|
||||
// TODO
|
||||
// forceSquareAlbumCover(PreferenceUtil.getInstance(getContext()).forceSquareAlbumCover());
|
||||
PreferenceUtil.getInstance(getActivity()).registerOnSharedPreferenceChangedListener(this);
|
||||
loadAlbumCover();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView() {
|
||||
super.onDestroyView();
|
||||
PreferenceUtil.getInstance(getActivity()).unregisterOnSharedPreferenceChangedListener(this);
|
||||
unbinder.unbind();
|
||||
colorReceiver = null;
|
||||
}
|
||||
|
||||
private void loadAlbumCover() {
|
||||
SongGlideRequest.Builder.from(Glide.with(this), song)
|
||||
.checkIgnoreMediaStore(getActivity())
|
||||
SongGlideRequest.Builder.from(Glide.with(getContext()), song)
|
||||
.generatePalette(getActivity()).build()
|
||||
.into(new CustomPaletteTarget(albumCover) {
|
||||
@Override
|
||||
|
|
@ -139,20 +131,6 @@ public class AlbumCoverPagerAdapter extends CustomFragmentStatePagerAdapter {
|
|||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
|
||||
switch (key) {
|
||||
case PreferenceUtil.FORCE_SQUARE_ALBUM_COVER:
|
||||
// TODO
|
||||
// forceSquareAlbumCover(PreferenceUtil.getInstance(getActivity()).forceSquareAlbumCover());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void forceSquareAlbumCover(boolean forceSquareAlbumCover) {
|
||||
albumCover.setScaleType(forceSquareAlbumCover ? ImageView.ScaleType.FIT_CENTER : ImageView.ScaleType.CENTER_CROP);
|
||||
}
|
||||
|
||||
private void setColor(int color) {
|
||||
this.color = color;
|
||||
isColorReady = true;
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public class MusicLibraryPagerAdapter extends FragmentPagerAdapter {
|
|||
public MusicLibraryPagerAdapter(@NonNull final Context context, final FragmentManager fragmentManager) {
|
||||
super(fragmentManager);
|
||||
mContext = context;
|
||||
setCategoryInfos(PreferenceUtil.getInstance(context).getLibraryCategoryInfos());
|
||||
setCategoryInfos(PreferenceUtil.getInstance(context).getLibraryCategories());
|
||||
}
|
||||
|
||||
public void setCategoryInfos(@NonNull List<CategoryInfo> categoryInfos) {
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ public class SearchAdapter extends RecyclerView.Adapter<SearchAdapter.ViewHolder
|
|||
holder.title.setText(album.getTitle());
|
||||
holder.text.setText(MusicUtil.getAlbumInfoString(activity, album));
|
||||
SongGlideRequest.Builder.from(Glide.with(activity), album.safeGetFirstSong())
|
||||
.checkIgnoreMediaStore(activity).build()
|
||||
.build()
|
||||
.into(holder.image);
|
||||
break;
|
||||
case ARTIST:
|
||||
|
|
|
|||
|
|
@ -134,7 +134,6 @@ public class AlbumAdapter extends AbsMultiSelectAdapter<AlbumAdapter.ViewHolder,
|
|||
if (holder.image == null) return;
|
||||
|
||||
SongGlideRequest.Builder.from(Glide.with(activity), album.safeGetFirstSong())
|
||||
.checkIgnoreMediaStore(activity)
|
||||
.generatePalette(activity).build()
|
||||
.into(new CustomPaletteTarget(holder.image) {
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -55,7 +55,6 @@ public class HorizontalAlbumAdapter extends AlbumAdapter {
|
|||
if (holder.image == null) return;
|
||||
|
||||
SongGlideRequest.Builder.from(Glide.with(activity), album.safeGetFirstSong())
|
||||
.checkIgnoreMediaStore(activity)
|
||||
.generatePalette(activity).build()
|
||||
.into(new CustomPaletteTarget(holder.image) {
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ public class ArtistSongAdapter extends ArrayAdapter<Song> implements MaterialCab
|
|||
songInfo.setText(song.albumName);
|
||||
|
||||
SongGlideRequest.Builder.from(Glide.with(activity), song)
|
||||
.checkIgnoreMediaStore(activity).build()
|
||||
.build()
|
||||
.into(albumArt);
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
||||
|
|
|
|||
|
|
@ -134,7 +134,6 @@ public class SongAdapter extends AbsMultiSelectAdapter<SongAdapter.ViewHolder, S
|
|||
if (holder.image == null) return;
|
||||
|
||||
SongGlideRequest.Builder.from(Glide.with(activity), song)
|
||||
.checkIgnoreMediaStore(activity)
|
||||
.generatePalette(activity).build()
|
||||
.into(new CustomPaletteTarget(holder.image) {
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -17,14 +17,11 @@ import com.kabouzeid.gramophone.glide.audiocover.AudioFileCover;
|
|||
import com.kabouzeid.gramophone.glide.palette.BitmapPaletteTranscoder;
|
||||
import com.kabouzeid.gramophone.glide.palette.BitmapPaletteWrapper;
|
||||
import com.kabouzeid.gramophone.model.Song;
|
||||
import com.kabouzeid.gramophone.util.MusicUtil;
|
||||
import com.kabouzeid.gramophone.util.PreferenceUtil;
|
||||
|
||||
/**
|
||||
* @author Karim Abou Zeid (kabouzeid)
|
||||
*/
|
||||
public class SongGlideRequest {
|
||||
|
||||
public static final DiskCacheStrategy DEFAULT_DISK_CACHE_STRATEGY = DiskCacheStrategy.NONE;
|
||||
public static final int DEFAULT_ERROR_IMAGE = R.drawable.default_album_art;
|
||||
public static final int DEFAULT_ANIMATION = android.R.anim.fade_in;
|
||||
|
|
@ -32,7 +29,6 @@ public class SongGlideRequest {
|
|||
public static class Builder {
|
||||
final RequestManager requestManager;
|
||||
final Song song;
|
||||
boolean ignoreMediaStore;
|
||||
|
||||
public static Builder from(@NonNull RequestManager requestManager, Song song) {
|
||||
return new Builder(requestManager, song);
|
||||
|
|
@ -51,18 +47,9 @@ public class SongGlideRequest {
|
|||
return new BitmapBuilder(this);
|
||||
}
|
||||
|
||||
public Builder checkIgnoreMediaStore(Context context) {
|
||||
return ignoreMediaStore(PreferenceUtil.getInstance(context).ignoreMediaStoreArtwork());
|
||||
}
|
||||
|
||||
public Builder ignoreMediaStore(boolean ignoreMediaStore) {
|
||||
this.ignoreMediaStore = ignoreMediaStore;
|
||||
return this;
|
||||
}
|
||||
|
||||
public DrawableRequestBuilder<GlideDrawable> build() {
|
||||
//noinspection unchecked
|
||||
return createBaseRequest(requestManager, song, ignoreMediaStore)
|
||||
return createBaseRequest(requestManager, song)
|
||||
.diskCacheStrategy(DEFAULT_DISK_CACHE_STRATEGY)
|
||||
.error(DEFAULT_ERROR_IMAGE)
|
||||
.animate(DEFAULT_ANIMATION)
|
||||
|
|
@ -79,7 +66,7 @@ public class SongGlideRequest {
|
|||
|
||||
public BitmapRequestBuilder<?, Bitmap> build() {
|
||||
//noinspection unchecked
|
||||
return createBaseRequest(builder.requestManager, builder.song, builder.ignoreMediaStore)
|
||||
return createBaseRequest(builder.requestManager, builder.song)
|
||||
.asBitmap()
|
||||
.diskCacheStrategy(DEFAULT_DISK_CACHE_STRATEGY)
|
||||
.error(DEFAULT_ERROR_IMAGE)
|
||||
|
|
@ -99,7 +86,7 @@ public class SongGlideRequest {
|
|||
|
||||
public BitmapRequestBuilder<?, BitmapPaletteWrapper> build() {
|
||||
//noinspection unchecked
|
||||
return createBaseRequest(builder.requestManager, builder.song, builder.ignoreMediaStore)
|
||||
return createBaseRequest(builder.requestManager, builder.song)
|
||||
.asBitmap()
|
||||
.transcode(new BitmapPaletteTranscoder(context), BitmapPaletteWrapper.class)
|
||||
.diskCacheStrategy(DEFAULT_DISK_CACHE_STRATEGY)
|
||||
|
|
@ -109,12 +96,8 @@ public class SongGlideRequest {
|
|||
}
|
||||
}
|
||||
|
||||
public static DrawableTypeRequest createBaseRequest(RequestManager requestManager, Song song, boolean ignoreMediaStore) {
|
||||
if (ignoreMediaStore) {
|
||||
return requestManager.load(new AudioFileCover(song.data));
|
||||
} else {
|
||||
return requestManager.loadFromMediaStore(MusicUtil.getMediaStoreAlbumCoverUri(song.albumId));
|
||||
}
|
||||
public static DrawableTypeRequest createBaseRequest(RequestManager requestManager, Song song) {
|
||||
return requestManager.load(new AudioFileCover(song.data));
|
||||
}
|
||||
|
||||
public static Key createSignature(Song song) {
|
||||
|
|
|
|||
|
|
@ -19,31 +19,25 @@ import com.bumptech.glide.Priority;
|
|||
import com.bumptech.glide.load.data.DataFetcher;
|
||||
import com.kabouzeid.gramophone.glide.audiocover.AudioFileCoverUtils;
|
||||
import com.kabouzeid.gramophone.util.ImageUtil;
|
||||
import com.kabouzeid.gramophone.util.PreferenceUtil;
|
||||
|
||||
/**
|
||||
* @author Karim Abou Zeid (kabouzeid)
|
||||
*/
|
||||
public class ArtistImageFetcher implements DataFetcher<InputStream> {
|
||||
|
||||
private final ArtistImage model;
|
||||
|
||||
private ArtistImage model;
|
||||
private InputStream stream;
|
||||
|
||||
private boolean ignoreMediaStore;
|
||||
|
||||
public ArtistImageFetcher(final ArtistImage model, boolean ignoreMediaStore) {
|
||||
public ArtistImageFetcher(final ArtistImage model) {
|
||||
this.model = model;
|
||||
this.ignoreMediaStore = ignoreMediaStore;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getId() {
|
||||
Log.d("MOSAIC", "get id for" + model.artistName);
|
||||
// never return NULL here!
|
||||
// this id is used to determine whether the image is already cached
|
||||
// we use the artist name as well as the album years + file paths
|
||||
return model.toIdString() + "ignoremediastore:" + ignoreMediaStore;
|
||||
return model.toIdString();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -65,18 +59,7 @@ public class ArtistImageFetcher implements DataFetcher<InputStream> {
|
|||
|
||||
try {
|
||||
for (final AlbumCover cover : albumCovers) {
|
||||
byte[] picture = null;
|
||||
if (!ignoreMediaStore) {
|
||||
retriever.setDataSource(cover.getFilePath());
|
||||
picture = retriever.getEmbeddedPicture();
|
||||
}
|
||||
final InputStream stream;
|
||||
if (picture != null) {
|
||||
stream = new ByteArrayInputStream(picture);
|
||||
} else {
|
||||
stream = AudioFileCoverUtils.fallback(cover.getFilePath());
|
||||
}
|
||||
|
||||
InputStream stream = AudioFileCoverUtils.fallback(cover.getFilePath());
|
||||
if (stream != null) {
|
||||
images.put(stream, cover.getYear());
|
||||
}
|
||||
|
|
@ -120,14 +103,11 @@ public class ArtistImageFetcher implements DataFetcher<InputStream> {
|
|||
final ByteArrayOutputStream bos = new ByteArrayOutputStream();
|
||||
bitmap.compress(Bitmap.CompressFormat.PNG, 0, bos);
|
||||
result = new ByteArrayInputStream(bos.toByteArray());
|
||||
|
||||
} else if (nbImages > 0) {
|
||||
// we return the last cover album of the artist
|
||||
Map.Entry<InputStream, Integer> maxEntryYear = null;
|
||||
|
||||
for (final Map.Entry<InputStream, Integer> entry : images.entrySet()) {
|
||||
if (maxEntryYear == null || entry.getValue()
|
||||
.compareTo(maxEntryYear.getValue()) > 0) {
|
||||
if (maxEntryYear == null || entry.getValue().compareTo(maxEntryYear.getValue()) > 0) {
|
||||
maxEntryYear = entry;
|
||||
}
|
||||
}
|
||||
|
|
@ -135,12 +115,8 @@ public class ArtistImageFetcher implements DataFetcher<InputStream> {
|
|||
if (maxEntryYear != null) {
|
||||
result = maxEntryYear.getKey();
|
||||
} else {
|
||||
result = images.entrySet()
|
||||
.iterator()
|
||||
.next()
|
||||
.getKey();
|
||||
result = images.entrySet().iterator().next().getKey();
|
||||
}
|
||||
|
||||
}
|
||||
} finally {
|
||||
retriever.release();
|
||||
|
|
@ -151,7 +127,6 @@ public class ArtistImageFetcher implements DataFetcher<InputStream> {
|
|||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,12 +24,10 @@ public class ArtistImageLoader implements StreamModelLoader<ArtistImage> {
|
|||
|
||||
@Override
|
||||
public DataFetcher<InputStream> getResourceFetcher(final ArtistImage model, int width, int height) {
|
||||
|
||||
return new ArtistImageFetcher(model, PreferenceUtil.getInstance(context).ignoreMediaStoreArtwork());
|
||||
return new ArtistImageFetcher(model);
|
||||
}
|
||||
|
||||
public static class Factory implements ModelLoaderFactory<ArtistImage, InputStream> {
|
||||
|
||||
@Override
|
||||
public ModelLoader<ArtistImage, InputStream> build(Context context, GenericLoaderFactory factories) {
|
||||
return new ArtistImageLoader(context);
|
||||
|
|
@ -37,8 +35,6 @@ public class ArtistImageLoader implements StreamModelLoader<ArtistImage> {
|
|||
|
||||
@Override
|
||||
public void teardown() {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -178,7 +178,7 @@ public class MusicPlayerRemote {
|
|||
public static void openQueue(final List<Song> queue, final int startPosition, final boolean startPlaying) {
|
||||
if (!tryToHandleOpenPlayingQueue(queue, startPosition, startPlaying) && musicService != null) {
|
||||
musicService.openQueue(queue, startPosition, startPlaying);
|
||||
if (!PreferenceUtil.getInstance(musicService).rememberShuffle()){
|
||||
if (!PreferenceUtil.getInstance(musicService).getRememberShuffle()){
|
||||
setShuffleMode(MusicService.SHUFFLE_MODE_NONE);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public class LibraryPreferenceDialog extends DialogFragment {
|
|||
if (savedInstanceState != null) {
|
||||
categoryInfos = savedInstanceState.getParcelableArrayList(PreferenceUtil.LIBRARY_CATEGORIES);
|
||||
} else {
|
||||
categoryInfos = PreferenceUtil.getInstance(getContext()).getLibraryCategoryInfos();
|
||||
categoryInfos = PreferenceUtil.getInstance(getContext()).getLibraryCategories();
|
||||
}
|
||||
adapter = new CategoryInfoAdapter(categoryInfos);
|
||||
|
||||
|
|
@ -51,7 +51,7 @@ public class LibraryPreferenceDialog extends DialogFragment {
|
|||
.negativeText(android.R.string.cancel)
|
||||
.neutralText(R.string.reset_action)
|
||||
.autoDismiss(false)
|
||||
.onNeutral((dialog, action) -> adapter.setCategoryInfos(PreferenceUtil.getInstance(getContext()).getDefaultLibraryCategoryInfos()))
|
||||
.onNeutral((dialog, action) -> adapter.setCategoryInfos(PreferenceUtil.getInstance(getContext()).getDefaultLibraryCategories()))
|
||||
.onNegative((dialog, action) -> dismiss())
|
||||
.onPositive((dialog, action) -> {
|
||||
updateCategories(adapter.getCategoryInfos());
|
||||
|
|
@ -69,7 +69,7 @@ public class LibraryPreferenceDialog extends DialogFragment {
|
|||
private void updateCategories(List<CategoryInfo> categories) {
|
||||
if (getSelected(categories) == 0) return;
|
||||
|
||||
PreferenceUtil.getInstance(getContext()).setLibraryCategoryInfos(categories);
|
||||
PreferenceUtil.getInstance(getContext()).setLibraryCategories(categories);
|
||||
}
|
||||
|
||||
private int getSelected(List<CategoryInfo> categories) {
|
||||
|
|
|
|||
|
|
@ -115,7 +115,7 @@ public class MultiPlayer implements Playback, MediaPlayer.OnErrorListener, Media
|
|||
if (path == null) {
|
||||
return;
|
||||
}
|
||||
if (PreferenceUtil.getInstance(context).gaplessPlayback()) {
|
||||
if (PreferenceUtil.getInstance(context).getGaplessPlayback()) {
|
||||
mNextMediaPlayer = new MediaPlayer();
|
||||
mNextMediaPlayer.setWakeMode(context, PowerManager.PARTIAL_WAKE_LOCK);
|
||||
mNextMediaPlayer.setAudioSessionId(getAudioSessionId());
|
||||
|
|
|
|||
|
|
@ -587,12 +587,11 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
|
|||
metaData.putLong(MediaMetadataCompat.METADATA_KEY_NUM_TRACKS, getPlayingQueue().size());
|
||||
}
|
||||
|
||||
if (PreferenceUtil.getInstance(this).albumArtOnLockscreen()) {
|
||||
if (PreferenceUtil.getInstance(this).getShowAlbumCover()) {
|
||||
final Point screenSize = Util.getScreenSize(MusicService.this);
|
||||
final BitmapRequestBuilder<?, Bitmap> request = SongGlideRequest.Builder.from(Glide.with(MusicService.this), song)
|
||||
.checkIgnoreMediaStore(MusicService.this)
|
||||
.asBitmap().build();
|
||||
if (PreferenceUtil.getInstance(this).blurredAlbumArt()) {
|
||||
if (PreferenceUtil.getInstance(this).getBlurAlbumCover()) {
|
||||
request.transform(new BlurTransformation.Builder(MusicService.this).build());
|
||||
}
|
||||
runOnUiThread(new Runnable() {
|
||||
|
|
@ -1118,8 +1117,8 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
|
|||
playback.setNextDataSource(null);
|
||||
}
|
||||
break;
|
||||
case PreferenceUtil.ALBUM_ART_ON_LOCKSCREEN:
|
||||
case PreferenceUtil.BLURRED_ALBUM_ART:
|
||||
case PreferenceUtil.SHOW_ALBUM_COVER:
|
||||
case PreferenceUtil.BLUR_ALBUM_COVER:
|
||||
updateMediaSessionMetaData();
|
||||
break;
|
||||
case PreferenceUtil.COLORED_NOTIFICATION:
|
||||
|
|
@ -1162,7 +1161,7 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
|
|||
|
||||
switch (msg.what) {
|
||||
case DUCK:
|
||||
if (PreferenceUtil.getInstance(service).audioDucking()) {
|
||||
if (PreferenceUtil.getInstance(service).getAudioDucking()) {
|
||||
currentDuckVolume -= .05f;
|
||||
if (currentDuckVolume > .2f) {
|
||||
sendEmptyMessageDelayed(DUCK, 10);
|
||||
|
|
@ -1176,7 +1175,7 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
|
|||
break;
|
||||
|
||||
case UNDUCK:
|
||||
if (PreferenceUtil.getInstance(service).audioDucking()) {
|
||||
if (PreferenceUtil.getInstance(service).getAudioDucking()) {
|
||||
currentDuckVolume += .03f;
|
||||
if (currentDuckVolume < 1f) {
|
||||
sendEmptyMessageDelayed(UNDUCK, 10);
|
||||
|
|
|
|||
|
|
@ -89,7 +89,6 @@ public class PlayingNotificationImpl extends PlayingNotification {
|
|||
Glide.clear(target);
|
||||
}
|
||||
target = SongGlideRequest.Builder.from(Glide.with(service), song)
|
||||
.checkIgnoreMediaStore(service)
|
||||
.generatePalette(service).build()
|
||||
.into(new SimpleTarget<BitmapPaletteWrapper>(bigNotificationImageSize, bigNotificationImageSize) {
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -51,7 +51,6 @@ public class PlayingNotificationImpl24 extends PlayingNotification {
|
|||
|
||||
final int bigNotificationImageSize = service.getResources().getDimensionPixelSize(R.dimen.notification_big_image_size);
|
||||
service.runOnUiThread(() -> SongGlideRequest.Builder.from(Glide.with(service), song)
|
||||
.checkIgnoreMediaStore(service)
|
||||
.generatePalette(service).build()
|
||||
.into(new SimpleTarget<BitmapPaletteWrapper>(bigNotificationImageSize, bigNotificationImageSize) {
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -140,7 +140,6 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
|
|||
|
||||
private void loadAlbumCover() {
|
||||
SongGlideRequest.Builder.from(Glide.with(this), getAlbum().safeGetFirstSong())
|
||||
.checkIgnoreMediaStore(this)
|
||||
.generatePalette(this).build()
|
||||
.dontAnimate()
|
||||
.into(new CustomPaletteTarget(albumArtImageView) {
|
||||
|
|
|
|||
|
|
@ -112,7 +112,7 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
|||
setDrawUnderStatusbar();
|
||||
ButterKnife.bind(this);
|
||||
|
||||
usePalette = PreferenceUtil.getInstance(this).albumArtistColoredFooters();
|
||||
usePalette = PreferenceUtil.getInstance(this).getAlbumArtistColoredFooters();
|
||||
|
||||
initViews();
|
||||
setUpObservableListViewParams();
|
||||
|
|
|
|||
|
|
@ -128,7 +128,7 @@ public class MainActivity extends AbsSlidingMusicPanelActivity {
|
|||
((TextView) navigationDrawerHeader.findViewById(R.id.title)).setText(song.title);
|
||||
((TextView) navigationDrawerHeader.findViewById(R.id.text)).setText(MusicUtil.getSongInfoString(song));
|
||||
SongGlideRequest.Builder.from(Glide.with(this), song)
|
||||
.checkIgnoreMediaStore(this).build()
|
||||
.build()
|
||||
.into(((ImageView) navigationDrawerHeader.findViewById(R.id.image)));
|
||||
} else {
|
||||
if (navigationDrawerHeader != null) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package com.kabouzeid.gramophone.ui.activities;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
|
|
@ -15,14 +14,12 @@ import androidx.preference.TwoStatePreference;
|
|||
import androidx.appcompat.widget.Toolbar;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.afollestad.materialdialogs.color.ColorChooserDialog;
|
||||
import com.kabouzeid.appthemehelper.ThemeStore;
|
||||
import com.kabouzeid.appthemehelper.common.prefs.supportv7.ATEColorPreference;
|
||||
import com.kabouzeid.appthemehelper.common.prefs.supportv7.ATEPreferenceFragmentCompat;
|
||||
import com.kabouzeid.appthemehelper.util.ColorUtil;
|
||||
import com.kabouzeid.gramophone.App;
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.shortcuts.DynamicShortcutManager;
|
||||
import com.kabouzeid.gramophone.preferences.LibraryPreference;
|
||||
|
|
@ -123,7 +120,6 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
|
|||
addPreferencesFromResource(R.xml.pref_colors);
|
||||
addPreferencesFromResource(R.xml.pref_notification);
|
||||
addPreferencesFromResource(R.xml.pref_now_playing_screen);
|
||||
addPreferencesFromResource(R.xml.pref_images);
|
||||
addPreferencesFromResource(R.xml.pref_lockscreen);
|
||||
addPreferencesFromResource(R.xml.pref_audio);
|
||||
addPreferencesFromResource(R.xml.pref_playlists);
|
||||
|
|
@ -172,13 +168,6 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
|
|||
return true;
|
||||
});
|
||||
|
||||
final Preference autoDownloadImagesPolicy = findPreference("auto_download_images_policy");
|
||||
setSummary(autoDownloadImagesPolicy);
|
||||
autoDownloadImagesPolicy.setOnPreferenceChangeListener((preference, o) -> {
|
||||
setSummary(autoDownloadImagesPolicy, o);
|
||||
return true;
|
||||
});
|
||||
|
||||
final ATEColorPreference primaryColorPref = (ATEColorPreference) findPreference("primary_color");
|
||||
final int primaryColor = ThemeStore.primaryColor(getActivity());
|
||||
primaryColorPref.setColor(primaryColor, ColorUtil.darkenColor(primaryColor));
|
||||
|
|
@ -265,7 +254,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
|
|||
@Override
|
||||
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
|
||||
switch (key) {
|
||||
case PreferenceUtil.NOW_PLAYING_SCREEN_ID:
|
||||
case PreferenceUtil.NOW_PLAYING_SCREEN:
|
||||
updateNowPlayingScreenSummary();
|
||||
break;
|
||||
case PreferenceUtil.CLASSIC_NOTIFICATION:
|
||||
|
|
|
|||
|
|
@ -101,12 +101,12 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde
|
|||
public void onSharedPreferenceChanged(SharedPreferences preferences, String key) {
|
||||
if (PreferenceUtil.LIBRARY_CATEGORIES.equals(key)) {
|
||||
Fragment current = getCurrentFragment();
|
||||
pagerAdapter.setCategoryInfos(PreferenceUtil.getInstance(getActivity()).getLibraryCategoryInfos());
|
||||
pagerAdapter.setCategoryInfos(PreferenceUtil.getInstance(getActivity()).getLibraryCategories());
|
||||
pager.setOffscreenPageLimit(pagerAdapter.getCount() - 1);
|
||||
int position = pagerAdapter.getItemPosition(current);
|
||||
if (position < 0) position = 0;
|
||||
pager.setCurrentItem(position);
|
||||
PreferenceUtil.getInstance(getContext()).setLastPage(position);
|
||||
PreferenceUtil.getInstance(getContext()).setLastTab(position);
|
||||
|
||||
updateTabVisibility();
|
||||
}
|
||||
|
|
@ -137,8 +137,8 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde
|
|||
|
||||
updateTabVisibility();
|
||||
|
||||
if (PreferenceUtil.getInstance(getContext()).rememberLastTab()) {
|
||||
pager.setCurrentItem(PreferenceUtil.getInstance(getContext()).getLastPage());
|
||||
if (PreferenceUtil.getInstance(getContext()).getRememberLastTab()) {
|
||||
pager.setCurrentItem(PreferenceUtil.getInstance(getContext()).getLastTab());
|
||||
}
|
||||
pager.addOnPageChangeListener(this);
|
||||
}
|
||||
|
|
@ -443,7 +443,7 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde
|
|||
|
||||
@Override
|
||||
public void onPageSelected(int position) {
|
||||
PreferenceUtil.getInstance(getActivity()).setLastPage(position);
|
||||
PreferenceUtil.getInstance(getActivity()).setLastTab(position);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ public class AlbumsFragment extends AbsLibraryPagerRecyclerViewCustomGridSizeFra
|
|||
|
||||
@Override
|
||||
public boolean loadUsePalette() {
|
||||
return PreferenceUtil.getInstance(getActivity()).albumColoredFooters();
|
||||
return PreferenceUtil.getInstance(getActivity()).getAlbumColoredFooters();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ public class ArtistsFragment extends AbsLibraryPagerRecyclerViewCustomGridSizeFr
|
|||
|
||||
@Override
|
||||
public boolean loadUsePalette() {
|
||||
return PreferenceUtil.getInstance(getActivity()).artistColoredFooters();
|
||||
return PreferenceUtil.getInstance(getActivity()).getArtistColoredFooters();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -114,7 +114,7 @@ public class SongsFragment extends AbsLibraryPagerRecyclerViewCustomGridSizeFrag
|
|||
|
||||
@Override
|
||||
public boolean loadUsePalette() {
|
||||
return PreferenceUtil.getInstance(getActivity()).songColoredFooters();
|
||||
return PreferenceUtil.getInstance(getActivity()).getSongColoredFooters();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -37,13 +37,6 @@ import java.util.Locale;
|
|||
* @author Karim Abou Zeid (kabouzeid)
|
||||
*/
|
||||
public class MusicUtil {
|
||||
|
||||
public static Uri getMediaStoreAlbumCoverUri(int albumId) {
|
||||
final Uri sArtworkUri = Uri.parse("content://media/external/audio/albumart");
|
||||
|
||||
return ContentUris.withAppendedId(sArtworkUri, albumId);
|
||||
}
|
||||
|
||||
public static Uri getSongFileUri(int songId) {
|
||||
return ContentUris.withAppendedId(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, songId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,7 @@
|
|||
package com.kabouzeid.gramophone.util;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkInfo;
|
||||
import android.preference.PreferenceManager;
|
||||
import androidx.annotation.StyleRes;
|
||||
|
||||
|
|
@ -22,10 +19,11 @@ import java.util.ArrayList;
|
|||
import java.util.List;
|
||||
|
||||
public final class PreferenceUtil {
|
||||
public static final String GENERAL_THEME = "general_theme";
|
||||
public static final String LIBRARY_CATEGORIES = "library_categories";
|
||||
public static final String REMEMBER_LAST_TAB = "remember_last_tab";
|
||||
public static final String LAST_PAGE = "last_start_page";
|
||||
public static final String NOW_PLAYING_SCREEN_ID = "now_playing_screen_id";
|
||||
public static final String LAST_TAB = "last_tab";
|
||||
|
||||
public static final String NOW_PLAYING_SCREEN = "now_playing_screen";
|
||||
|
||||
public static final String ARTIST_SORT_ORDER = "artist_sort_order";
|
||||
public static final String ARTIST_SONG_SORT_ORDER = "artist_song_sort_order";
|
||||
|
|
@ -49,35 +47,25 @@ public final class PreferenceUtil {
|
|||
public static final String ARTIST_COLORED_FOOTERS = "artist_colored_footers";
|
||||
public static final String ALBUM_ARTIST_COLORED_FOOTERS = "album_artist_colored_footers";
|
||||
|
||||
public static final String FORCE_SQUARE_ALBUM_COVER = "force_square_album_art";
|
||||
|
||||
public static final String COLORED_NOTIFICATION = "colored_notification";
|
||||
public static final String CLASSIC_NOTIFICATION = "classic_notification";
|
||||
|
||||
public static final String GENERAL_THEME = "general_theme";
|
||||
public static final String COLORED_APP_SHORTCUTS = "colored_app_shortcuts";
|
||||
|
||||
public static final String AUDIO_DUCKING = "audio_ducking";
|
||||
public static final String GAPLESS_PLAYBACK = "gapless_playback";
|
||||
public static final String REMEMBER_SHUFFLE = "remember_shuffle";
|
||||
|
||||
public static final String LAST_ADDED_CUTOFF = "last_added_interval";
|
||||
|
||||
public static final String ALBUM_ART_ON_LOCKSCREEN = "album_art_on_lockscreen";
|
||||
public static final String BLURRED_ALBUM_ART = "blurred_album_art";
|
||||
public static final String SHOW_ALBUM_COVER = "show_album_cover";
|
||||
public static final String BLUR_ALBUM_COVER = "blur_album_cover";
|
||||
|
||||
public static final String LAST_SLEEP_TIMER_VALUE = "last_sleep_timer_value";
|
||||
public static final String NEXT_SLEEP_TIMER_ELAPSED_REALTIME = "next_sleep_timer_elapsed_real_time";
|
||||
public static final String SLEEP_TIMER_FINISH_SONG = "sleep_timer_finish_music";
|
||||
|
||||
public static final String IGNORE_MEDIA_STORE_ARTWORK = "ignore_media_store_artwork";
|
||||
|
||||
public static final String AUTO_DOWNLOAD_IMAGES_POLICY = "auto_download_images_policy";
|
||||
|
||||
public static final String SYNCHRONIZED_LYRICS_SHOW = "synchronized_lyrics_show";
|
||||
|
||||
public static final String LIBRARY_CATEGORIES = "library_categories";
|
||||
|
||||
private static final String REMEMBER_SHUFFLE = "remember_shuffle";
|
||||
|
||||
private static PreferenceUtil sInstance;
|
||||
|
||||
private final SharedPreferences mPreferences;
|
||||
|
|
@ -93,20 +81,6 @@ public final class PreferenceUtil {
|
|||
return sInstance;
|
||||
}
|
||||
|
||||
public static boolean isAllowedToDownloadMetadata(final Context context) {
|
||||
switch (getInstance(context).autoDownloadImagesPolicy()) {
|
||||
case "always":
|
||||
return true;
|
||||
case "only_wifi":
|
||||
final ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
|
||||
NetworkInfo netInfo = connectivityManager.getActiveNetworkInfo();
|
||||
return netInfo != null && netInfo.getType() == ConnectivityManager.TYPE_WIFI && netInfo.isConnectedOrConnecting();
|
||||
case "never":
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public void registerOnSharedPreferenceChangedListener(SharedPreferences.OnSharedPreferenceChangeListener sharedPreferenceChangeListener) {
|
||||
mPreferences.registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener);
|
||||
}
|
||||
|
|
@ -120,12 +94,6 @@ public final class PreferenceUtil {
|
|||
return getThemeResFromPrefValue(mPreferences.getString(GENERAL_THEME, "light"));
|
||||
}
|
||||
|
||||
public void setGeneralTheme(String theme) {
|
||||
final SharedPreferences.Editor editor = mPreferences.edit();
|
||||
editor.putString(GENERAL_THEME, theme);
|
||||
editor.commit();
|
||||
}
|
||||
|
||||
@StyleRes
|
||||
public static int getThemeResFromPrefValue(String themePrefValue) {
|
||||
switch (themePrefValue) {
|
||||
|
|
@ -139,33 +107,32 @@ public final class PreferenceUtil {
|
|||
}
|
||||
}
|
||||
|
||||
public final boolean rememberLastTab() {
|
||||
public final boolean getRememberLastTab() {
|
||||
return mPreferences.getBoolean(REMEMBER_LAST_TAB, true);
|
||||
}
|
||||
|
||||
public void setLastPage(final int value) {
|
||||
public final int getLastTab() {
|
||||
return mPreferences.getInt(LAST_TAB, 0);
|
||||
}
|
||||
|
||||
public void setLastTab(final int value) {
|
||||
final SharedPreferences.Editor editor = mPreferences.edit();
|
||||
editor.putInt(LAST_PAGE, value);
|
||||
editor.putInt(LAST_TAB, value);
|
||||
editor.apply();
|
||||
}
|
||||
|
||||
public final int getLastPage() {
|
||||
return mPreferences.getInt(LAST_PAGE, 0);
|
||||
}
|
||||
|
||||
public final NowPlayingScreen getNowPlayingScreen() {
|
||||
int id = mPreferences.getInt(NOW_PLAYING_SCREEN_ID, 0);
|
||||
int id = mPreferences.getInt(NOW_PLAYING_SCREEN, 0);
|
||||
for (NowPlayingScreen nowPlayingScreen : NowPlayingScreen.values()) {
|
||||
if (nowPlayingScreen.id == id) return nowPlayingScreen;
|
||||
}
|
||||
return NowPlayingScreen.CARD;
|
||||
}
|
||||
|
||||
@SuppressLint("CommitPrefEdits")
|
||||
public void setNowPlayingScreen(NowPlayingScreen nowPlayingScreen) {
|
||||
final SharedPreferences.Editor editor = mPreferences.edit();
|
||||
editor.putInt(NOW_PLAYING_SCREEN_ID, nowPlayingScreen.id);
|
||||
editor.commit();
|
||||
editor.putInt(NOW_PLAYING_SCREEN, nowPlayingScreen.id);
|
||||
editor.apply();
|
||||
}
|
||||
|
||||
public final boolean getColoredNotification() {
|
||||
|
|
@ -198,24 +165,20 @@ public final class PreferenceUtil {
|
|||
editor.apply();
|
||||
}
|
||||
|
||||
public final boolean gaplessPlayback() {
|
||||
public final boolean getGaplessPlayback() {
|
||||
return mPreferences.getBoolean(GAPLESS_PLAYBACK, true);
|
||||
}
|
||||
|
||||
public final boolean audioDucking() {
|
||||
public final boolean getAudioDucking() {
|
||||
return mPreferences.getBoolean(AUDIO_DUCKING, true);
|
||||
}
|
||||
|
||||
public final boolean albumArtOnLockscreen() {
|
||||
return mPreferences.getBoolean(ALBUM_ART_ON_LOCKSCREEN, true);
|
||||
public final boolean getShowAlbumCover() {
|
||||
return mPreferences.getBoolean(SHOW_ALBUM_COVER, true);
|
||||
}
|
||||
|
||||
public final boolean blurredAlbumArt() {
|
||||
return mPreferences.getBoolean(BLURRED_ALBUM_ART, true);
|
||||
}
|
||||
|
||||
public final boolean ignoreMediaStoreArtwork() {
|
||||
return mPreferences.getBoolean(IGNORE_MEDIA_STORE_ARTWORK, false);
|
||||
public final boolean getBlurAlbumCover() {
|
||||
return mPreferences.getBoolean(BLUR_ALBUM_COVER, true);
|
||||
}
|
||||
|
||||
public final String getArtistSortOrder() {
|
||||
|
|
@ -267,34 +230,27 @@ public final class PreferenceUtil {
|
|||
public long getLastAddedCutoff() {
|
||||
final CalendarUtil calendarUtil = new CalendarUtil();
|
||||
long interval;
|
||||
|
||||
switch (mPreferences.getString(LAST_ADDED_CUTOFF, "")) {
|
||||
case "today":
|
||||
interval = calendarUtil.getElapsedToday();
|
||||
break;
|
||||
|
||||
case "this_week":
|
||||
interval = calendarUtil.getElapsedWeek();
|
||||
break;
|
||||
|
||||
case "past_seven_days":
|
||||
interval = calendarUtil.getElapsedDays(7);
|
||||
break;
|
||||
|
||||
case "past_three_months":
|
||||
interval = calendarUtil.getElapsedMonths(3);
|
||||
break;
|
||||
|
||||
case "this_year":
|
||||
interval = calendarUtil.getElapsedYear();
|
||||
break;
|
||||
|
||||
case "this_month":
|
||||
default:
|
||||
interval = calendarUtil.getElapsedMonth();
|
||||
break;
|
||||
}
|
||||
|
||||
return (System.currentTimeMillis() - interval) / 1000;
|
||||
}
|
||||
|
||||
|
|
@ -328,14 +284,18 @@ public final class PreferenceUtil {
|
|||
editor.apply();
|
||||
}
|
||||
|
||||
public final int getAlbumGridSize(Context context) {
|
||||
return mPreferences.getInt(ALBUM_GRID_SIZE, context.getResources().getInteger(R.integer.default_grid_columns));
|
||||
}
|
||||
|
||||
public void setAlbumGridSize(final int gridSize) {
|
||||
final SharedPreferences.Editor editor = mPreferences.edit();
|
||||
editor.putInt(ALBUM_GRID_SIZE, gridSize);
|
||||
editor.apply();
|
||||
}
|
||||
|
||||
public final int getAlbumGridSize(Context context) {
|
||||
return mPreferences.getInt(ALBUM_GRID_SIZE, context.getResources().getInteger(R.integer.default_grid_columns));
|
||||
public final int getSongGridSize(Context context) {
|
||||
return mPreferences.getInt(SONG_GRID_SIZE, context.getResources().getInteger(R.integer.default_list_columns));
|
||||
}
|
||||
|
||||
public void setSongGridSize(final int gridSize) {
|
||||
|
|
@ -344,8 +304,8 @@ public final class PreferenceUtil {
|
|||
editor.apply();
|
||||
}
|
||||
|
||||
public final int getSongGridSize(Context context) {
|
||||
return mPreferences.getInt(SONG_GRID_SIZE, context.getResources().getInteger(R.integer.default_list_columns));
|
||||
public final int getArtistGridSize(Context context) {
|
||||
return mPreferences.getInt(ARTIST_GRID_SIZE, context.getResources().getInteger(R.integer.default_list_columns));
|
||||
}
|
||||
|
||||
public void setArtistGridSize(final int gridSize) {
|
||||
|
|
@ -354,8 +314,8 @@ public final class PreferenceUtil {
|
|||
editor.apply();
|
||||
}
|
||||
|
||||
public final int getArtistGridSize(Context context) {
|
||||
return mPreferences.getInt(ARTIST_GRID_SIZE, context.getResources().getInteger(R.integer.default_list_columns));
|
||||
public final int getAlbumGridSizeLand(Context context) {
|
||||
return mPreferences.getInt(ALBUM_GRID_SIZE_LAND, context.getResources().getInteger(R.integer.default_grid_columns_land));
|
||||
}
|
||||
|
||||
public void setAlbumGridSizeLand(final int gridSize) {
|
||||
|
|
@ -364,8 +324,8 @@ public final class PreferenceUtil {
|
|||
editor.apply();
|
||||
}
|
||||
|
||||
public final int getAlbumGridSizeLand(Context context) {
|
||||
return mPreferences.getInt(ALBUM_GRID_SIZE_LAND, context.getResources().getInteger(R.integer.default_grid_columns_land));
|
||||
public final int getSongGridSizeLand(Context context) {
|
||||
return mPreferences.getInt(SONG_GRID_SIZE_LAND, context.getResources().getInteger(R.integer.default_list_columns_land));
|
||||
}
|
||||
|
||||
public void setSongGridSizeLand(final int gridSize) {
|
||||
|
|
@ -374,8 +334,8 @@ public final class PreferenceUtil {
|
|||
editor.apply();
|
||||
}
|
||||
|
||||
public final int getSongGridSizeLand(Context context) {
|
||||
return mPreferences.getInt(SONG_GRID_SIZE_LAND, context.getResources().getInteger(R.integer.default_list_columns_land));
|
||||
public final int getArtistGridSizeLand(Context context) {
|
||||
return mPreferences.getInt(ARTIST_GRID_SIZE_LAND, context.getResources().getInteger(R.integer.default_list_columns_land));
|
||||
}
|
||||
|
||||
public void setArtistGridSizeLand(final int gridSize) {
|
||||
|
|
@ -384,8 +344,8 @@ public final class PreferenceUtil {
|
|||
editor.apply();
|
||||
}
|
||||
|
||||
public final int getArtistGridSizeLand(Context context) {
|
||||
return mPreferences.getInt(ARTIST_GRID_SIZE_LAND, context.getResources().getInteger(R.integer.default_list_columns_land));
|
||||
public final boolean getAlbumColoredFooters() {
|
||||
return mPreferences.getBoolean(ALBUM_COLORED_FOOTERS, true);
|
||||
}
|
||||
|
||||
public void setAlbumColoredFooters(final boolean value) {
|
||||
|
|
@ -394,8 +354,8 @@ public final class PreferenceUtil {
|
|||
editor.apply();
|
||||
}
|
||||
|
||||
public final boolean albumColoredFooters() {
|
||||
return mPreferences.getBoolean(ALBUM_COLORED_FOOTERS, true);
|
||||
public final boolean getAlbumArtistColoredFooters() {
|
||||
return mPreferences.getBoolean(ALBUM_ARTIST_COLORED_FOOTERS, true);
|
||||
}
|
||||
|
||||
public void setAlbumArtistColoredFooters(final boolean value) {
|
||||
|
|
@ -404,8 +364,8 @@ public final class PreferenceUtil {
|
|||
editor.apply();
|
||||
}
|
||||
|
||||
public final boolean albumArtistColoredFooters() {
|
||||
return mPreferences.getBoolean(ALBUM_ARTIST_COLORED_FOOTERS, true);
|
||||
public final boolean getSongColoredFooters() {
|
||||
return mPreferences.getBoolean(SONG_COLORED_FOOTERS, true);
|
||||
}
|
||||
|
||||
public void setSongColoredFooters(final boolean value) {
|
||||
|
|
@ -414,8 +374,8 @@ public final class PreferenceUtil {
|
|||
editor.apply();
|
||||
}
|
||||
|
||||
public final boolean songColoredFooters() {
|
||||
return mPreferences.getBoolean(SONG_COLORED_FOOTERS, true);
|
||||
public final boolean getArtistColoredFooters() {
|
||||
return mPreferences.getBoolean(ARTIST_COLORED_FOOTERS, true);
|
||||
}
|
||||
|
||||
public void setArtistColoredFooters(final boolean value) {
|
||||
|
|
@ -424,23 +384,11 @@ public final class PreferenceUtil {
|
|||
editor.apply();
|
||||
}
|
||||
|
||||
public final boolean artistColoredFooters() {
|
||||
return mPreferences.getBoolean(ARTIST_COLORED_FOOTERS, true);
|
||||
}
|
||||
|
||||
public final boolean rememberShuffle() {
|
||||
public final boolean getRememberShuffle() {
|
||||
return mPreferences.getBoolean(REMEMBER_SHUFFLE, true);
|
||||
}
|
||||
|
||||
public final String autoDownloadImagesPolicy() {
|
||||
return mPreferences.getString(AUTO_DOWNLOAD_IMAGES_POLICY, "only_wifi");
|
||||
}
|
||||
|
||||
public final boolean synchronizedLyricsShow() {
|
||||
return mPreferences.getBoolean(SYNCHRONIZED_LYRICS_SHOW, true);
|
||||
}
|
||||
|
||||
public void setLibraryCategoryInfos(List<CategoryInfo> categories) {
|
||||
public void setLibraryCategories(List<CategoryInfo> categories) {
|
||||
Gson gson = new Gson();
|
||||
Type collectionType = new TypeToken<List<CategoryInfo>>() {
|
||||
}.getType();
|
||||
|
|
@ -450,7 +398,7 @@ public final class PreferenceUtil {
|
|||
editor.apply();
|
||||
}
|
||||
|
||||
public List<CategoryInfo> getLibraryCategoryInfos() {
|
||||
public List<CategoryInfo> getLibraryCategories() {
|
||||
String data = mPreferences.getString(LIBRARY_CATEGORIES, null);
|
||||
if (data != null) {
|
||||
Gson gson = new Gson();
|
||||
|
|
@ -464,16 +412,16 @@ public final class PreferenceUtil {
|
|||
}
|
||||
}
|
||||
|
||||
return getDefaultLibraryCategoryInfos();
|
||||
return getDefaultLibraryCategories();
|
||||
}
|
||||
|
||||
public List<CategoryInfo> getDefaultLibraryCategoryInfos() {
|
||||
List<CategoryInfo> defaultCategoryInfos = new ArrayList<>(5);
|
||||
defaultCategoryInfos.add(new CategoryInfo(CategoryInfo.Category.SONGS, true));
|
||||
defaultCategoryInfos.add(new CategoryInfo(CategoryInfo.Category.ALBUMS, true));
|
||||
defaultCategoryInfos.add(new CategoryInfo(CategoryInfo.Category.ARTISTS, true));
|
||||
defaultCategoryInfos.add(new CategoryInfo(CategoryInfo.Category.GENRES, true));
|
||||
defaultCategoryInfos.add(new CategoryInfo(CategoryInfo.Category.PLAYLISTS, true));
|
||||
return defaultCategoryInfos;
|
||||
public List<CategoryInfo> getDefaultLibraryCategories() {
|
||||
List<CategoryInfo> defaultCategories = new ArrayList<>(5);
|
||||
defaultCategories.add(new CategoryInfo(CategoryInfo.Category.SONGS, true));
|
||||
defaultCategories.add(new CategoryInfo(CategoryInfo.Category.ALBUMS, true));
|
||||
defaultCategories.add(new CategoryInfo(CategoryInfo.Category.ARTISTS, true));
|
||||
defaultCategories.add(new CategoryInfo(CategoryInfo.Category.GENRES, true));
|
||||
defaultCategories.add(new CategoryInfo(CategoryInfo.Category.PLAYLISTS, true));
|
||||
return defaultCategories;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -96,7 +96,6 @@ public class AppWidgetBig extends BaseAppWidget {
|
|||
Glide.clear(target);
|
||||
}
|
||||
target = SongGlideRequest.Builder.from(Glide.with(appContext), song)
|
||||
.checkIgnoreMediaStore(appContext)
|
||||
.asBitmap().build()
|
||||
.into(new SimpleTarget<Bitmap>(widgetImageSize, widgetImageSize) {
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -100,7 +100,6 @@ public class AppWidgetCard extends BaseAppWidget {
|
|||
Glide.clear(target);
|
||||
}
|
||||
target = SongGlideRequest.Builder.from(Glide.with(service), song)
|
||||
.checkIgnoreMediaStore(service)
|
||||
.generatePalette(service).build()
|
||||
.centerCrop()
|
||||
.into(new SimpleTarget<BitmapPaletteWrapper>(imageSize, imageSize) {
|
||||
|
|
|
|||
|
|
@ -93,7 +93,6 @@ public class AppWidgetClassic extends BaseAppWidget {
|
|||
Glide.clear(target);
|
||||
}
|
||||
target = SongGlideRequest.Builder.from(Glide.with(appContext), song)
|
||||
.checkIgnoreMediaStore(appContext)
|
||||
.generatePalette(service).build()
|
||||
.centerCrop()
|
||||
.into(new SimpleTarget<BitmapPaletteWrapper>(imageSize, imageSize) {
|
||||
|
|
|
|||
|
|
@ -99,7 +99,6 @@ public class AppWidgetSmall extends BaseAppWidget {
|
|||
Glide.clear(target);
|
||||
}
|
||||
target = SongGlideRequest.Builder.from(Glide.with(appContext), song)
|
||||
.checkIgnoreMediaStore(appContext)
|
||||
.generatePalette(service).build()
|
||||
.centerCrop()
|
||||
.into(new SimpleTarget<BitmapPaletteWrapper>(imageSize, imageSize) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue