Added option to ignore media store artwork and instead loading it directly from the song file
This commit is contained in:
parent
da92636180
commit
1dcc447e52
25 changed files with 194 additions and 106 deletions
|
|
@ -27,6 +27,7 @@ public class App extends Application {
|
|||
|
||||
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(this)
|
||||
.imageDownloader(new PhonographImageDownloader(this))
|
||||
.memoryCacheSizePercentage(30)
|
||||
.build();
|
||||
ImageLoader.getInstance().init(config);
|
||||
L.writeLogs(false); // turns off UILs annoying LogCat output
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ public class AlbumAdapter extends AbsMultiSelectAdapter<AlbumAdapter.ViewHolder,
|
|||
holder.artist.setText(album.artistName);
|
||||
|
||||
ImageLoader.getInstance().displayImage(
|
||||
MusicUtil.getAlbumArtUri(album.id).toString(),
|
||||
MusicUtil.getAlbumImageLoaderString(album),
|
||||
holder.albumArt,
|
||||
new DisplayImageOptions.Builder()
|
||||
.cacheInMemory(true)
|
||||
|
|
|
|||
|
|
@ -82,6 +82,7 @@ public class ArtistAdapter extends AbsMultiSelectAdapter<ArtistAdapter.ViewHolde
|
|||
holder.artistImage.setImageResource(R.drawable.default_artist_image);
|
||||
return;
|
||||
}
|
||||
|
||||
lastFMRestClient.getApiService().getArtistInfo(artist.name, null, new Callback<ArtistInfo>() {
|
||||
@Override
|
||||
public void success(ArtistInfo artistInfo, Response response) {
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ public class ArtistAlbumAdapter extends AbsMultiSelectAdapter<ArtistAlbumAdapter
|
|||
final Album album = dataSet.get(position);
|
||||
|
||||
ImageLoader.getInstance().displayImage(
|
||||
MusicUtil.getAlbumArtUri(album.id).toString(),
|
||||
MusicUtil.getAlbumImageLoaderString(album),
|
||||
holder.albumArt,
|
||||
new DisplayImageOptions.Builder()
|
||||
.cacheInMemory(true)
|
||||
|
|
|
|||
|
|
@ -111,7 +111,7 @@ public class SearchAdapter extends RecyclerView.Adapter<SearchAdapter.ViewHolder
|
|||
holder.title.setText(album.title);
|
||||
holder.subTitle.setText(album.artistName);
|
||||
ImageLoader.getInstance().displayImage(
|
||||
MusicUtil.getAlbumArtUri(album.id).toString(),
|
||||
MusicUtil.getAlbumImageLoaderString(album),
|
||||
holder.image,
|
||||
new DisplayImageOptions.Builder()
|
||||
.cacheInMemory(true)
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ public class ArtistSongAdapter extends ArrayAdapter<Song> implements MaterialCab
|
|||
songInfo.setText(song.albumName);
|
||||
|
||||
ImageLoader.getInstance().displayImage(
|
||||
MusicUtil.getAlbumArtUri(song.albumId).toString(),
|
||||
MusicUtil.getSongImageLoaderString(song),
|
||||
albumArt,
|
||||
new DisplayImageOptions.Builder()
|
||||
.cacheInMemory(true)
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ public class PlaylistSongAdapter extends AbsPlaylistSongAdapter<PlaylistSongAdap
|
|||
holder.songTitle.setText(song.title);
|
||||
holder.songInfo.setText(song.artistName);
|
||||
ImageLoader.getInstance().displayImage(
|
||||
MusicUtil.getAlbumArtUri(song.albumId).toString(),
|
||||
MusicUtil.getSongImageLoaderString(song),
|
||||
holder.albumArt,
|
||||
new DisplayImageOptions.Builder()
|
||||
.cacheInMemory(true)
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ public class SongAdapter extends AbsMultiSelectAdapter<SongAdapter.ViewHolder, S
|
|||
holder.songTitle.setText(song.title);
|
||||
holder.songInfo.setText(song.artistName);
|
||||
ImageLoader.getInstance().displayImage(
|
||||
MusicUtil.getAlbumArtUri(song.albumId).toString(),
|
||||
MusicUtil.getSongImageLoaderString(song),
|
||||
holder.albumArt,
|
||||
new DisplayImageOptions.Builder()
|
||||
.cacheInMemory(true)
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ public class SmartPlaylistSongAdapter extends AbsPlaylistSongAdapter<SmartPlayli
|
|||
holder.songTitle.setText(song.title);
|
||||
holder.songInfo.setText(song.artistName);
|
||||
ImageLoader.getInstance().displayImage(
|
||||
MusicUtil.getAlbumArtUri(song.albumId).toString(),
|
||||
MusicUtil.getSongImageLoaderString(song),
|
||||
holder.albumArt,
|
||||
new DisplayImageOptions.Builder()
|
||||
.cacheInMemory(true)
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ public class WidgetMedium extends AppWidgetProvider {
|
|||
|
||||
private static void loadAlbumArt(final Context context, final Song song) {
|
||||
if (song != null) {
|
||||
currentAlbumArtUri = MusicUtil.getAlbumArtUri(song.albumId).toString();
|
||||
currentAlbumArtUri = MusicUtil.getSongImageLoaderString(song);
|
||||
ImageLoader.getInstance().displayImage(currentAlbumArtUri, new NonViewAware(new ImageSize(-1, -1), ViewScaleType.CROP), new SimpleImageLoadingListener() {
|
||||
@Override
|
||||
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
|
||||
|
|
|
|||
|
|
@ -203,7 +203,7 @@ public class PlayingNotificationHelper {
|
|||
}
|
||||
|
||||
private void loadAlbumArt() {
|
||||
currentAlbumArtUri = MusicUtil.getAlbumArtUri(currentSong.albumId).toString();
|
||||
currentAlbumArtUri = MusicUtil.getSongImageLoaderString(currentSong);
|
||||
ImageLoader.getInstance().displayImage(currentAlbumArtUri, new NonViewAware(new ImageSize(-1, -1), ViewScaleType.CROP), new SimpleImageLoadingListener() {
|
||||
@Override
|
||||
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
|
||||
|
|
|
|||
|
|
@ -1,12 +1,21 @@
|
|||
package com.kabouzeid.gramophone.imageloader;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
|
||||
import com.kabouzeid.gramophone.loader.AlbumSongLoader;
|
||||
import com.kabouzeid.gramophone.model.Song;
|
||||
import com.kabouzeid.gramophone.util.ImageUtil;
|
||||
import com.kabouzeid.gramophone.util.MusicUtil;
|
||||
import com.kabouzeid.gramophone.util.PreferenceUtils;
|
||||
import com.nostra13.universalimageloader.core.download.BaseImageDownloader;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* @author Karim Abou Zeid (kabouzeid)
|
||||
|
|
@ -22,14 +31,48 @@ public class PhonographImageDownloader extends BaseImageDownloader {
|
|||
@Override
|
||||
protected InputStream getStreamFromOtherSource(String imageUri, Object extra) throws IOException {
|
||||
if (imageUri.startsWith(SCHEME_ALBUM)) {
|
||||
try {
|
||||
int id = Integer.valueOf(imageUri.substring(SCHEME_ALBUM.length()));
|
||||
return getStream(MusicUtil.getAlbumArtUri(id).toString(), extra);
|
||||
} catch (NumberFormatException e) {
|
||||
return super.getStreamFromOtherSource(imageUri, extra);
|
||||
}
|
||||
return getStreamFromAlbum(imageUri, extra);
|
||||
} else if (imageUri.startsWith(SCHEME_SONG)) {
|
||||
return getStreamFromSong(imageUri, extra);
|
||||
} else {
|
||||
return super.getStreamFromOtherSource(imageUri, extra);
|
||||
}
|
||||
}
|
||||
|
||||
protected InputStream getStreamFromAlbum(String imageUri, Object extra) throws IOException {
|
||||
int albumId = Integer.valueOf(imageUri.substring(SCHEME_ALBUM.length()));
|
||||
|
||||
if (PreferenceUtils.getInstance(context).ignoreMediaStoreArtwork()) {
|
||||
ArrayList<Song> songs = AlbumSongLoader.getAlbumSongList(context, albumId);
|
||||
for (Song song : songs) {
|
||||
Bitmap bitmap = ImageUtil.getEmbeddedSongArt(new File(song.data), context);
|
||||
if (bitmap != null) {
|
||||
return getBitmapInputStream(bitmap);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
return getStream(MusicUtil.getAlbumArtUri(albumId).toString(), extra);
|
||||
}
|
||||
|
||||
protected InputStream getStreamFromSong(String imageUri, Object extra) throws IOException {
|
||||
String[] data = imageUri.split("#", 2);
|
||||
|
||||
if (PreferenceUtils.getInstance(context).ignoreMediaStoreArtwork()) {
|
||||
Bitmap bitmap = ImageUtil.getEmbeddedSongArt(new File(data[1]), context);
|
||||
if (bitmap != null) {
|
||||
return getBitmapInputStream(bitmap);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
int id = Integer.valueOf(data[0].substring(SCHEME_SONG.length()));
|
||||
return getStream(MusicUtil.getAlbumArtUri(id).toString(), extra);
|
||||
}
|
||||
|
||||
private static ByteArrayInputStream getBitmapInputStream(Bitmap bitmap) {
|
||||
ByteArrayOutputStream bos = new ByteArrayOutputStream();
|
||||
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, bos);
|
||||
return new ByteArrayInputStream(bos.toByteArray());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -423,7 +423,7 @@ public class MusicService extends Service {
|
|||
}
|
||||
|
||||
private void updateRemoteControlClient() {
|
||||
updateRemoteControlClientImpl(PreferenceUtils.getInstance(this).albumArtOnLockscrenn());
|
||||
updateRemoteControlClientImpl(PreferenceUtils.getInstance(this).albumArtOnLockscreen());
|
||||
}
|
||||
|
||||
private void updateRemoteControlClientImpl(boolean showAlbumArt) {
|
||||
|
|
@ -435,7 +435,7 @@ public class MusicService extends Service {
|
|||
.putLong(MediaMetadataRetriever.METADATA_KEY_DURATION, song.duration)
|
||||
.apply();
|
||||
if (showAlbumArt) {
|
||||
final String currentAlbumArtUri = MusicUtil.getAlbumArtUri(song.albumId).toString();
|
||||
final String currentAlbumArtUri = MusicUtil.getSongImageLoaderString(song);
|
||||
ImageLoader.getInstance().displayImage(currentAlbumArtUri, new NonViewAware(new ImageSize(-1, -1), ViewScaleType.CROP), new SimpleImageLoadingListener() {
|
||||
@Override
|
||||
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
|
||||
|
|
|
|||
|
|
@ -206,7 +206,7 @@ public class AlbumDetailActivity extends AbsFabActivity implements PaletteColorH
|
|||
|
||||
private void setUpAlbumArtAndApplyPalette() {
|
||||
ImageLoader.getInstance().displayImage(
|
||||
MusicUtil.getAlbumArtUri(album.id).toString(),
|
||||
MusicUtil.getAlbumImageLoaderString(album),
|
||||
albumArtImageView,
|
||||
new DisplayImageOptions.Builder()
|
||||
.cacheInMemory(true)
|
||||
|
|
|
|||
|
|
@ -258,7 +258,7 @@ public class MainActivity extends AbsFabActivity
|
|||
((TextView) navigationDrawerHeader.findViewById(R.id.song_title)).setText(song.title);
|
||||
((TextView) navigationDrawerHeader.findViewById(R.id.song_artist)).setText(song.artistName);
|
||||
ImageLoader.getInstance().displayImage(
|
||||
MusicUtil.getAlbumArtUri(song.albumId).toString(),
|
||||
MusicUtil.getSongImageLoaderString(song),
|
||||
((ImageView) navigationDrawerHeader.findViewById(R.id.album_art)),
|
||||
new DisplayImageOptions.Builder()
|
||||
.cacheInMemory(true)
|
||||
|
|
|
|||
|
|
@ -422,7 +422,7 @@ public class MusicControllerActivity extends AbsFabActivity {
|
|||
|
||||
private void setUpAlbumArtAndApplyPalette() {
|
||||
ImageLoader.getInstance().displayImage(
|
||||
MusicUtil.getAlbumArtUri(song.albumId).toString(),
|
||||
MusicUtil.getSongImageLoaderString(song),
|
||||
albumArt,
|
||||
new DisplayImageOptions.Builder()
|
||||
.cacheInMemory(true)
|
||||
|
|
|
|||
|
|
@ -69,6 +69,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
|
|||
addPreferencesFromResource(R.xml.pref_general);
|
||||
addPreferencesFromResource(R.xml.pref_colors);
|
||||
addPreferencesFromResource(R.xml.pref_now_playing_screen);
|
||||
addPreferencesFromResource(R.xml.pref_images);
|
||||
addPreferencesFromResource(R.xml.pref_lockscreen);
|
||||
addPreferencesFromResource(R.xml.pref_audio);
|
||||
|
||||
|
|
|
|||
|
|
@ -373,10 +373,8 @@ public abstract class AbsTagEditorActivity extends AbsBaseActivity {
|
|||
progressDialog.setContent(getString(R.string.rescanning_media));
|
||||
if (deleteArtwork) {
|
||||
MusicUtil.deleteAlbumArt(AbsTagEditorActivity.this, getId());
|
||||
//ImageLoader.getInstance().getMemoryCache().remove(MusicUtil.getAlbumArtUri(getId()).toString());
|
||||
ImageLoader.getInstance().clearMemoryCache();
|
||||
} else if (artwork != null) {
|
||||
//ImageLoader.getInstance().getMemoryCache().remove(MusicUtil.getAlbumArtUri(getId()).toString());
|
||||
ImageLoader.getInstance().clearMemoryCache();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,85 @@
|
|||
package com.kabouzeid.gramophone.util;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.graphics.Point;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.view.Display;
|
||||
import android.view.WindowManager;
|
||||
|
||||
import org.jaudiotagger.audio.AudioFile;
|
||||
import org.jaudiotagger.audio.AudioFileIO;
|
||||
import org.jaudiotagger.audio.exceptions.CannotReadException;
|
||||
import org.jaudiotagger.audio.exceptions.InvalidAudioFrameException;
|
||||
import org.jaudiotagger.audio.exceptions.ReadOnlyFileException;
|
||||
import org.jaudiotagger.tag.TagException;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* @author Karim Abou Zeid (kabouzeid)
|
||||
*/
|
||||
public class ImageUtil {
|
||||
|
||||
@Nullable
|
||||
public static Bitmap getEmbeddedSongArt(File songFile, Context context) {
|
||||
try {
|
||||
AudioFile audioFile = AudioFileIO.read(songFile);
|
||||
byte[] data = audioFile.getTag().getFirstArtwork().getBinaryData();
|
||||
if (data != null) {
|
||||
final BitmapFactory.Options options = new BitmapFactory.Options();
|
||||
options.inPreferredConfig = Bitmap.Config.RGB_565;
|
||||
options.inJustDecodeBounds = true;
|
||||
BitmapFactory.decodeByteArray(data, 0, data.length, options);
|
||||
// Calculate inSampleSize
|
||||
options.inSampleSize = calculateInSampleSize(options, context);
|
||||
// Decode bitmap with inSampleSize set
|
||||
options.inJustDecodeBounds = false;
|
||||
return BitmapFactory.decodeByteArray(data, 0, data.length, options);
|
||||
}
|
||||
} catch (CannotReadException | TagException | IOException | ReadOnlyFileException | InvalidAudioFrameException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static int calculateInSampleSize(BitmapFactory.Options options, Context context) {
|
||||
|
||||
// Raw height and width of image
|
||||
final int height = options.outHeight;
|
||||
final int width = options.outWidth;
|
||||
int reqLength = Math.round(getSmallerScreenSize(context) * 1.5f); // absolute maximum size the album art will ever have
|
||||
|
||||
// setting reqWidth matching to desired 1:1 ratio and screen-size
|
||||
if (width < height) {
|
||||
reqLength = (height / width) * reqLength;
|
||||
} else {
|
||||
reqLength = (width / height) * reqLength;
|
||||
}
|
||||
|
||||
int inSampleSize = 1;
|
||||
|
||||
if (height > reqLength || width > reqLength) {
|
||||
final int halfHeight = height / 2;
|
||||
final int halfWidth = width / 2;
|
||||
|
||||
// Calculate the largest inSampleSize value that is a power of 2 and keeps both
|
||||
// height and width larger than the requested height and width.
|
||||
while ((halfHeight / inSampleSize) > reqLength
|
||||
&& (halfWidth / inSampleSize) > reqLength) {
|
||||
inSampleSize *= 2;
|
||||
}
|
||||
}
|
||||
|
||||
return inSampleSize;
|
||||
}
|
||||
|
||||
private static int getSmallerScreenSize(Context c) {
|
||||
Display display = ((WindowManager) c.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
|
||||
Point size = new Point();
|
||||
display.getSize(size);
|
||||
return Math.min(size.x, size.y);
|
||||
}
|
||||
}
|
||||
|
|
@ -11,14 +11,17 @@ import android.os.Environment;
|
|||
import android.provider.BaseColumns;
|
||||
import android.provider.MediaStore;
|
||||
import android.provider.Settings;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.util.Log;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.kabouzeid.gramophone.App;
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.helper.MusicPlayerRemote;
|
||||
import com.kabouzeid.gramophone.imageloader.PhonographImageDownloader;
|
||||
import com.kabouzeid.gramophone.loader.PlaylistLoader;
|
||||
import com.kabouzeid.gramophone.loader.SongLoader;
|
||||
import com.kabouzeid.gramophone.model.Album;
|
||||
import com.kabouzeid.gramophone.model.Artist;
|
||||
import com.kabouzeid.gramophone.model.DataBaseChangedEvent;
|
||||
import com.kabouzeid.gramophone.model.Playlist;
|
||||
|
|
@ -34,6 +37,14 @@ import java.util.List;
|
|||
public class MusicUtil {
|
||||
public static final String TAG = MusicUtil.class.getSimpleName();
|
||||
|
||||
public static String getAlbumImageLoaderString(Album album) {
|
||||
return PhonographImageDownloader.SCHEME_ALBUM + album.id;
|
||||
}
|
||||
|
||||
public static String getSongImageLoaderString(Song song) {
|
||||
return PhonographImageDownloader.SCHEME_SONG + song.albumId + "#" + song.data;
|
||||
}
|
||||
|
||||
public static Uri getAlbumArtUri(int albumId) {
|
||||
final Uri sArtworkUri = Uri
|
||||
.parse("content://media/external/audio/albumart");
|
||||
|
|
@ -45,6 +56,7 @@ public class MusicUtil {
|
|||
return ContentUris.withAppendedId(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, songId);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static Intent createShareSongFileIntent(final Song song) {
|
||||
return new Intent()
|
||||
.setAction(Intent.ACTION_SEND)
|
||||
|
|
@ -122,6 +134,7 @@ public class MusicUtil {
|
|||
return new File(createAlbumArtDir(), name + System.currentTimeMillis());
|
||||
}
|
||||
|
||||
@SuppressWarnings("ResultOfMethodCallIgnored")
|
||||
public static File createAlbumArtDir() {
|
||||
File albumArtDir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "/.albumart/");
|
||||
if (!albumArtDir.exists()) {
|
||||
|
|
|
|||
|
|
@ -22,8 +22,7 @@ public final class PreferenceUtils {
|
|||
public static final String ALBUM_SORT_ORDER = "album_sort_order";
|
||||
public static final String ALBUM_SONG_SORT_ORDER = "album_song_sort_order";
|
||||
public static final String SONG_SORT_ORDER = "song_sort_order";
|
||||
// public static final String ONLY_ON_WIFI = "auto_download_artist_images";
|
||||
// public static final String DOWNLOAD_MISSING_ARTIST_IMAGES = "auto_download_artist_images";
|
||||
public static final String AUTO_DOWNLOAD_ARTIST_IMAGES_ONLY_ON_WIFI = "auto_download_artist_images_only_on_wifi";
|
||||
public static final String COLORED_ALBUM_FOOTERS = "colored_album_footers";
|
||||
public static final String COLORED_NAVIGATION_BAR = "colored_navigation_bar";
|
||||
public static final String COLORED_NAVIGATION_BAR_ALBUM = "colored_navigation_bar_album";
|
||||
|
|
@ -46,6 +45,7 @@ public final class PreferenceUtils {
|
|||
public static final String ALBUM_ART_ON_LOCKSCREEN = "album_art_on_lockscreen";
|
||||
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 IGNORE_MEDIA_STORE_ARTWORK = "ignore_media_store_artwork";
|
||||
|
||||
private static PreferenceUtils sInstance;
|
||||
|
||||
|
|
@ -111,9 +111,9 @@ public final class PreferenceUtils {
|
|||
return mPreferences.getInt(LAST_START_PAGE, DEFAULT_PAGE);
|
||||
}
|
||||
|
||||
// public final boolean autoDownloadOnlyOnWifi() {
|
||||
// return mPreferences.getBoolean(ONLY_ON_WIFI, false);
|
||||
// }
|
||||
public final boolean autoDownloadArtistImagesOnlyOnWifi() {
|
||||
return mPreferences.getBoolean(AUTO_DOWNLOAD_ARTIST_IMAGES_ONLY_ON_WIFI, false);
|
||||
}
|
||||
|
||||
public final boolean coloredAlbumFooters() {
|
||||
return mPreferences.getBoolean(COLORED_ALBUM_FOOTERS, true);
|
||||
|
|
@ -168,11 +168,6 @@ public final class PreferenceUtils {
|
|||
}
|
||||
}
|
||||
|
||||
// @SuppressLint("CommitPrefEdits")
|
||||
// private void setColoredNavigationBarOtherScreens(boolean coloredNavbar) {
|
||||
// mPreferences.edit().putBoolean(COLORED_NAVIGATION_BAR_OTHER_SCREENS, coloredNavbar).commit();
|
||||
// }
|
||||
|
||||
public final boolean opaqueStatusbarNowPlaying() {
|
||||
return mPreferences.getBoolean(OPAQUE_STATUSBAR_NOW_PLAYING, false);
|
||||
}
|
||||
|
|
@ -201,68 +196,37 @@ public final class PreferenceUtils {
|
|||
return mPreferences.getBoolean(GAPLESS_PLAYBACK, false);
|
||||
}
|
||||
|
||||
public final boolean albumArtOnLockscrenn() {
|
||||
public final boolean albumArtOnLockscreen() {
|
||||
return mPreferences.getBoolean(ALBUM_ART_ON_LOCKSCREEN, true);
|
||||
}
|
||||
|
||||
// public final boolean downloadMissingArtistImages() {
|
||||
// return mPreferences.getBoolean(DOWNLOAD_MISSING_ARTIST_IMAGES, true);
|
||||
// }
|
||||
//
|
||||
public final boolean ignoreMediaStoreArtwork() {
|
||||
return mPreferences.getBoolean(IGNORE_MEDIA_STORE_ARTWORK, false);
|
||||
}
|
||||
|
||||
// private void setSortOrder(final String key, final String value) {
|
||||
// final SharedPreferences.Editor editor = mPreferences.edit();
|
||||
// editor.putString(key, value);
|
||||
// editor.apply();
|
||||
// }
|
||||
|
||||
// public void setArtistSortOrder(final String value) {
|
||||
// setSortOrder(ARTIST_SORT_ORDER, value);
|
||||
// }
|
||||
//
|
||||
public final String getArtistSortOrder() {
|
||||
return mPreferences.getString(ARTIST_SORT_ORDER, SortOrder.ArtistSortOrder.ARTIST_A_Z);
|
||||
}
|
||||
|
||||
// public void setArtistSongSortOrder(final String value) {
|
||||
// setSortOrder(ARTIST_SONG_SORT_ORDER, value);
|
||||
// }
|
||||
|
||||
public final String getArtistSongSortOrder() {
|
||||
return mPreferences.getString(ARTIST_SONG_SORT_ORDER,
|
||||
SortOrder.ArtistSongSortOrder.SONG_A_Z);
|
||||
}
|
||||
|
||||
// public void setArtistAlbumSortOrder(final String value) {
|
||||
// setSortOrder(ARTIST_ALBUM_SORT_ORDER, value);
|
||||
// }
|
||||
|
||||
public final String getArtistAlbumSortOrder() {
|
||||
return mPreferences.getString(ARTIST_ALBUM_SORT_ORDER,
|
||||
SortOrder.ArtistAlbumSortOrder.ALBUM_YEAR_ASC);
|
||||
}
|
||||
|
||||
// public void setAlbumSortOrder(final String value) {
|
||||
// setSortOrder(ALBUM_SORT_ORDER, value);
|
||||
// }
|
||||
|
||||
public final String getAlbumSortOrder() {
|
||||
return mPreferences.getString(ALBUM_SORT_ORDER, SortOrder.AlbumSortOrder.ALBUM_A_Z);
|
||||
}
|
||||
|
||||
// public void setAlbumSongSortOrder(final String value) {
|
||||
// setSortOrder(ALBUM_SONG_SORT_ORDER, value);
|
||||
// }
|
||||
|
||||
public final String getAlbumSongSortOrder() {
|
||||
return mPreferences.getString(ALBUM_SONG_SORT_ORDER,
|
||||
SortOrder.AlbumSongSortOrder.SONG_TRACK_LIST);
|
||||
}
|
||||
|
||||
// public void setSongSortOrder(final String value) {
|
||||
// setSortOrder(SONG_SORT_ORDER, value);
|
||||
// }
|
||||
|
||||
public final String getSongSortOrder() {
|
||||
return mPreferences.getString(SONG_SORT_ORDER, SortOrder.SongSortOrder.SONG_A_Z);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -118,44 +118,6 @@ public class Util {
|
|||
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
|
||||
}
|
||||
|
||||
// public static boolean isOnline(final Context context) {
|
||||
// if (context == null)
|
||||
// return false;
|
||||
//
|
||||
// boolean state = false;
|
||||
// final boolean onlyOnWifi = PreferenceUtils.getInstance(context).autoDownloadOnlyOnWifi();
|
||||
//
|
||||
// /* Monitor network connections */
|
||||
// final ConnectivityManager connectivityManager = (ConnectivityManager) context
|
||||
// .getSystemService(Context.CONNECTIVITY_SERVICE);
|
||||
//
|
||||
// /* Wi-Fi connection */
|
||||
// final NetworkInfo wifiNetwork = connectivityManager
|
||||
// .getNetworkInfo(ConnectivityManager.TYPE_WIFI);
|
||||
// if (wifiNetwork != null) {
|
||||
// state = wifiNetwork.isConnectedOrConnecting();
|
||||
// }
|
||||
//
|
||||
// /* Mobile data connection */
|
||||
// final NetworkInfo mbobileNetwork = connectivityManager
|
||||
// .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
|
||||
// if (mbobileNetwork != null) {
|
||||
// if (!onlyOnWifi) {
|
||||
// state = mbobileNetwork.isConnectedOrConnecting();
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// /* Other networks */
|
||||
// final NetworkInfo activeNetwork = connectivityManager.getActiveNetworkInfo();
|
||||
// if (activeNetwork != null) {
|
||||
// if (!onlyOnWifi) {
|
||||
// state = activeNetwork.isConnectedOrConnecting();
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// return state;
|
||||
// }
|
||||
|
||||
public static String getFileSizeString(long sizeInBytes) {
|
||||
long fileSizeInKB = sizeInBytes / 1024;
|
||||
long fileSizeInMB = fileSizeInKB / 1024;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue