WIP android auto

This commit is contained in:
h4h13 2019-09-18 21:14:14 +05:30
parent 103cbf2270
commit dd12d9e34b
31 changed files with 74 additions and 117 deletions

View file

@ -13,8 +13,8 @@ android {
vectorDrawables.useSupportLibrary = true vectorDrawables.useSupportLibrary = true
applicationId "code.name.monkey.retromusic" applicationId "code.name.monkey.retromusic"
versionCode 367 versionCode 368
versionName '3.4.000-beta10' versionName '3.4.000-beta11'
multiDexEnabled true multiDexEnabled true

View file

@ -9,7 +9,7 @@
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" /> <uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="com.android.vending.BILLING" /> <uses-permission android:name="com.android.vending.BILLING" />

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

View file

@ -1,5 +1,6 @@
package code.name.monkey.retromusic.activities package code.name.monkey.retromusic.activities
import android.app.ActivityOptions
import android.content.Intent import android.content.Intent
import android.content.res.ColorStateList import android.content.res.ColorStateList
import android.graphics.Color import android.graphics.Color
@ -9,7 +10,6 @@ import android.view.*
import android.view.animation.AnimationUtils import android.view.animation.AnimationUtils
import android.widget.ImageView import android.widget.ImageView
import androidx.core.app.ActivityCompat import androidx.core.app.ActivityCompat
import androidx.core.util.Pair
import androidx.recyclerview.widget.DefaultItemAnimator import androidx.recyclerview.widget.DefaultItemAnimator
import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
@ -49,6 +49,7 @@ import kotlinx.android.synthetic.main.activity_album.*
import kotlinx.android.synthetic.main.activity_album_content.* import kotlinx.android.synthetic.main.activity_album_content.*
import java.util.* import java.util.*
import javax.inject.Inject import javax.inject.Inject
import android.util.Pair as UtilPair
class AlbumDetailsActivity : AbsSlidingMusicPanelActivity(), AlbumDetailsView { class AlbumDetailsActivity : AbsSlidingMusicPanelActivity(), AlbumDetailsView {
@ -92,8 +93,8 @@ class AlbumDetailsActivity : AbsSlidingMusicPanelActivity(), AlbumDetailsView {
setupToolbarMarginHeight() setupToolbarMarginHeight()
artistImage.setOnClickListener { artistImage.setOnClickListener {
val artistPairs = arrayOf<Pair<*, *>>(Pair.create(image, resources.getString(R.string.transition_artist_image))) val artistPairs = ActivityOptions.makeSceneTransitionAnimation(this, UtilPair.create(artistImage, getString(R.string.transition_artist_image)))
NavigationUtil.goToArtist(this, album.artistId, *artistPairs) NavigationUtil.goToArtistOptions(this, album.artistId, artistPairs)
} }
playAction.apply { playAction.apply {
setOnClickListener { MusicPlayerRemote.openQueue(album.songs!!, 0, true) } setOnClickListener { MusicPlayerRemote.openQueue(album.songs!!, 0, true) }
@ -283,10 +284,6 @@ class AlbumDetailsActivity : AbsSlidingMusicPanelActivity(), AlbumDetailsView {
startActivityForResult(intent, TAG_EDITOR_REQUEST) startActivityForResult(intent, TAG_EDITOR_REQUEST)
return true return true
} }
R.id.action_go_to_artist -> {
NavigationUtil.goToArtist(this, album.artistId)
return true
}
/*Sort*/ /*Sort*/
R.id.action_sort_order_title -> sortOrder = AlbumSongSortOrder.SONG_A_Z R.id.action_sort_order_title -> sortOrder = AlbumSongSortOrder.SONG_A_Z
R.id.action_sort_order_title_desc -> sortOrder = AlbumSongSortOrder.SONG_Z_A R.id.action_sort_order_title_desc -> sortOrder = AlbumSongSortOrder.SONG_Z_A

View file

@ -1,10 +1,10 @@
package code.name.monkey.retromusic.adapter package code.name.monkey.retromusic.adapter
import android.app.ActivityOptions
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.core.util.Pair
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import code.name.monkey.appthemehelper.ThemeStore import code.name.monkey.appthemehelper.ThemeStore
import code.name.monkey.retromusic.R import code.name.monkey.retromusic.R
@ -20,7 +20,7 @@ import code.name.monkey.retromusic.util.MusicUtil
import code.name.monkey.retromusic.util.NavigationUtil import code.name.monkey.retromusic.util.NavigationUtil
import com.bumptech.glide.Glide import com.bumptech.glide.Glide
import java.util.* import java.util.*
import android.util.Pair as UtilPair
class SearchAdapter( class SearchAdapter(
private val activity: AppCompatActivity, private val activity: AppCompatActivity,
@ -106,8 +106,16 @@ class SearchAdapter(
override fun onClick(v: View?) { override fun onClick(v: View?) {
val item = dataSet!![adapterPosition] val item = dataSet!![adapterPosition]
when (itemViewType) { when (itemViewType) {
ALBUM -> NavigationUtil.goToAlbum(activity, (item as Album).id, Pair.create(image, activity.resources.getString(R.string.transition_album_art))) ALBUM -> {
ARTIST -> NavigationUtil.goToArtist(activity, (item as Artist).id, Pair.create(image, activity.resources.getString(R.string.transition_artist_image))) val options = ActivityOptions.makeSceneTransitionAnimation(activity,
UtilPair.create(image, activity.getString(R.string.transition_album_art)))
NavigationUtil.goToAlbumOptions(activity, (item as Album).id, options)
}
ARTIST -> {
val options = ActivityOptions.makeSceneTransitionAnimation(activity,
UtilPair.create(image, activity.getString(R.string.transition_artist_image)))
NavigationUtil.goToArtistOptions(activity, (item as Artist).id, options)
}
SONG -> { SONG -> {
val playList = ArrayList<Song>() val playList = ArrayList<Song>()
playList.add(item as Song) playList.add(item as Song)
@ -119,9 +127,9 @@ class SearchAdapter(
companion object { companion object {
private val HEADER = 0 private const val HEADER = 0
private val ALBUM = 1 private const val ALBUM = 1
private val ARTIST = 2 private const val ARTIST = 2
private val SONG = 3 private const val SONG = 3
} }
} }

View file

@ -1,5 +1,6 @@
package code.name.monkey.retromusic.adapter.album package code.name.monkey.retromusic.adapter.album
import android.app.ActivityOptions
import android.content.res.ColorStateList import android.content.res.ColorStateList
import android.graphics.drawable.Drawable import android.graphics.drawable.Drawable
import android.view.LayoutInflater import android.view.LayoutInflater
@ -8,9 +9,9 @@ import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.annotation.LayoutRes import androidx.annotation.LayoutRes
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.core.util.Pair
import code.name.monkey.appthemehelper.util.ColorUtil import code.name.monkey.appthemehelper.util.ColorUtil
import code.name.monkey.appthemehelper.util.MaterialValueHelper import code.name.monkey.appthemehelper.util.MaterialValueHelper
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.adapter.base.AbsMultiSelectAdapter import code.name.monkey.retromusic.adapter.base.AbsMultiSelectAdapter
import code.name.monkey.retromusic.adapter.base.MediaEntryViewHolder import code.name.monkey.retromusic.adapter.base.MediaEntryViewHolder
import code.name.monkey.retromusic.glide.RetroMusicColoredTarget import code.name.monkey.retromusic.glide.RetroMusicColoredTarget
@ -182,11 +183,8 @@ open class AlbumAdapter(protected val activity: AppCompatActivity,
if (isInQuickSelectMode) { if (isInQuickSelectMode) {
toggleChecked(adapterPosition) toggleChecked(adapterPosition)
} else { } else {
val pairImageView = Pair.create<View, String>(image, activity.resources.getString(code.name.monkey.retromusic.R.string.transition_album_art)) val activityOptions = ActivityOptions.makeSceneTransitionAnimation(activity, image, activity.getString(R.string.transition_album_art))
val pairs = ArrayList<Pair<View, String>>() NavigationUtil.goToAlbumOptions(activity, dataSet[adapterPosition].id, activityOptions)
pairs.add(pairImageView)
val albumPairs: Array<Pair<View, String>> = pairs.toTypedArray()
NavigationUtil.goToAlbum(activity, dataSet[adapterPosition].id, *albumPairs)
} }
} }

View file

@ -16,11 +16,11 @@
package code.name.monkey.retromusic.adapter.album package code.name.monkey.retromusic.adapter.album
import android.app.Activity import android.app.Activity
import android.app.ActivityOptions
import android.util.DisplayMetrics import android.util.DisplayMetrics
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.core.util.Pair
import code.name.monkey.retromusic.R import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.glide.RetroMusicColoredTarget import code.name.monkey.retromusic.glide.RetroMusicColoredTarget
import code.name.monkey.retromusic.glide.SongGlideRequest import code.name.monkey.retromusic.glide.SongGlideRequest
@ -84,8 +84,8 @@ class AlbumFullWidthAdapter(private val activity: Activity, private val dataSet:
inner class FullMetalViewHolder(itemView: View) : MetalRecyclerViewPager.MetalViewHolder(itemView) { inner class FullMetalViewHolder(itemView: View) : MetalRecyclerViewPager.MetalViewHolder(itemView) {
override fun onClick(v: View?) { override fun onClick(v: View?) {
val albumPairs = arrayOf<Pair<*, *>>(Pair.create(image, activity.resources.getString(R.string.transition_album_art))) val activityOptions = ActivityOptions.makeSceneTransitionAnimation(activity, image, activity.getString(R.string.transition_album_art))
NavigationUtil.goToAlbum(activity, dataSet[adapterPosition].id, *albumPairs) NavigationUtil.goToAlbumOptions(activity, dataSet[adapterPosition].id, activityOptions)
} }
} }
} }

View file

@ -1,17 +1,17 @@
package code.name.monkey.retromusic.adapter.artist package code.name.monkey.retromusic.adapter.artist
import android.app.ActivityOptions
import android.content.res.ColorStateList import android.content.res.ColorStateList
import android.graphics.drawable.Drawable import android.graphics.drawable.Drawable
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.MenuItem import android.view.MenuItem
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.ImageView
import androidx.annotation.LayoutRes import androidx.annotation.LayoutRes
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.core.util.Pair
import code.name.monkey.appthemehelper.util.ColorUtil import code.name.monkey.appthemehelper.util.ColorUtil
import code.name.monkey.appthemehelper.util.MaterialValueHelper import code.name.monkey.appthemehelper.util.MaterialValueHelper
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.adapter.base.AbsMultiSelectAdapter import code.name.monkey.retromusic.adapter.base.AbsMultiSelectAdapter
import code.name.monkey.retromusic.adapter.base.MediaEntryViewHolder import code.name.monkey.retromusic.adapter.base.MediaEntryViewHolder
import code.name.monkey.retromusic.glide.ArtistGlideRequest import code.name.monkey.retromusic.glide.ArtistGlideRequest
@ -138,9 +138,8 @@ class ArtistAdapter(val activity: AppCompatActivity,
if (isInQuickSelectMode) { if (isInQuickSelectMode) {
toggleChecked(adapterPosition) toggleChecked(adapterPosition)
} else { } else {
val artistPairs = arrayOf<Pair<*, *>>(Pair.create<ImageView, String>(image, val activityOptions = ActivityOptions.makeSceneTransitionAnimation(activity, image, activity.getString(R.string.transition_artist_image))
activity.resources.getString(code.name.monkey.retromusic.R.string.transition_artist_image))) NavigationUtil.goToArtistOptions(activity, dataSet[adapterPosition].id, activityOptions)
NavigationUtil.goToArtist(activity, dataSet[adapterPosition].id, *artistPairs)
} }
} }

View file

@ -1,11 +1,11 @@
package code.name.monkey.retromusic.adapter.song package code.name.monkey.retromusic.adapter.song
import android.app.ActivityOptions
import android.content.res.ColorStateList import android.content.res.ColorStateList
import android.view.MenuItem import android.view.MenuItem
import android.view.View import android.view.View
import androidx.annotation.LayoutRes import androidx.annotation.LayoutRes
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.core.util.Pair
import code.name.monkey.appthemehelper.util.ColorUtil import code.name.monkey.appthemehelper.util.ColorUtil
import code.name.monkey.appthemehelper.util.MaterialValueHelper import code.name.monkey.appthemehelper.util.MaterialValueHelper
import code.name.monkey.retromusic.R import code.name.monkey.retromusic.R
@ -76,8 +76,8 @@ open class PlaylistSongAdapter(activity: AppCompatActivity,
override fun onSongMenuItemClick(item: MenuItem): Boolean { override fun onSongMenuItemClick(item: MenuItem): Boolean {
if (item.itemId == R.id.action_go_to_album) { if (item.itemId == R.id.action_go_to_album) {
val albumPairs = arrayOf<Pair<*, *>>(Pair.create(image, activity.getString(R.string.transition_album_art))) val activityOptions = ActivityOptions.makeSceneTransitionAnimation(activity, image, activity.getString(R.string.transition_album_art))
NavigationUtil.goToAlbum(activity, dataSet[adapterPosition - 1].albumId, *albumPairs) NavigationUtil.goToAlbumOptions(activity, dataSet[adapterPosition - 1].albumId, activityOptions)
return true return true
} }
return super.onSongMenuItemClick(item) return super.onSongMenuItemClick(item)

View file

@ -1,6 +1,7 @@
package code.name.monkey.retromusic.fragments.mainactivity; package code.name.monkey.retromusic.fragments.mainactivity;
import android.app.Activity; import android.app.Activity;
import android.app.ActivityOptions;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.os.Bundle; import android.os.Bundle;
import android.view.LayoutInflater; import android.view.LayoutInflater;
@ -15,7 +16,6 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.annotation.StringRes; import androidx.annotation.StringRes;
import androidx.appcompat.widget.Toolbar; import androidx.appcompat.widget.Toolbar;
import androidx.core.util.Pair;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction; import androidx.fragment.app.FragmentTransaction;
@ -155,8 +155,8 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde
toolbar.setBackgroundColor(RetroColorUtil.toolbarColor(getMainActivity())); toolbar.setBackgroundColor(RetroColorUtil.toolbarColor(getMainActivity()));
toolbar.setNavigationIcon(R.drawable.ic_menu_white_24dp); toolbar.setNavigationIcon(R.drawable.ic_menu_white_24dp);
toolbar.setOnClickListener(v -> { toolbar.setOnClickListener(v -> {
Pair<View, String> pair = new Pair<>(toolbarContainer, getString(R.string.transition_toolbar)); ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(getMainActivity(), toolbarContainer, getString(R.string.transition_toolbar));
NavigationUtil.goToSearch(getMainActivity(), pair); NavigationUtil.goToSearch(getMainActivity(), options);
}); });
appBarLayout.addOnOffsetChangedListener((appBarLayout, verticalOffset) -> appBarLayout.addOnOffsetChangedListener((appBarLayout, verticalOffset) ->
getMainActivity().setLightStatusbar(!ATHUtil.INSTANCE.isWindowBackgroundDark(getContext()))); getMainActivity().setLightStatusbar(!ATHUtil.INSTANCE.isWindowBackgroundDark(getContext())));
@ -366,8 +366,8 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde
int id = item.getItemId(); int id = item.getItemId();
switch (id) { switch (id) {
case R.id.action_search: case R.id.action_search:
Pair<View, String> pair = new Pair<>(toolbarContainer, getString(R.string.transition_toolbar)); ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(getMainActivity(), toolbarContainer, getString(R.string.transition_toolbar));
NavigationUtil.goToSearch(getMainActivity(), pair); NavigationUtil.goToSearch(getMainActivity(), options);
break; break;
case R.id.action_new_playlist: case R.id.action_new_playlist:
CreatePlaylistDialog.Companion.create().show(getChildFragmentManager(), "CREATE_PLAYLIST"); CreatePlaylistDialog.Companion.create().show(getChildFragmentManager(), "CREATE_PLAYLIST");

View file

@ -1,5 +1,6 @@
package code.name.monkey.retromusic.fragments.mainactivity.home package code.name.monkey.retromusic.fragments.mainactivity.home
import android.app.ActivityOptions
import android.graphics.Bitmap import android.graphics.Bitmap
import android.graphics.Color import android.graphics.Color
import android.os.Bundle import android.os.Bundle
@ -7,7 +8,6 @@ import android.util.DisplayMetrics
import android.view.* import android.view.*
import androidx.appcompat.widget.Toolbar import androidx.appcompat.widget.Toolbar
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.core.util.Pair
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import code.name.monkey.appthemehelper.ThemeStore import code.name.monkey.appthemehelper.ThemeStore
import code.name.monkey.appthemehelper.common.ATHToolbarActivity import code.name.monkey.appthemehelper.common.ATHToolbarActivity
@ -172,8 +172,8 @@ class BannerHomeFragment : AbsMainActivityFragment(), MainActivityFragmentCallba
setBackgroundColor(toolbarColor()) setBackgroundColor(toolbarColor())
setNavigationIcon(R.drawable.ic_menu_white_24dp) setNavigationIcon(R.drawable.ic_menu_white_24dp)
setOnClickListener { setOnClickListener {
val pairImageView = Pair.create<View, String>(toolbarContainer, resources.getString(R.string.transition_toolbar)) val options = ActivityOptions.makeSceneTransitionAnimation(mainActivity, toolbarContainer, getString(R.string.transition_toolbar))
NavigationUtil.goToSearch(requireActivity(), pairImageView) NavigationUtil.goToSearch(requireActivity(), options)
} }
} }
@ -226,8 +226,8 @@ class BannerHomeFragment : AbsMainActivityFragment(), MainActivityFragmentCallba
override fun onOptionsItemSelected(item: MenuItem): Boolean { override fun onOptionsItemSelected(item: MenuItem): Boolean {
if (item.itemId == R.id.action_search) { if (item.itemId == R.id.action_search) {
val pairImageView = Pair.create<View, String>(toolbarContainer, resources.getString(R.string.transition_toolbar)) val options = ActivityOptions.makeSceneTransitionAnimation(mainActivity, toolbarContainer, getString(R.string.transition_toolbar))
NavigationUtil.goToSearch(requireActivity(), true, pairImageView) NavigationUtil.goToSearch(requireActivity(), true, options)
} }
return super.onOptionsItemSelected(item) return super.onOptionsItemSelected(item)
} }

View file

@ -145,7 +145,7 @@ class FullPlayerFragment : AbsPlayerFragment(), MusicProgressViewUpdateHelper.Ca
private fun setupArtist() { private fun setupArtist() {
artistImage.setOnClickListener { artistImage.setOnClickListener {
NavigationUtil.goToArtist(activity!!, MusicPlayerRemote.currentSong.artistId) NavigationUtil.goToArtist(requireActivity(), MusicPlayerRemote.currentSong.artistId)
} }
} }

View file

@ -23,10 +23,10 @@ import android.media.audiofx.AudioEffect;
import android.widget.Toast; import android.widget.Toast;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat; import androidx.core.app.ActivityCompat;
import androidx.core.app.ActivityOptionsCompat;
import androidx.core.util.Pair; import org.jetbrains.annotations.NotNull;
import code.name.monkey.retromusic.R; import code.name.monkey.retromusic.R;
import code.name.monkey.retromusic.activities.AboutActivity; import code.name.monkey.retromusic.activities.AboutActivity;
@ -54,36 +54,33 @@ import static code.name.monkey.retromusic.util.RetroUtil.openUrl;
public class NavigationUtil { public class NavigationUtil {
public static void goToAlbum(@NonNull Activity activity, int i, public static void goToAlbum(@NonNull Activity activity, int albumId) {
@Nullable Pair... sharedElements) {
Intent intent = new Intent(activity, AlbumDetailsActivity.class); Intent intent = new Intent(activity, AlbumDetailsActivity.class);
intent.putExtra(AlbumDetailsActivity.EXTRA_ALBUM_ID, i); intent.putExtra(AlbumDetailsActivity.EXTRA_ALBUM_ID, albumId);
//noinspection unchecked ActivityCompat.startActivity(activity, intent, null);
ActivityCompat.startActivity(activity, intent,
ActivityOptionsCompat.makeSceneTransitionAnimation(activity, sharedElements).toBundle());
} }
public static void goToAlbumOptions(@NonNull Activity activity, int albumId, @NonNull ActivityOptions activityOptions) { public static void goToAlbumOptions(@NonNull Activity activity,
int albumId,
@NonNull ActivityOptions activityOptions) {
Intent intent = new Intent(activity, AlbumDetailsActivity.class); Intent intent = new Intent(activity, AlbumDetailsActivity.class);
intent.putExtra(AlbumDetailsActivity.EXTRA_ALBUM_ID, albumId); intent.putExtra(AlbumDetailsActivity.EXTRA_ALBUM_ID, albumId);
ActivityCompat.startActivity(activity, intent, activityOptions.toBundle()); ActivityCompat.startActivity(activity, intent, activityOptions.toBundle());
} }
public static void goToArtist(@NonNull Activity activity, int i, public static void goToArtistOptions(@NotNull AppCompatActivity activity,
@Nullable Pair... sharedElements) { int artistId,
@NonNull ActivityOptions options) {
Intent intent = new Intent(activity, ArtistDetailActivity.class); Intent intent = new Intent(activity, ArtistDetailActivity.class);
intent.putExtra(ArtistDetailActivity.EXTRA_ARTIST_ID, i); intent.putExtra(ArtistDetailActivity.EXTRA_ARTIST_ID, artistId);
//noinspection unchecked ActivityCompat.startActivity(activity, intent, options.toBundle());
ActivityCompat.startActivity(activity, intent,
ActivityOptionsCompat.makeSceneTransitionAnimation(activity, sharedElements).toBundle());
} }
public static void goToArtist(@NonNull Activity activity, int i) { public static void goToArtist(@NonNull Activity activity, int i) {
Intent intent = new Intent(activity, ArtistDetailActivity.class); Intent intent = new Intent(activity, ArtistDetailActivity.class);
intent.putExtra(ArtistDetailActivity.EXTRA_ARTIST_ID, i); intent.putExtra(ArtistDetailActivity.EXTRA_ARTIST_ID, i);
//noinspection unchecked ActivityCompat.startActivity(activity, intent, null);
ActivityCompat.startActivity(activity, intent,
ActivityOptionsCompat.makeSceneTransitionAnimation(activity, null).toBundle());
} }
public static void goToPlaylistNew(@NonNull Activity activity, @NonNull Playlist playlist) { public static void goToPlaylistNew(@NonNull Activity activity, @NonNull Playlist playlist) {
@ -151,16 +148,16 @@ public class NavigationUtil {
} }
public static void goToSearch(@NonNull Activity activity, public static void goToSearch(@NonNull Activity activity,
@Nullable Pair... sharedElements) { @NonNull ActivityOptions activityOptions) {
ActivityCompat.startActivity(activity, new Intent(activity, SearchActivity.class), ActivityCompat.startActivity(activity, new Intent(activity, SearchActivity.class),
ActivityOptionsCompat.makeSceneTransitionAnimation(activity, sharedElements).toBundle()); activityOptions.toBundle());
} }
public static void goToSearch(@NonNull Activity activity, boolean isMicOpen, public static void goToSearch(@NonNull Activity activity, boolean isMicOpen,
@Nullable Pair... sharedElements) { @NonNull ActivityOptions activityOptions) {
ActivityCompat.startActivity(activity, new Intent(activity, SearchActivity.class) ActivityCompat.startActivity(activity, new Intent(activity, SearchActivity.class)
.putExtra(SearchActivity.EXTRA_SHOW_MIC, isMicOpen), .putExtra(SearchActivity.EXTRA_SHOW_MIC, isMicOpen),
ActivityOptionsCompat.makeSceneTransitionAnimation(activity, sharedElements).toBundle()); activityOptions.toBundle());
} }
public static void goToSupportDevelopment(@NonNull Activity activity) { public static void goToSupportDevelopment(@NonNull Activity activity) {
@ -178,4 +175,6 @@ public class NavigationUtil {
public static void bugReport(@NonNull Activity activity) { public static void bugReport(@NonNull Activity activity) {
ActivityCompat.startActivity(activity, new Intent(activity, BugReportActivity.class), null); ActivityCompat.startActivity(activity, new Intent(activity, BugReportActivity.class), null);
} }
} }

View file

@ -26,7 +26,9 @@ import android.widget.Toast
import code.name.monkey.retromusic.R import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.model.Song import code.name.monkey.retromusic.model.Song
import code.name.monkey.retromusic.util.MusicUtil.getSongFileUri import code.name.monkey.retromusic.util.MusicUtil.getSongFileUri
import com.afollestad.materialdialogs.LayoutMode
import com.afollestad.materialdialogs.MaterialDialog import com.afollestad.materialdialogs.MaterialDialog
import com.afollestad.materialdialogs.bottomsheets.BottomSheet
class RingtoneManager(val context: Context) { class RingtoneManager(val context: Context) {
fun setRingtone(song: Song) { fun setRingtone(song: Song) {
@ -73,7 +75,8 @@ class RingtoneManager(val context: Context) {
} }
fun getDialog(context: Context): MaterialDialog { fun getDialog(context: Context): MaterialDialog {
return MaterialDialog(context).show { return MaterialDialog(context, BottomSheet(LayoutMode.WRAP_CONTENT)).show {
cornerRadius(PreferenceUtil.getInstance(context).dialogCorner)
title(R.string.dialog_title_set_ringtone) title(R.string.dialog_title_set_ringtone)
message(R.string.dialog_message_set_ringtone) message(R.string.dialog_message_set_ringtone)
positiveButton(android.R.string.ok) { positiveButton(android.R.string.ok) {

View file

@ -40,11 +40,6 @@
android:title="@string/action_add_to_playlist" android:title="@string/action_add_to_playlist"
app:showAsAction="never" /> app:showAsAction="never" />
<item
android:id="@+id/action_go_to_artist"
android:title="@string/action_go_to_artist"
app:showAsAction="never" />
<item <item
android:id="@+id/action_tag_editor" android:id="@+id/action_tag_editor"
android:icon="@drawable/ic_edit_white_24dp" android:icon="@drawable/ic_edit_white_24dp"

View file

@ -1,18 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright (c) 2019 Hemanth Savarala.
~
~ Licensed under the GNU General Public License v3
~
~ This is free software: you can redistribute it and/or modify it under
~ the terms of the GNU General Public License as published by
~ the Free Software Foundation either version 3 of the License, or (at your option) any later version.
~
~ This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
~ without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
~ See the GNU General Public License for more details.
-->
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/> <background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/> <foreground android:drawable="@mipmap/ic_launcher_foreground"/>

View file

@ -1,18 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright (c) 2019 Hemanth Savarala.
~
~ Licensed under the GNU General Public License v3
~
~ This is free software: you can redistribute it and/or modify it under
~ the terms of the GNU General Public License as published by
~ the Free Software Foundation either version 3 of the License, or (at your option) any later version.
~
~ This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
~ without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
~ See the GNU General Public License for more details.
-->
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/> <background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/> <foreground android:drawable="@mipmap/ic_launcher_foreground"/>

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 8 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -1,18 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright (c) 2019 Hemanth Savarala.
~
~ Licensed under the GNU General Public License v3
~
~ This is free software: you can redistribute it and/or modify it under
~ the terms of the GNU General Public License as published by
~ the Free Software Foundation either version 3 of the License, or (at your option) any later version.
~
~ This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
~ without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
~ See the GNU General Public License for more details.
-->
<resources> <resources>
<color name="ic_launcher_background">#FFFFFF</color> <color name="ic_launcher_background">#FFFFFF</color>
</resources> </resources>