diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 6351206bf..93e4ca422 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -190,7 +190,6 @@ - () fun toggleFavorite(context: Context, song: Song) { GlobalScope.launch { val playlist: PlaylistEntity = repository.favoritePlaylist() - if (playlist != null) { - val songEntity = song.toSongEntity(playlist.playListId) - val isFavorite = repository.isFavoriteSong(songEntity).isNotEmpty() - if (isFavorite) { - repository.removeSongFromPlaylist(songEntity) - } else { - repository.insertSongs(listOf(song.toSongEntity(playlist.playListId))) - } + val songEntity = song.toSongEntity(playlist.playListId) + val isFavorite = repository.isFavoriteSong(songEntity).isNotEmpty() + if (isFavorite) { + repository.removeSongFromPlaylist(songEntity) + } else { + repository.insertSongs(listOf(song.toSongEntity(playlist.playListId))) } context.sendBroadcast(Intent(MusicService.FAVORITE_STATE_CHANGED)) } } - private fun getFavoritesPlaylist(context: Context): Playlist { - return RealPlaylistRepository(context.contentResolver).playlist(context.getString(R.string.favorites)) - } - - private fun getOrCreateFavoritesPlaylist(context: Context): Playlist { - return RealPlaylistRepository(context.contentResolver).playlist( - PlaylistsUtil.createPlaylist( - context, - context.getString(R.string.favorites) - ) - ) - } - fun deleteTracks( activity: FragmentActivity, songs: List, @@ -455,12 +426,11 @@ object MusicUtil : KoinComponent { activity.showToast(activity.getString(R.string.deleted_x_songs, songCount)) callback?.run() } - } } suspend fun deleteTracks(context: Context, songs: List) { - val projection = arrayOf(BaseColumns._ID, MediaStore.MediaColumns.DATA) + val projection = arrayOf(BaseColumns._ID, Constants.DATA) val selection = StringBuilder() selection.append(BaseColumns._ID + " IN (") for (i in songs.indices) { diff --git a/app/src/main/java/code/name/monkey/retromusic/util/RetroUtil.java b/app/src/main/java/code/name/monkey/retromusic/util/RetroUtil.java index f9402505b..12ca0026a 100644 --- a/app/src/main/java/code/name/monkey/retromusic/util/RetroUtil.java +++ b/app/src/main/java/code/name/monkey/retromusic/util/RetroUtil.java @@ -14,25 +14,13 @@ package code.name.monkey.retromusic.util; -import android.annotation.TargetApi; -import android.app.Activity; import android.content.Context; import android.content.res.Configuration; import android.content.res.Resources; -import android.graphics.Bitmap; -import android.graphics.Canvas; -import android.graphics.Color; import android.graphics.Point; import android.graphics.drawable.Drawable; -import android.net.ConnectivityManager; -import android.net.NetworkInfo; -import android.os.Build; -import android.util.DisplayMetrics; import android.view.Display; -import android.view.View; -import android.view.Window; import android.view.WindowManager; -import android.view.inputmethod.InputMethodManager; import androidx.annotation.ColorInt; import androidx.annotation.DrawableRes; @@ -51,29 +39,6 @@ import code.name.monkey.retromusic.App; public class RetroUtil { - private static final int[] TEMP_ARRAY = new int[1]; - - private static final String SHOW_NAV_BAR_RES_NAME = "config_showNavigationBar"; - - public static int calculateNoOfColumns(@NonNull Context context) { - DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics(); - float dpWidth = displayMetrics.widthPixels / displayMetrics.density; - return (int) (dpWidth / 180); - } - - @NonNull - public static Bitmap createBitmap(@NonNull 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 String formatValue(float value) { String[] arr = {"", "K", "M", "B", "T", "P", "E"}; int index = 0; @@ -147,75 +112,16 @@ public class RetroUtil { return ResourcesCompat.getDrawable(res, resId, theme); } - public static void hideSoftKeyboard(@Nullable Activity activity) { - if (activity != null) { - View currentFocus = activity.getCurrentFocus(); - if (currentFocus != null) { - InputMethodManager inputMethodManager = - (InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE); - if (inputMethodManager != null) { - inputMethodManager.hideSoftInputFromWindow(currentFocus.getWindowToken(), 0); - } - } - } - } - - public static boolean isAllowedToDownloadMetadata(final @NonNull Context context) { - switch (PreferenceUtil.INSTANCE.getAutoDownloadImagesPolicy()) { - 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 static boolean isLandscape() { return App.Companion.getContext().getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE; } - @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1) - public static boolean isRTL(@NonNull Context context) { - Configuration config = context.getResources().getConfiguration(); - return config.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL; - } - public static boolean isTablet() { return App.Companion.getContext().getResources().getConfiguration().smallestScreenWidthDp >= 600; } - public static void setAllowDrawUnderNavigationBar(Window window) { - window.setNavigationBarColor(Color.TRANSPARENT); - window - .getDecorView() - .setSystemUiVisibility( - Build.VERSION.SDK_INT >= Build.VERSION_CODES.O - ? View.SYSTEM_UI_FLAG_LAYOUT_STABLE - | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN - | View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR - | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION - : View.SYSTEM_UI_FLAG_LAYOUT_STABLE - | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN - | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION); - } - - public static void setAllowDrawUnderStatusBar(@NonNull Window window) { - window - .getDecorView() - .setSystemUiVisibility( - View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN); - window.setStatusBarColor(Color.TRANSPARENT); - } - public static String getIpAddress(boolean useIPv4) { try { List interfaces =