From 3f3526f061c6d8962e9b0e85b6de171236b9a118 Mon Sep 17 00:00:00 2001 From: Eugene Cheung Date: Mon, 7 Jan 2019 22:12:21 -0500 Subject: [PATCH] Move some util functions --- app/src/main/AndroidManifest.xml | 10 ++-- .../gramophone/adapter/SongFileAdapter.java | 4 +- .../AppShortcutIconGenerator.java | 20 +++----- .../gramophone/appwidgets/AppWidgetBig.java | 13 ++--- .../gramophone/appwidgets/AppWidgetCard.java | 20 ++++---- .../appwidgets/AppWidgetClassic.java | 14 ++--- .../gramophone/appwidgets/AppWidgetSmall.java | 14 ++--- .../appwidgets/base/BaseAppWidget.java | 8 --- .../glide/artistimage/ArtistImageFetcher.java | 4 +- .../TopAndRecentlyPlayedTracksLoader.java | 3 +- .../model/smartplaylist/HistoryPlaylist.java | 2 +- .../smartplaylist/LastAddedPlaylist.java | 2 +- .../NotRecentlyPlayedPlaylist.java | 3 +- .../notification/PlayingNotificationImpl.java | 16 ++---- .../ui/activities/AlbumDetailActivity.java | 8 +-- .../ui/activities/ArtistDetailActivity.java | 7 ++- .../ui/activities/PlaylistDetailActivity.java | 1 - .../player/card/CardPlayerFragment.java | 5 +- .../player/flat/FlatPlayerFragment.java | 5 +- .../kabouzeid/gramophone/util/ImageUtil.java | 51 +++++++++++++++++++ .../gramophone/util/PreferenceUtil.java | 17 ++++++- .../com/kabouzeid/gramophone/util/Util.java | 49 +----------------- 22 files changed, 135 insertions(+), 141 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 8cc3bfd1..b91807b9 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,7 +1,7 @@ - + @@ -18,8 +18,8 @@ android:name=".App" android:allowBackup="true" android:icon="@mipmap/ic_launcher" - android:roundIcon="@mipmap/ic_launcher_round" android:label="@string/app_name" + android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.Phonograph.Light" tools:ignore="UnusedAttribute"> @@ -210,7 +210,7 @@ android:grantUriPermissions="true"> + android:resource="@xml/provider_paths" /> diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/SongFileAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/SongFileAdapter.java index 2d58b900..1858fb9b 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/SongFileAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/SongFileAdapter.java @@ -20,7 +20,7 @@ import com.kabouzeid.gramophone.adapter.base.AbsMultiSelectAdapter; import com.kabouzeid.gramophone.adapter.base.MediaEntryViewHolder; import com.kabouzeid.gramophone.glide.audiocover.AudioFileCover; import com.kabouzeid.gramophone.interfaces.CabHolder; -import com.kabouzeid.gramophone.util.Util; +import com.kabouzeid.gramophone.util.ImageUtil; import com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView; import java.io.File; @@ -116,7 +116,7 @@ public class SongFileAdapter extends AbsMultiSelectAdapter= Build.VERSION_CODES.O) { AdaptiveIconDrawable adaptiveIconDrawable = new AdaptiveIconDrawable(backgroundDrawable, vectorDrawable); - return IconCompat.createWithAdaptiveBitmap(drawableToBitmap(adaptiveIconDrawable)); + return IconCompat.createWithAdaptiveBitmap(ImageUtil.createBitmap(adaptiveIconDrawable)); } else { // Squash the two drawables together LayerDrawable layerDrawable = new LayerDrawable(new Drawable[]{backgroundDrawable, vectorDrawable}); // Return as an Icon - return IconCompat.createWithBitmap(drawableToBitmap(layerDrawable)); + return IconCompat.createWithBitmap(ImageUtil.createBitmap(layerDrawable)); } } - private static Bitmap drawableToBitmap(Drawable drawable) { - Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888); - Canvas canvas = new Canvas(bitmap); - drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight()); - drawable.draw(canvas); - return bitmap; - } } diff --git a/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetBig.java b/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetBig.java index c2833fac..2e561e38 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetBig.java +++ b/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetBig.java @@ -23,6 +23,7 @@ import com.kabouzeid.gramophone.glide.SongGlideRequest; import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.service.MusicService; import com.kabouzeid.gramophone.ui.activities.MainActivity; +import com.kabouzeid.gramophone.util.ImageUtil; import com.kabouzeid.gramophone.util.Util; public class AppWidgetBig extends BaseAppWidget { @@ -47,9 +48,9 @@ public class AppWidgetBig extends BaseAppWidget { appWidgetView.setViewVisibility(R.id.media_titles, View.INVISIBLE); appWidgetView.setImageViewResource(R.id.image, R.drawable.default_album_art); - appWidgetView.setImageViewBitmap(R.id.button_next, createBitmap(Util.getTintedVectorDrawable(context, R.drawable.ic_skip_next_white_24dp, MaterialValueHelper.getPrimaryTextColor(context, false)), 1f)); - appWidgetView.setImageViewBitmap(R.id.button_prev, createBitmap(Util.getTintedVectorDrawable(context, R.drawable.ic_skip_previous_white_24dp, MaterialValueHelper.getPrimaryTextColor(context, false)), 1f)); - appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, createBitmap(Util.getTintedVectorDrawable(context, R.drawable.ic_play_arrow_white_24dp, MaterialValueHelper.getPrimaryTextColor(context, false)), 1f)); + appWidgetView.setImageViewBitmap(R.id.button_next, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(context, R.drawable.ic_skip_next_white_24dp, MaterialValueHelper.getPrimaryTextColor(context, false)))); + appWidgetView.setImageViewBitmap(R.id.button_prev, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(context, R.drawable.ic_skip_previous_white_24dp, MaterialValueHelper.getPrimaryTextColor(context, false)))); + appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(context, R.drawable.ic_play_arrow_white_24dp, MaterialValueHelper.getPrimaryTextColor(context, false)))); linkButtons(context, appWidgetView); pushUpdate(context, appWidgetIds, appWidgetView); @@ -75,11 +76,11 @@ public class AppWidgetBig extends BaseAppWidget { // Set correct drawable for pause state int playPauseRes = isPlaying ? R.drawable.ic_pause_white_24dp : R.drawable.ic_play_arrow_white_24dp; - appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, createBitmap(Util.getTintedVectorDrawable(service, playPauseRes, MaterialValueHelper.getPrimaryTextColor(service, false)), 1f)); + appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, playPauseRes, MaterialValueHelper.getPrimaryTextColor(service, false)))); // Set prev/next button drawables - appWidgetView.setImageViewBitmap(R.id.button_next, createBitmap(Util.getTintedVectorDrawable(service, R.drawable.ic_skip_next_white_24dp, MaterialValueHelper.getPrimaryTextColor(service, false)), 1f)); - appWidgetView.setImageViewBitmap(R.id.button_prev, createBitmap(Util.getTintedVectorDrawable(service, R.drawable.ic_skip_previous_white_24dp, MaterialValueHelper.getPrimaryTextColor(service, false)), 1f)); + appWidgetView.setImageViewBitmap(R.id.button_next, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, R.drawable.ic_skip_next_white_24dp, MaterialValueHelper.getPrimaryTextColor(service, false)))); + appWidgetView.setImageViewBitmap(R.id.button_prev, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, R.drawable.ic_skip_previous_white_24dp, MaterialValueHelper.getPrimaryTextColor(service, false)))); // Link actions buttons to intents linkButtons(service, appWidgetView); diff --git a/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetCard.java b/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetCard.java index e8bd183f..db00db97 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetCard.java +++ b/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetCard.java @@ -24,7 +24,7 @@ import com.kabouzeid.gramophone.glide.palette.BitmapPaletteWrapper; import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.service.MusicService; import com.kabouzeid.gramophone.ui.activities.MainActivity; -import com.kabouzeid.gramophone.util.Util; +import com.kabouzeid.gramophone.util.ImageUtil; public class AppWidgetCard extends BaseAppWidget { public static final String NAME = "app_widget_card"; @@ -50,9 +50,9 @@ public class AppWidgetCard extends BaseAppWidget { appWidgetView.setViewVisibility(R.id.media_titles, View.INVISIBLE); appWidgetView.setImageViewResource(R.id.image, R.drawable.default_album_art); - appWidgetView.setImageViewBitmap(R.id.button_next, createBitmap(Util.getTintedVectorDrawable(context, R.drawable.ic_skip_next_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)), 1f)); - appWidgetView.setImageViewBitmap(R.id.button_prev, createBitmap(Util.getTintedVectorDrawable(context, R.drawable.ic_skip_previous_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)), 1f)); - appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, createBitmap(Util.getTintedVectorDrawable(context, R.drawable.ic_play_arrow_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)), 1f)); + appWidgetView.setImageViewBitmap(R.id.button_next, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(context, R.drawable.ic_skip_next_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)))); + appWidgetView.setImageViewBitmap(R.id.button_prev, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(context, R.drawable.ic_skip_previous_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)))); + appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(context, R.drawable.ic_play_arrow_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)))); linkButtons(context, appWidgetView); pushUpdate(context, appWidgetIds, appWidgetView); @@ -78,11 +78,11 @@ public class AppWidgetCard extends BaseAppWidget { // Set correct drawable for pause state int playPauseRes = isPlaying ? R.drawable.ic_pause_white_24dp : R.drawable.ic_play_arrow_white_24dp; - appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, createBitmap(Util.getTintedVectorDrawable(service, playPauseRes, MaterialValueHelper.getSecondaryTextColor(service, true)), 1f)); + appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, playPauseRes, MaterialValueHelper.getSecondaryTextColor(service, true)))); // Set prev/next button drawables - appWidgetView.setImageViewBitmap(R.id.button_next, createBitmap(Util.getTintedVectorDrawable(service, R.drawable.ic_skip_next_white_24dp, MaterialValueHelper.getSecondaryTextColor(service, true)), 1f)); - appWidgetView.setImageViewBitmap(R.id.button_prev, createBitmap(Util.getTintedVectorDrawable(service, R.drawable.ic_skip_previous_white_24dp, MaterialValueHelper.getSecondaryTextColor(service, true)), 1f)); + appWidgetView.setImageViewBitmap(R.id.button_next, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, R.drawable.ic_skip_next_white_24dp, MaterialValueHelper.getSecondaryTextColor(service, true)))); + appWidgetView.setImageViewBitmap(R.id.button_prev, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, R.drawable.ic_skip_previous_white_24dp, MaterialValueHelper.getSecondaryTextColor(service, true)))); // Link actions buttons to intents linkButtons(service, appWidgetView); @@ -119,11 +119,11 @@ public class AppWidgetCard extends BaseAppWidget { private void update(@Nullable Bitmap bitmap, int color) { // Set correct drawable for pause state int playPauseRes = isPlaying ? R.drawable.ic_pause_white_24dp : R.drawable.ic_play_arrow_white_24dp; - appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, createBitmap(Util.getTintedVectorDrawable(service, playPauseRes, color), 1f)); + appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, playPauseRes, color))); // Set prev/next button drawables - appWidgetView.setImageViewBitmap(R.id.button_next, createBitmap(Util.getTintedVectorDrawable(service, R.drawable.ic_skip_next_white_24dp, color), 1f)); - appWidgetView.setImageViewBitmap(R.id.button_prev, createBitmap(Util.getTintedVectorDrawable(service, R.drawable.ic_skip_previous_white_24dp, color), 1f)); + appWidgetView.setImageViewBitmap(R.id.button_next, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, R.drawable.ic_skip_next_white_24dp, color))); + appWidgetView.setImageViewBitmap(R.id.button_prev, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, R.drawable.ic_skip_previous_white_24dp, color))); final Drawable image = getAlbumArtDrawable(service.getResources(), bitmap); final Bitmap roundedBitmap = createRoundedBitmap(image, imageSize, imageSize, cardRadius, 0, cardRadius, 0); diff --git a/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetClassic.java b/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetClassic.java index 4412485e..625f8d99 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetClassic.java +++ b/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetClassic.java @@ -24,7 +24,7 @@ import com.kabouzeid.gramophone.glide.palette.BitmapPaletteWrapper; import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.service.MusicService; import com.kabouzeid.gramophone.ui.activities.MainActivity; -import com.kabouzeid.gramophone.util.Util; +import com.kabouzeid.gramophone.util.ImageUtil; public class AppWidgetClassic extends BaseAppWidget { public static final String NAME = "app_widget_classic"; @@ -50,9 +50,9 @@ public class AppWidgetClassic extends BaseAppWidget { appWidgetView.setViewVisibility(R.id.media_titles, View.INVISIBLE); appWidgetView.setImageViewResource(R.id.image, R.drawable.default_album_art); - appWidgetView.setImageViewBitmap(R.id.button_next, createBitmap(Util.getTintedVectorDrawable(context, R.drawable.ic_skip_next_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)), 1f)); - appWidgetView.setImageViewBitmap(R.id.button_prev, createBitmap(Util.getTintedVectorDrawable(context, R.drawable.ic_skip_previous_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)), 1f)); - appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, createBitmap(Util.getTintedVectorDrawable(context, R.drawable.ic_play_arrow_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)), 1f)); + appWidgetView.setImageViewBitmap(R.id.button_next, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(context, R.drawable.ic_skip_next_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)))); + appWidgetView.setImageViewBitmap(R.id.button_prev, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(context, R.drawable.ic_skip_previous_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)))); + appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(context, R.drawable.ic_play_arrow_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)))); linkButtons(context, appWidgetView); pushUpdate(context, appWidgetIds, appWidgetView); @@ -112,11 +112,11 @@ public class AppWidgetClassic extends BaseAppWidget { private void update(@Nullable Bitmap bitmap, int color) { // Set correct drawable for pause state int playPauseRes = isPlaying ? R.drawable.ic_pause_white_24dp : R.drawable.ic_play_arrow_white_24dp; - appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, createBitmap(Util.getTintedVectorDrawable(service, playPauseRes, color), 1f)); + appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, playPauseRes, color))); // Set prev/next button drawables - appWidgetView.setImageViewBitmap(R.id.button_next, createBitmap(Util.getTintedVectorDrawable(service, R.drawable.ic_skip_next_white_24dp, color), 1f)); - appWidgetView.setImageViewBitmap(R.id.button_prev, createBitmap(Util.getTintedVectorDrawable(service, R.drawable.ic_skip_previous_white_24dp, color), 1f)); + appWidgetView.setImageViewBitmap(R.id.button_next, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, R.drawable.ic_skip_next_white_24dp, color))); + appWidgetView.setImageViewBitmap(R.id.button_prev, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, R.drawable.ic_skip_previous_white_24dp, color))); final Drawable image = getAlbumArtDrawable(service.getResources(), bitmap); final Bitmap roundedBitmap = createRoundedBitmap(image, imageSize, imageSize, cardRadius, 0, cardRadius, 0); diff --git a/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetSmall.java b/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetSmall.java index 7d63c6ff..79de693e 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetSmall.java +++ b/app/src/main/java/com/kabouzeid/gramophone/appwidgets/AppWidgetSmall.java @@ -24,7 +24,7 @@ import com.kabouzeid.gramophone.glide.palette.BitmapPaletteWrapper; import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.service.MusicService; import com.kabouzeid.gramophone.ui.activities.MainActivity; -import com.kabouzeid.gramophone.util.Util; +import com.kabouzeid.gramophone.util.ImageUtil; public class AppWidgetSmall extends BaseAppWidget { public static final String NAME = "app_widget_small"; @@ -50,9 +50,9 @@ public class AppWidgetSmall extends BaseAppWidget { appWidgetView.setViewVisibility(R.id.media_titles, View.INVISIBLE); appWidgetView.setImageViewResource(R.id.image, R.drawable.default_album_art); - appWidgetView.setImageViewBitmap(R.id.button_next, createBitmap(Util.getTintedVectorDrawable(context, R.drawable.ic_skip_next_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)), 1f)); - appWidgetView.setImageViewBitmap(R.id.button_prev, createBitmap(Util.getTintedVectorDrawable(context, R.drawable.ic_skip_previous_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)), 1f)); - appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, createBitmap(Util.getTintedVectorDrawable(context, R.drawable.ic_play_arrow_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)), 1f)); + appWidgetView.setImageViewBitmap(R.id.button_next, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(context, R.drawable.ic_skip_next_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)))); + appWidgetView.setImageViewBitmap(R.id.button_prev, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(context, R.drawable.ic_skip_previous_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)))); + appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(context, R.drawable.ic_play_arrow_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true)))); linkButtons(context, appWidgetView); pushUpdate(context, appWidgetIds, appWidgetView); @@ -118,11 +118,11 @@ public class AppWidgetSmall extends BaseAppWidget { private void update(@Nullable Bitmap bitmap, int color) { // Set correct drawable for pause state int playPauseRes = isPlaying ? R.drawable.ic_pause_white_24dp : R.drawable.ic_play_arrow_white_24dp; - appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, createBitmap(Util.getTintedVectorDrawable(service, playPauseRes, color), 1f)); + appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, playPauseRes, color))); // Set prev/next button drawables - appWidgetView.setImageViewBitmap(R.id.button_next, createBitmap(Util.getTintedVectorDrawable(service, R.drawable.ic_skip_next_white_24dp, color), 1f)); - appWidgetView.setImageViewBitmap(R.id.button_prev, createBitmap(Util.getTintedVectorDrawable(service, R.drawable.ic_skip_previous_white_24dp, color), 1f)); + appWidgetView.setImageViewBitmap(R.id.button_next, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, R.drawable.ic_skip_next_white_24dp, color))); + appWidgetView.setImageViewBitmap(R.id.button_prev, ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, R.drawable.ic_skip_previous_white_24dp, color))); final Drawable image = getAlbumArtDrawable(service.getResources(), bitmap); final Bitmap roundedBitmap = createRoundedBitmap(image, imageSize, imageSize, cardRadius, 0, 0, 0); diff --git a/app/src/main/java/com/kabouzeid/gramophone/appwidgets/base/BaseAppWidget.java b/app/src/main/java/com/kabouzeid/gramophone/appwidgets/base/BaseAppWidget.java index 8ea1a345..f95eecd5 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/appwidgets/base/BaseAppWidget.java +++ b/app/src/main/java/com/kabouzeid/gramophone/appwidgets/base/BaseAppWidget.java @@ -82,14 +82,6 @@ public abstract class BaseAppWidget extends AppWidgetProvider { } } - protected static Bitmap createBitmap(Drawable drawable, float sizeMultiplier) { - Bitmap bitmap = Bitmap.createBitmap((int) (drawable.getIntrinsicWidth() * sizeMultiplier), (int) (drawable.getIntrinsicHeight() * sizeMultiplier), Bitmap.Config.ARGB_8888); - Canvas c = new Canvas(bitmap); - drawable.setBounds(0, 0, c.getWidth(), c.getHeight()); - drawable.draw(c); - return bitmap; - } - protected static Bitmap createRoundedBitmap(Drawable drawable, int width, int height, float tl, float tr, float bl, float br) { if (drawable == null) return null; diff --git a/app/src/main/java/com/kabouzeid/gramophone/glide/artistimage/ArtistImageFetcher.java b/app/src/main/java/com/kabouzeid/gramophone/glide/artistimage/ArtistImageFetcher.java index e6b80894..e554755f 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/glide/artistimage/ArtistImageFetcher.java +++ b/app/src/main/java/com/kabouzeid/gramophone/glide/artistimage/ArtistImageFetcher.java @@ -10,7 +10,7 @@ import com.kabouzeid.gramophone.lastfm.rest.LastFMRestClient; import com.kabouzeid.gramophone.lastfm.rest.model.LastFmArtist; import com.kabouzeid.gramophone.util.LastFMUtil; import com.kabouzeid.gramophone.util.MusicUtil; -import com.kabouzeid.gramophone.util.Util; +import com.kabouzeid.gramophone.util.PreferenceUtil; import java.io.IOException; import java.io.InputStream; @@ -48,7 +48,7 @@ public class ArtistImageFetcher implements DataFetcher { @Override public InputStream loadData(Priority priority) throws Exception { - if (!MusicUtil.isArtistNameUnknown(model.artistName) && Util.isAllowedToDownloadMetadata(context)) { + if (!MusicUtil.isArtistNameUnknown(model.artistName) && PreferenceUtil.isAllowedToDownloadMetadata(context)) { Response response = lastFMRestClient.getApiService().getArtistInfo(model.artistName, null, model.skipOkHttpCache ? "no-cache" : null).execute(); if (!response.isSuccessful()) { diff --git a/app/src/main/java/com/kabouzeid/gramophone/loader/TopAndRecentlyPlayedTracksLoader.java b/app/src/main/java/com/kabouzeid/gramophone/loader/TopAndRecentlyPlayedTracksLoader.java index 6f9d16cd..522fceba 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/loader/TopAndRecentlyPlayedTracksLoader.java +++ b/app/src/main/java/com/kabouzeid/gramophone/loader/TopAndRecentlyPlayedTracksLoader.java @@ -26,7 +26,6 @@ import android.support.annotation.Nullable; import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.provider.HistoryStore; import com.kabouzeid.gramophone.provider.SongPlayCountStore; - import com.kabouzeid.gramophone.util.PreferenceUtil; import java.util.ArrayList; @@ -44,7 +43,7 @@ public class TopAndRecentlyPlayedTracksLoader { (@NonNull Context context) { ArrayList allSongs = SongLoader.getSongs( SongLoader.makeSongCursor( - context, + context, null, null, MediaStore.Audio.Media.DATE_ADDED + " ASC")); diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/HistoryPlaylist.java b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/HistoryPlaylist.java index c9562b8e..4e9b260a 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/HistoryPlaylist.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/HistoryPlaylist.java @@ -4,10 +4,10 @@ import android.content.Context; import android.os.Parcel; import android.support.annotation.NonNull; +import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.loader.TopAndRecentlyPlayedTracksLoader; import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.provider.HistoryStore; -import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.util.PreferenceUtil; import java.util.ArrayList; diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/LastAddedPlaylist.java b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/LastAddedPlaylist.java index 82372dc8..01a52cc1 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/LastAddedPlaylist.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/LastAddedPlaylist.java @@ -4,9 +4,9 @@ import android.content.Context; import android.os.Parcel; import android.support.annotation.NonNull; +import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.loader.LastAddedLoader; import com.kabouzeid.gramophone.model.Song; -import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.util.PreferenceUtil; import java.util.ArrayList; diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/NotRecentlyPlayedPlaylist.java b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/NotRecentlyPlayedPlaylist.java index 7070a16b..6bd8e443 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/NotRecentlyPlayedPlaylist.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/NotRecentlyPlayedPlaylist.java @@ -4,10 +4,9 @@ import android.content.Context; import android.os.Parcel; import android.support.annotation.NonNull; +import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.loader.TopAndRecentlyPlayedTracksLoader; import com.kabouzeid.gramophone.model.Song; -import com.kabouzeid.gramophone.provider.HistoryStore; -import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.util.PreferenceUtil; import java.util.ArrayList; diff --git a/app/src/main/java/com/kabouzeid/gramophone/service/notification/PlayingNotificationImpl.java b/app/src/main/java/com/kabouzeid/gramophone/service/notification/PlayingNotificationImpl.java index 357a9106..17065d5f 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/service/notification/PlayingNotificationImpl.java +++ b/app/src/main/java/com/kabouzeid/gramophone/service/notification/PlayingNotificationImpl.java @@ -6,7 +6,6 @@ import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; -import android.graphics.Canvas; import android.graphics.Color; import android.graphics.drawable.Drawable; import android.support.annotation.Nullable; @@ -27,9 +26,9 @@ import com.kabouzeid.gramophone.glide.palette.BitmapPaletteWrapper; import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.service.MusicService; import com.kabouzeid.gramophone.ui.activities.MainActivity; +import com.kabouzeid.gramophone.util.ImageUtil; import com.kabouzeid.gramophone.util.PhonographColorUtil; import com.kabouzeid.gramophone.util.PreferenceUtil; -import com.kabouzeid.gramophone.util.Util; public class PlayingNotificationImpl extends PlayingNotification { @@ -133,9 +132,9 @@ public class PlayingNotificationImpl extends PlayingNotification { int primary = MaterialValueHelper.getPrimaryTextColor(service, dark); int secondary = MaterialValueHelper.getSecondaryTextColor(service, dark); - Bitmap prev = createBitmap(Util.getTintedVectorDrawable(service, R.drawable.ic_skip_previous_white_24dp, primary), 1.5f); - Bitmap next = createBitmap(Util.getTintedVectorDrawable(service, R.drawable.ic_skip_next_white_24dp, primary), 1.5f); - Bitmap playPause = createBitmap(Util.getTintedVectorDrawable(service, isPlaying ? R.drawable.ic_pause_white_24dp : R.drawable.ic_play_arrow_white_24dp, primary), 1.5f); + Bitmap prev = ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, R.drawable.ic_skip_previous_white_24dp, primary), 1.5f); + Bitmap next = ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, R.drawable.ic_skip_next_white_24dp, primary), 1.5f); + Bitmap playPause = ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(service, isPlaying ? R.drawable.ic_pause_white_24dp : R.drawable.ic_play_arrow_white_24dp, primary), 1.5f); notificationLayout.setTextColor(R.id.title, primary); notificationLayout.setTextColor(R.id.text, secondary); @@ -182,11 +181,4 @@ public class PlayingNotificationImpl extends PlayingNotification { return PendingIntent.getService(context, 0, intent, 0); } - private static Bitmap createBitmap(Drawable drawable, float sizeMultiplier) { - Bitmap bitmap = Bitmap.createBitmap((int) (drawable.getIntrinsicWidth() * sizeMultiplier), (int) (drawable.getIntrinsicHeight() * sizeMultiplier), Bitmap.Config.ARGB_8888); - Canvas c = new Canvas(bitmap); - drawable.setBounds(0, 0, c.getWidth(), c.getHeight()); - drawable.draw(c); - return bitmap; - } } diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java index 29153139..866e46a9 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java @@ -51,7 +51,7 @@ import com.kabouzeid.gramophone.ui.activities.tageditor.AlbumTagEditorActivity; import com.kabouzeid.gramophone.util.MusicUtil; import com.kabouzeid.gramophone.util.NavigationUtil; import com.kabouzeid.gramophone.util.PhonographColorUtil; -import com.kabouzeid.gramophone.util.Util; +import com.kabouzeid.gramophone.util.PreferenceUtil; import java.util.ArrayList; import java.util.Locale; @@ -271,7 +271,7 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements return; } - if (!Util.isAllowedToDownloadMetadata(AlbumDetailActivity.this)) { + if (!PreferenceUtil.isAllowedToDownloadMetadata(AlbumDetailActivity.this)) { if (wiki != null) { wikiDialog.setContent(wiki); } else { @@ -332,7 +332,7 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements .positiveText(android.R.string.ok) .build(); } - if (Util.isAllowedToDownloadMetadata(this)) { + if (PreferenceUtil.isAllowedToDownloadMetadata(this)) { if (wiki != null) { wikiDialog.setContent(wiki); wikiDialog.show(); @@ -409,7 +409,7 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements this.album = album; loadAlbumCover(); - if (Util.isAllowedToDownloadMetadata(this)) { + if (PreferenceUtil.isAllowedToDownloadMetadata(this)) { loadWiki(); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/ArtistDetailActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/ArtistDetailActivity.java index 4663e63b..2553a3ff 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/ArtistDetailActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/ArtistDetailActivity.java @@ -52,7 +52,6 @@ import com.kabouzeid.gramophone.util.MusicUtil; import com.kabouzeid.gramophone.util.NavigationUtil; import com.kabouzeid.gramophone.util.PhonographColorUtil; import com.kabouzeid.gramophone.util.PreferenceUtil; -import com.kabouzeid.gramophone.util.Util; import java.util.ArrayList; import java.util.Locale; @@ -234,7 +233,7 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement return; } - if (!Util.isAllowedToDownloadMetadata(ArtistDetailActivity.this)) { + if (!PreferenceUtil.isAllowedToDownloadMetadata(ArtistDetailActivity.this)) { if (biography != null) { biographyDialog.setContent(biography); } else { @@ -355,7 +354,7 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement .positiveText(android.R.string.ok) .build(); } - if (Util.isAllowedToDownloadMetadata(ArtistDetailActivity.this)) { // wiki should've been already downloaded + if (PreferenceUtil.isAllowedToDownloadMetadata(ArtistDetailActivity.this)) { // wiki should've been already downloaded if (biography != null) { biographyDialog.setContent(biography); biographyDialog.show(); @@ -437,7 +436,7 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement this.artist = artist; loadArtistImage(); - if (Util.isAllowedToDownloadMetadata(this)) { + if (PreferenceUtil.isAllowedToDownloadMetadata(this)) { loadBiography(); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PlaylistDetailActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PlaylistDetailActivity.java index 8013bd02..5220e3fb 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PlaylistDetailActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PlaylistDetailActivity.java @@ -32,7 +32,6 @@ import com.kabouzeid.gramophone.loader.PlaylistSongLoader; import com.kabouzeid.gramophone.misc.WrappedAsyncTaskLoader; import com.kabouzeid.gramophone.model.AbsCustomPlaylist; import com.kabouzeid.gramophone.model.Playlist; -import com.kabouzeid.gramophone.model.PlaylistSong; import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.ui.activities.base.AbsSlidingMusicPanelActivity; import com.kabouzeid.gramophone.util.PhonographColorUtil; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/card/CardPlayerFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/card/CardPlayerFragment.java index 4732b4dc..c445b8e3 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/card/CardPlayerFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/card/CardPlayerFragment.java @@ -49,6 +49,7 @@ import com.kabouzeid.gramophone.model.lyrics.Lyrics; import com.kabouzeid.gramophone.ui.activities.base.AbsSlidingMusicPanelActivity; import com.kabouzeid.gramophone.ui.fragments.player.AbsPlayerFragment; import com.kabouzeid.gramophone.ui.fragments.player.PlayerAlbumCoverFragment; +import com.kabouzeid.gramophone.util.ImageUtil; import com.kabouzeid.gramophone.util.MusicUtil; import com.kabouzeid.gramophone.util.Util; import com.kabouzeid.gramophone.util.ViewUtil; @@ -293,7 +294,7 @@ public class CardPlayerFragment extends AbsPlayerFragment implements PlayerAlbum if (activity != null) { int res = isFavorite ? R.drawable.ic_favorite_white_24dp : R.drawable.ic_favorite_border_white_24dp; int color = ToolbarContentTintHelper.toolbarContentColor(activity, Color.TRANSPARENT); - Drawable drawable = Util.getTintedVectorDrawable(activity, res, color); + Drawable drawable = ImageUtil.getTintedVectorDrawable(activity, res, color); toolbar.getMenu().findItem(R.id.action_toggle_favorite) .setIcon(drawable) .setTitle(isFavorite ? getString(R.string.action_remove_from_favorites) : getString(R.string.action_add_to_favorites)); @@ -336,7 +337,7 @@ public class CardPlayerFragment extends AbsPlayerFragment implements PlayerAlbum if (toolbar != null && activity != null) if (toolbar.getMenu().findItem(R.id.action_show_lyrics) == null) { int color = ToolbarContentTintHelper.toolbarContentColor(activity, Color.TRANSPARENT); - Drawable drawable = Util.getTintedVectorDrawable(activity, R.drawable.ic_comment_text_outline_white_24dp, color); + Drawable drawable = ImageUtil.getTintedVectorDrawable(activity, R.drawable.ic_comment_text_outline_white_24dp, color); toolbar.getMenu() .add(Menu.NONE, R.id.action_show_lyrics, Menu.NONE, R.string.action_show_lyrics) .setIcon(drawable) diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/flat/FlatPlayerFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/flat/FlatPlayerFragment.java index c11e015e..dd54bb8a 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/flat/FlatPlayerFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/flat/FlatPlayerFragment.java @@ -46,6 +46,7 @@ import com.kabouzeid.gramophone.model.lyrics.Lyrics; import com.kabouzeid.gramophone.ui.activities.base.AbsSlidingMusicPanelActivity; import com.kabouzeid.gramophone.ui.fragments.player.AbsPlayerFragment; import com.kabouzeid.gramophone.ui.fragments.player.PlayerAlbumCoverFragment; +import com.kabouzeid.gramophone.util.ImageUtil; import com.kabouzeid.gramophone.util.MusicUtil; import com.kabouzeid.gramophone.util.Util; import com.kabouzeid.gramophone.util.ViewUtil; @@ -288,7 +289,7 @@ public class FlatPlayerFragment extends AbsPlayerFragment implements PlayerAlbum if (activity != null) { int res = isFavorite ? R.drawable.ic_favorite_white_24dp : R.drawable.ic_favorite_border_white_24dp; int color = ToolbarContentTintHelper.toolbarContentColor(activity, Color.TRANSPARENT); - Drawable drawable = Util.getTintedVectorDrawable(activity, res, color); + Drawable drawable = ImageUtil.getTintedVectorDrawable(activity, res, color); toolbar.getMenu().findItem(R.id.action_toggle_favorite) .setIcon(drawable) .setTitle(isFavorite ? getString(R.string.action_remove_from_favorites) : getString(R.string.action_add_to_favorites)); @@ -331,7 +332,7 @@ public class FlatPlayerFragment extends AbsPlayerFragment implements PlayerAlbum if (toolbar != null && activity != null) if (toolbar.getMenu().findItem(R.id.action_show_lyrics) == null) { int color = ToolbarContentTintHelper.toolbarContentColor(activity, Color.TRANSPARENT); - Drawable drawable = Util.getTintedVectorDrawable(activity, R.drawable.ic_comment_text_outline_white_24dp, color); + Drawable drawable = ImageUtil.getTintedVectorDrawable(activity, R.drawable.ic_comment_text_outline_white_24dp, color); toolbar.getMenu() .add(Menu.NONE, R.id.action_show_lyrics, Menu.NONE, R.string.action_show_lyrics) .setIcon(drawable) diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/ImageUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/ImageUtil.java index d3f32bff..1100e0c5 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/ImageUtil.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/ImageUtil.java @@ -1,7 +1,20 @@ package com.kabouzeid.gramophone.util; +import android.content.Context; +import android.content.res.Resources; +import android.content.res.TypedArray; import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.drawable.Drawable; +import android.os.Build; +import android.support.annotation.AttrRes; +import android.support.annotation.ColorInt; +import android.support.annotation.DrawableRes; import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.support.graphics.drawable.VectorDrawableCompat; + +import com.kabouzeid.appthemehelper.util.TintHelper; /** * @author Karim Abou Zeid (kabouzeid) @@ -58,4 +71,42 @@ public class ImageUtil { return Bitmap.createScaledBitmap(src, dstWidth, dstHeight, false); } + + public static Bitmap createBitmap(Drawable drawable) { + return createBitmap(drawable, 1f); + } + + public static Bitmap createBitmap(Drawable drawable, float sizeMultiplier) { + Bitmap bitmap = Bitmap.createBitmap((int) (drawable.getIntrinsicWidth() * sizeMultiplier), (int) (drawable.getIntrinsicHeight() * sizeMultiplier), Bitmap.Config.ARGB_8888); + Canvas c = new Canvas(bitmap); + drawable.setBounds(0, 0, c.getWidth(), c.getHeight()); + drawable.draw(c); + return bitmap; + } + + public static Drawable getVectorDrawable(@NonNull Resources res, @DrawableRes int resId, @Nullable Resources.Theme theme) { + if (Build.VERSION.SDK_INT >= 21) { + return res.getDrawable(resId, theme); + } + return VectorDrawableCompat.create(res, resId, theme); + } + + public static Drawable getTintedVectorDrawable(@NonNull Resources res, @DrawableRes int resId, @Nullable Resources.Theme theme, @ColorInt int color) { + return TintHelper.createTintedDrawable(getVectorDrawable(res, resId, theme), color); + } + + public static Drawable getTintedVectorDrawable(@NonNull Context context, @DrawableRes int id, @ColorInt int color) { + return TintHelper.createTintedDrawable(getVectorDrawable(context.getResources(), id, context.getTheme()), color); + } + + public static Drawable getVectorDrawable(@NonNull Context context, @DrawableRes int id) { + return getVectorDrawable(context.getResources(), id, context.getTheme()); + } + + public static Drawable resolveDrawable(@NonNull Context context, @AttrRes int drawableAttr) { + TypedArray a = context.obtainStyledAttributes(new int[]{drawableAttr}); + Drawable drawable = a.getDrawable(0); + a.recycle(); + return drawable; + } } diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java index 36282055..6eecd2f5 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java @@ -3,6 +3,8 @@ 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 android.support.annotation.NonNull; import android.support.annotation.StyleRes; @@ -10,7 +12,6 @@ import android.support.annotation.StyleRes; import com.google.gson.Gson; import com.google.gson.JsonSyntaxException; import com.google.gson.reflect.TypeToken; - import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.helper.SortOrder; import com.kabouzeid.gramophone.model.CategoryInfo; @@ -102,6 +103,20 @@ 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); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/Util.java b/app/src/main/java/com/kabouzeid/gramophone/util/Util.java index 5d292441..51454f8d 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/Util.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/Util.java @@ -7,16 +7,10 @@ import android.content.res.Configuration; import android.content.res.Resources; import android.content.res.TypedArray; import android.graphics.Point; -import android.graphics.drawable.Drawable; -import android.net.ConnectivityManager; -import android.net.NetworkInfo; import android.os.Build; import android.support.annotation.AttrRes; -import android.support.annotation.ColorInt; -import android.support.annotation.DrawableRes; import android.support.annotation.NonNull; import android.support.annotation.Nullable; -import android.support.graphics.drawable.VectorDrawableCompat; import android.util.TypedValue; import android.view.Display; import android.view.View; @@ -24,7 +18,6 @@ import android.view.Window; import android.view.WindowManager; import android.view.inputmethod.InputMethodManager; -import com.kabouzeid.appthemehelper.util.TintHelper; import com.kabouzeid.gramophone.R; /** @@ -80,13 +73,6 @@ public class Util { return resources.getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE; } - public static Drawable resolveDrawable(@NonNull Context context, @AttrRes int drawableAttr) { - TypedArray a = context.obtainStyledAttributes(new int[]{drawableAttr}); - Drawable drawable = a.getDrawable(0); - a.recycle(); - return drawable; - } - public static int resolveDimensionPixelSize(@NonNull Context context, @AttrRes int dimenAttr) { TypedArray a = context.obtainStyledAttributes(new int[]{dimenAttr}); int dimensionPixelSize = a.getDimensionPixelSize(0, 0); @@ -94,25 +80,6 @@ public class Util { return dimensionPixelSize; } - public static Drawable getVectorDrawable(@NonNull Context context, @DrawableRes int id) { - return getVectorDrawable(context.getResources(), id, context.getTheme()); - } - - public static Drawable getVectorDrawable(@NonNull Resources res, @DrawableRes int resId, @Nullable Resources.Theme theme) { - if (Build.VERSION.SDK_INT >= 21) { - return res.getDrawable(resId, theme); - } - return VectorDrawableCompat.create(res, resId, theme); - } - - public static Drawable getTintedVectorDrawable(@NonNull Context context, @DrawableRes int id, @ColorInt int color) { - return TintHelper.createTintedDrawable(getVectorDrawable(context.getResources(), id, context.getTheme()), color); - } - - public static Drawable getTintedVectorDrawable(@NonNull Resources res, @DrawableRes int resId, @Nullable Resources.Theme theme, @ColorInt int color) { - return TintHelper.createTintedDrawable(getVectorDrawable(res, resId, theme), color); - } - @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1) public static boolean isRTL(@NonNull Context context) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { @@ -121,18 +88,4 @@ public class Util { } else return false; } - public static boolean isAllowedToDownloadMetadata(final Context context) { - switch (PreferenceUtil.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; - } - } - -} \ No newline at end of file +}