diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsSlidingMusicPanelActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsSlidingMusicPanelActivity.kt index 77928bec..4c19aa40 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsSlidingMusicPanelActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsSlidingMusicPanelActivity.kt @@ -56,7 +56,6 @@ import code.name.monkey.retromusic.helper.MusicPlayerRemote import code.name.monkey.retromusic.model.CategoryInfo import code.name.monkey.retromusic.util.PreferenceUtil import code.name.monkey.retromusic.views.BottomNavigationBarTinted -import com.google.android.material.bottomsheet.BottomSheetBehavior import com.google.android.material.bottomsheet.BottomSheetBehavior.* import kotlinx.android.synthetic.main.sliding_music_panel_layout.* import org.koin.androidx.viewmodel.ext.android.viewModel @@ -133,7 +132,7 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() { if (nowPlayingScreen != PreferenceUtil.nowPlayingScreen) { postRecreate() } - if (bottomSheetBehavior.state == BottomSheetBehavior.STATE_EXPANDED) { + if (bottomSheetBehavior.state == STATE_EXPANDED) { setMiniPlayerAlphaProgress(1f) } } @@ -326,14 +325,14 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() { }) } - fun setBottomBarVisibility(visible: Int) { - bottomNavigationView.visibility = visible + fun setBottomBarVisibility(visible: Boolean) { + bottomNavigationView.isVisible = visible hideBottomBar(MusicPlayerRemote.playingQueue.isEmpty()) } private fun hideBottomBar(hide: Boolean) { val heightOfBar = dip(R.dimen.mini_player_height) - val heightOfBarWithTabs = dip(R.dimen.mini_player_height_expanded) + val heightOfBarWithTabs = heightOfBar * 2 val isVisible = bottomNavigationView.isVisible if (hide) { bottomSheetBehavior.isHideable = true @@ -347,10 +346,10 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() { ViewCompat.setElevation(slidingPanel, 10f) ViewCompat.setElevation(bottomNavigationView, 10f) if (isVisible) { - bottomSheetBehavior.peekHeight = heightOfBarWithTabs - bottomNavigationView.translateYAnimate(0f) + println("List") + bottomSheetBehavior.peekHeight = heightOfBarWithTabs - 22 } else { - bottomNavigationView.translateYAnimate(150f) + println("Details") bottomSheetBehavior.peekHeight = heightOfBar } } diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/album/AlbumAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/album/AlbumAdapter.kt index b95e5f03..869ce8bb 100644 --- a/app/src/main/java/code/name/monkey/retromusic/adapter/album/AlbumAdapter.kt +++ b/app/src/main/java/code/name/monkey/retromusic/adapter/album/AlbumAdapter.kt @@ -15,7 +15,6 @@ package code.name.monkey.retromusic.adapter.album import android.content.res.ColorStateList -import android.content.res.Resources import android.view.LayoutInflater import android.view.MenuItem import android.view.View @@ -27,7 +26,6 @@ import code.name.monkey.retromusic.adapter.base.AbsMultiSelectAdapter import code.name.monkey.retromusic.adapter.base.MediaEntryViewHolder import code.name.monkey.retromusic.glide.AlbumGlideRequest import code.name.monkey.retromusic.glide.RetroMusicColoredTarget -import code.name.monkey.retromusic.helper.MusicPlayerRemote import code.name.monkey.retromusic.helper.SortOrder import code.name.monkey.retromusic.helper.menu.SongsMenuHelper import code.name.monkey.retromusic.interfaces.IAlbumClickListener @@ -41,14 +39,14 @@ import com.bumptech.glide.Glide import me.zhanghai.android.fastscroll.PopupTextProvider open class AlbumAdapter( - protected val activity: FragmentActivity, + val activity: FragmentActivity, var dataSet: List, - protected var itemLayoutRes: Int, - ICabHolder: ICabHolder?, - private val albumClickListener: IAlbumClickListener? + var itemLayoutRes: Int, + iCabHolder: ICabHolder?, + val listener: IAlbumClickListener? ) : AbsMultiSelectAdapter( activity, - ICabHolder, + iCabHolder, R.menu.menu_media_selection ), PopupTextProvider { @@ -62,12 +60,7 @@ open class AlbumAdapter( } override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { - val view = - try { - LayoutInflater.from(activity).inflate(itemLayoutRes, parent, false) - } catch (e: Resources.NotFoundException) { - LayoutInflater.from(activity).inflate(R.layout.item_grid, parent, false) - } + val view = LayoutInflater.from(activity).inflate(itemLayoutRes, parent, false) return createViewHolder(view, viewType) } @@ -99,7 +92,7 @@ open class AlbumAdapter( holder.paletteColorContainer?.setBackgroundColor(color.backgroundColor) } holder.mask?.backgroundTintList = ColorStateList.valueOf(color.primaryTextColor) - } + holder.imageContainerCard?.setCardBackgroundColor(color.backgroundColor) } protected open fun loadAlbumCover(album: Album, holder: ViewHolder) { if (holder.image == null) { @@ -177,8 +170,11 @@ open class AlbumAdapter( if (isInQuickSelectMode) { toggleChecked(layoutPosition) } else { - ViewCompat.setTransitionName(itemView, "album") - albumClickListener?.onAlbumClick(dataSet[layoutPosition].id, itemView) + image?.let { + ViewCompat.setTransitionName(it, "album") + listener?.onAlbumClick(dataSet[layoutPosition].id, it) + } + } } diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/artist/ArtistAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/artist/ArtistAdapter.kt index 7719166b..a88d6885 100644 --- a/app/src/main/java/code/name/monkey/retromusic/adapter/artist/ArtistAdapter.kt +++ b/app/src/main/java/code/name/monkey/retromusic/adapter/artist/ArtistAdapter.kt @@ -155,8 +155,8 @@ class ArtistAdapter( toggleChecked(layoutPosition) } else { image?.let { - ViewCompat.setTransitionName(itemView, "album") - IArtistClickListener.onArtist(dataSet[layoutPosition].id, itemView) + ViewCompat.setTransitionName(it, "artist") + IArtistClickListener.onArtist(dataSet[layoutPosition].id, it) } } } diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/DetailListFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/DetailListFragment.kt index 6b429943..af27fedc 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/DetailListFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/DetailListFragment.kt @@ -45,7 +45,7 @@ class DetailListFragment : AbsMainActivityFragment(R.layout.fragment_playlist_de override fun onActivityCreated(savedInstanceState: Bundle?) { super.onActivityCreated(savedInstanceState) - mainActivity.setBottomBarVisibility(View.GONE) + mainActivity.setBottomBarVisibility(false) mainActivity.setSupportActionBar(toolbar) progressIndicator.hide() when (args.type) { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumDetailsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumDetailsFragment.kt index ef7f256c..96c47095 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumDetailsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumDetailsFragment.kt @@ -49,7 +49,10 @@ import code.name.monkey.retromusic.glide.ArtistGlideRequest import code.name.monkey.retromusic.glide.RetroMusicColoredTarget import code.name.monkey.retromusic.glide.SingleColorTarget import code.name.monkey.retromusic.helper.MusicPlayerRemote -import code.name.monkey.retromusic.helper.SortOrder +import code.name.monkey.retromusic.helper.SortOrder.AlbumSongSortOrder.Companion.SONG_A_Z +import code.name.monkey.retromusic.helper.SortOrder.AlbumSongSortOrder.Companion.SONG_DURATION +import code.name.monkey.retromusic.helper.SortOrder.AlbumSongSortOrder.Companion.SONG_TRACK_LIST +import code.name.monkey.retromusic.helper.SortOrder.AlbumSongSortOrder.Companion.SONG_Z_A import code.name.monkey.retromusic.interfaces.IAlbumClickListener import code.name.monkey.retromusic.model.Album import code.name.monkey.retromusic.model.Artist @@ -63,6 +66,7 @@ import code.name.monkey.retromusic.util.color.MediaNotificationProcessor import com.bumptech.glide.Glide import com.google.android.material.transition.MaterialArcMotion import com.google.android.material.transition.MaterialContainerTransform +import com.google.android.material.transition.MaterialElevationScale import kotlinx.android.synthetic.main.fragment_album_content.* import kotlinx.android.synthetic.main.fragment_album_details.* import kotlinx.coroutines.Dispatchers @@ -101,11 +105,12 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) setHasOptionsMenu(true) - mainActivity.setBottomBarVisibility(View.GONE) + mainActivity.setBottomBarVisibility(false) mainActivity.addMusicServiceEventListener(detailsViewModel) mainActivity.setSupportActionBar(toolbar) + toolbar.title = " " - ViewCompat.setTransitionName(container, "album") + ViewCompat.setTransitionName(albumCoverContainer, "album") postponeEnterTransition() detailsViewModel.getAlbum().observe(viewLifecycleOwner, Observer { startPostponedEnterTransition() @@ -115,6 +120,12 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det setupRecyclerView() artistImage.setOnClickListener { artistView -> ViewCompat.setTransitionName(artistView, "artist") + exitTransition = MaterialElevationScale(false).apply { + duration = 300L + } + reenterTransition = MaterialElevationScale(true).apply { + duration = 300L + } findActivityNavController(R.id.fragment_container) .navigate( R.id.artistDetailsFragment, @@ -123,8 +134,9 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det FragmentNavigatorExtras(artistView to "artist") ) } - playAction.setOnClickListener { MusicPlayerRemote.openQueue(album.songs, 0, true) } - + playAction.setOnClickListener { + MusicPlayerRemote.openQueue(album.songs, 0, true) + } shuffleAction.setOnClickListener { MusicPlayerRemote.openAndShuffleQueue( album.songs, @@ -139,9 +151,6 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det aboutAlbumText.maxLines = 4 } } - image.apply { - transitionName = getString(R.string.transition_album_art) - } } override fun onDestroy() { @@ -253,7 +262,7 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det } private fun loadArtistImage(artist: Artist) { - detailsViewModel.getMoreAlbums(artist).observe(viewLifecycleOwner, Observer { + detailsViewModel.getMoreAlbums(artist).observe(viewLifecycleOwner, { moreAlbums(it) }) ArtistGlideRequest.Builder.from(Glide.with(requireContext()), artist) @@ -286,6 +295,12 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det } override fun onAlbumClick(albumId: Long, view: View) { + exitTransition = MaterialElevationScale(false).apply { + duration = 300L + } + reenterTransition = MaterialElevationScale(false).apply { + duration = 300L + } findNavController().navigate( R.id.albumDetailsFragment, bundleOf(EXTRA_ALBUM_ID to albumId), @@ -354,13 +369,10 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det ) return true } - /*Sort*/ - R.id.action_sort_order_title -> sortOrder = SortOrder.AlbumSongSortOrder.SONG_A_Z - R.id.action_sort_order_title_desc -> sortOrder = SortOrder.AlbumSongSortOrder.SONG_Z_A - R.id.action_sort_order_track_list -> sortOrder = - SortOrder.AlbumSongSortOrder.SONG_TRACK_LIST - R.id.action_sort_order_artist_song_duration -> - sortOrder = SortOrder.AlbumSongSortOrder.SONG_DURATION + R.id.action_sort_order_title -> sortOrder = SONG_A_Z + R.id.action_sort_order_title_desc -> sortOrder = SONG_Z_A + R.id.action_sort_order_track_list -> sortOrder = SONG_TRACK_LIST + R.id.action_sort_order_artist_song_duration -> sortOrder = SONG_DURATION } if (sortOrder != null) { item.isChecked = true @@ -371,36 +383,34 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det private fun setUpSortOrderMenu(sortOrder: SubMenu) { when (savedSortOrder) { - SortOrder.AlbumSongSortOrder.SONG_A_Z -> sortOrder.findItem(R.id.action_sort_order_title) - .isChecked = true - SortOrder.AlbumSongSortOrder.SONG_Z_A -> sortOrder.findItem(R.id.action_sort_order_title_desc) - .isChecked = true - SortOrder.AlbumSongSortOrder.SONG_TRACK_LIST -> sortOrder.findItem(R.id.action_sort_order_track_list) - .isChecked = true - SortOrder.AlbumSongSortOrder.SONG_DURATION -> sortOrder.findItem(R.id.action_sort_order_artist_song_duration) - .isChecked = true + SONG_A_Z -> sortOrder.findItem(R.id.action_sort_order_title).isChecked = true + SONG_Z_A -> sortOrder.findItem(R.id.action_sort_order_title_desc).isChecked = true + SONG_TRACK_LIST -> + sortOrder.findItem(R.id.action_sort_order_track_list).isChecked = true + SONG_DURATION -> + sortOrder.findItem(R.id.action_sort_order_artist_song_duration).isChecked = true } } private fun setSaveSortOrder(sortOrder: String) { PreferenceUtil.albumDetailSongSortOrder = sortOrder val songs = when (sortOrder) { - SortOrder.AlbumSongSortOrder.SONG_TRACK_LIST -> album.songs.sortedWith { o1, o2 -> + SONG_TRACK_LIST -> album.songs.sortedWith { o1, o2 -> o1.trackNumber.compareTo( o2.trackNumber ) } - SortOrder.AlbumSongSortOrder.SONG_A_Z -> album.songs.sortedWith { o1, o2 -> + SONG_A_Z -> album.songs.sortedWith { o1, o2 -> o1.title.compareTo( o2.title ) } - SortOrder.AlbumSongSortOrder.SONG_Z_A -> album.songs.sortedWith { o1, o2 -> + SONG_Z_A -> album.songs.sortedWith { o1, o2 -> o2.title.compareTo( o1.title ) } - SortOrder.AlbumSongSortOrder.SONG_DURATION -> album.songs.sortedWith { o1, o2 -> + SONG_DURATION -> album.songs.sortedWith { o1, o2 -> o1.duration.compareTo( o2.duration ) diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumsFragment.kt index 40f316ca..9bc8ed5e 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumsFragment.kt @@ -26,7 +26,6 @@ import code.name.monkey.retromusic.adapter.album.AlbumAdapter import code.name.monkey.retromusic.extensions.surfaceColor import code.name.monkey.retromusic.fragments.ReloadType import code.name.monkey.retromusic.fragments.base.AbsRecyclerViewCustomGridSizeFragment -import code.name.monkey.retromusic.helper.SortOrder import code.name.monkey.retromusic.helper.SortOrder.AlbumSortOrder import code.name.monkey.retromusic.interfaces.IAlbumClickListener import code.name.monkey.retromusic.interfaces.ICabHolder @@ -118,7 +117,7 @@ class AlbumsFragment : AbsRecyclerViewCustomGridSizeFragment subMenu.findItem(R.id.action_layout_card).isChecked = true R.layout.item_grid -> subMenu.findItem(R.id.action_layout_normal).isChecked = true - R.layout.item_card_color -> - subMenu.findItem(R.id.action_layout_colored_card).isChecked = true - R.layout.item_grid_circle -> - subMenu.findItem(R.id.action_layout_circular).isChecked = true + R.layout.item_card_color -> subMenu.findItem(R.id.action_layout_colored_card).isChecked = + true + R.layout.item_grid_circle -> subMenu.findItem(R.id.action_layout_circular).isChecked = + true R.layout.image -> subMenu.findItem(R.id.action_layout_image).isChecked = true - R.layout.item_image_gradient -> - subMenu.findItem(R.id.action_layout_gradient_image).isChecked = true + R.layout.item_image_gradient -> subMenu.findItem(R.id.action_layout_gradient_image).isChecked = + true } } @@ -285,19 +285,8 @@ class ArtistsFragment : AbsRecyclerViewCustomGridSizeFragment, LM : Recycle super.onViewCreated(view, savedInstanceState) postponeEnterTransition() view.doOnPreDraw { startPostponedEnterTransition() } - mainActivity.setBottomBarVisibility(View.VISIBLE) + mainActivity.setBottomBarVisibility(true) mainActivity.setSupportActionBar(toolbar) mainActivity.supportActionBar?.title = null initLayoutManager() diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/folder/FoldersFragment.java b/app/src/main/java/code/name/monkey/retromusic/fragments/folder/FoldersFragment.java index 1c6dbf95..2f50fe11 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/folder/FoldersFragment.java +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/folder/FoldersFragment.java @@ -166,7 +166,7 @@ public class FoldersFragment extends AbsMainActivityFragment @Override public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { getMainActivity().addMusicServiceEventListener(getLibraryViewModel()); - getMainActivity().setBottomBarVisibility(View.VISIBLE); + getMainActivity().setBottomBarVisibility(true); getMainActivity().setSupportActionBar(toolbar); getMainActivity().getSupportActionBar().setTitle(null); setStatusBarColorAuto(view); diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/genres/GenreDetailsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/genres/GenreDetailsFragment.kt index 32679f65..e226ceed 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/genres/GenreDetailsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/genres/GenreDetailsFragment.kt @@ -62,7 +62,7 @@ class GenreDetailsFragment : AbsMainActivityFragment(R.layout.fragment_playlist_ override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) setHasOptionsMenu(true) - mainActivity.setBottomBarVisibility(View.GONE) + mainActivity.setBottomBarVisibility(false) mainActivity.addMusicServiceEventListener(detailsViewModel) mainActivity.setSupportActionBar(toolbar) ViewCompat.setTransitionName(container, "genre") diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/home/HomeFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/home/HomeFragment.kt index 49a8a103..aab4f5d0 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/home/HomeFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/home/HomeFragment.kt @@ -48,7 +48,7 @@ class HomeFragment : override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - mainActivity.setBottomBarVisibility(View.VISIBLE) + mainActivity.setBottomBarVisibility(true) mainActivity.setSupportActionBar(toolbar) mainActivity.supportActionBar?.title = null setStatusBarColorAuto(view) diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/library/LibraryFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/library/LibraryFragment.kt index a65d8152..753a321b 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/library/LibraryFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/library/LibraryFragment.kt @@ -41,7 +41,7 @@ class LibraryFragment : AbsMainActivityFragment(R.layout.fragment_library) { override fun onActivityCreated(savedInstanceState: Bundle?) { super.onActivityCreated(savedInstanceState) setHasOptionsMenu(true) - mainActivity.setBottomBarVisibility(View.VISIBLE) + mainActivity.setBottomBarVisibility(true) mainActivity.setSupportActionBar(toolbar) mainActivity.supportActionBar?.title = null toolbar.setNavigationOnClickListener { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/playlists/PlaylistDetailsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/playlists/PlaylistDetailsFragment.kt index 53343153..38c149b5 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/playlists/PlaylistDetailsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/playlists/PlaylistDetailsFragment.kt @@ -50,7 +50,7 @@ class PlaylistDetailsFragment : AbsMainActivityFragment(R.layout.fragment_playli override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) setHasOptionsMenu(true) - mainActivity.setBottomBarVisibility(View.GONE) + mainActivity.setBottomBarVisibility(false) mainActivity.addMusicServiceEventListener(viewModel) mainActivity.setSupportActionBar(toolbar) ViewCompat.setTransitionName(container, "playlist") diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/search/SearchFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/search/SearchFragment.kt index 4c552385..ffb9a91b 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/search/SearchFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/search/SearchFragment.kt @@ -17,6 +17,7 @@ package code.name.monkey.retromusic.fragments.search import android.content.ActivityNotFoundException import android.content.Context import android.content.Intent +import android.graphics.Color import android.os.Bundle import android.speech.RecognizerIntent import android.text.Editable @@ -30,12 +31,11 @@ import androidx.recyclerview.widget.RecyclerView import androidx.transition.TransitionManager import code.name.monkey.retromusic.R import code.name.monkey.retromusic.adapter.SearchAdapter -import code.name.monkey.retromusic.extensions.accentColor -import code.name.monkey.retromusic.extensions.dipToPix -import code.name.monkey.retromusic.extensions.focusAndShowKeyboard -import code.name.monkey.retromusic.extensions.showToast +import code.name.monkey.retromusic.extensions.* import code.name.monkey.retromusic.fragments.base.AbsMainActivityFragment import com.google.android.material.textfield.TextInputEditText +import com.google.android.material.transition.MaterialArcMotion +import com.google.android.material.transition.MaterialContainerTransform import kotlinx.android.synthetic.main.fragment_search.* import java.util.* import kotlin.collections.ArrayList @@ -49,18 +49,30 @@ class SearchFragment : AbsMainActivityFragment(R.layout.fragment_search), TextWa private lateinit var searchAdapter: SearchAdapter private var query: String? = null + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + sharedElementEnterTransition = MaterialContainerTransform().apply { + drawingViewId = R.id.fragment_container + duration = 300L + scrimColor = Color.TRANSPARENT + setAllContainerColors(requireContext().resolveColor(R.attr.colorSurface)) + setPathMotion(MaterialArcMotion()) + } + } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - mainActivity.setBottomBarVisibility(View.GONE) + mainActivity.setBottomBarVisibility(false) mainActivity.setSupportActionBar(toolbar) libraryViewModel.clearSearchResult() setupRecyclerView() + + voiceSearch.setOnClickListener { startMicSearch() } + clearText.setOnClickListener { searchView.clearText() } searchView.apply { addTextChangedListener(this@SearchFragment) focusAndShowKeyboard() } - voiceSearch.setOnClickListener { startMicSearch() } - clearText.setOnClickListener { searchView.clearText() } keyboardPopup.apply { accentColor() setOnClickListener { diff --git a/app/src/main/java/code/name/monkey/retromusic/views/RetroShapeableImageView.kt b/app/src/main/java/code/name/monkey/retromusic/views/RetroShapeableImageView.kt index e00946d4..686814b4 100644 --- a/app/src/main/java/code/name/monkey/retromusic/views/RetroShapeableImageView.kt +++ b/app/src/main/java/code/name/monkey/retromusic/views/RetroShapeableImageView.kt @@ -31,9 +31,12 @@ class RetroShapeableImageView @JvmOverloads constructor( init { val typedArray = context.obtainStyledAttributes(attrs, R.styleable.RetroShapeableImageView, defStyle, -1) - val cornerSize = - typedArray.getDimension(R.styleable.RetroShapeableImageView_retroCornerSize, 0f) - updateCornerSize(cornerSize) + val cornerSize = typedArray.getDimension(R.styleable.RetroShapeableImageView_retroCornerSize, 0f) + val circleShape = typedArray.getBoolean(R.styleable.RetroShapeableImageView_circleShape, false) + addOnLayoutChangeListener { _, _, _, _, _, _, _, _, _ -> + val radius = width / 2f + shapeAppearanceModel = ShapeAppearanceModel().withCornerSize(radius) + } typedArray.recycle() } diff --git a/app/src/main/res/layout/item_grid_circle.xml b/app/src/main/res/layout/item_grid_circle.xml index 7b8944b8..2ccb0c7b 100644 --- a/app/src/main/res/layout/item_grid_circle.xml +++ b/app/src/main/res/layout/item_grid_circle.xml @@ -9,7 +9,7 @@ android:padding="4dp" tools:ignore="MissingPrefix"> - diff --git a/app/src/main/res/values-fr-rFR/strings.xml b/app/src/main/res/values-fr-rFR/strings.xml index 7d53593f..42664103 100644 --- a/app/src/main/res/values-fr-rFR/strings.xml +++ b/app/src/main/res/values-fr-rFR/strings.xml @@ -20,8 +20,8 @@ Aller au genre Aller au dossier de départ Accorder - Taille de l'affichage - Taille de l'affichage (paysage) + Taille de l\'affichage + Taille de l\'affichage (paysage) Nouvelle liste de lecture… Suivant Lecture @@ -235,9 +235,8 @@ 6 7 8 - Les Grilles & Le Style - + Charnière Historique @@ -612,10 +611,9 @@ Volume Recherche internet - + Bienvenue, - Que souhaitez-vous partager ? Quoi de neuf diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index bf65574b..e9aa38af 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -12,7 +12,7 @@ 8dp - 48dp + 56dp 96dp 96dp @@ -34,7 +34,7 @@ 12dp 32dp - 104dp + 112dp 8dp 48dp 52dp diff --git a/app/src/main/res/values/shapeable_imageview.xml b/app/src/main/res/values/shapeable_imageview.xml index b8051fd3..2ced73f0 100644 --- a/app/src/main/res/values/shapeable_imageview.xml +++ b/app/src/main/res/values/shapeable_imageview.xml @@ -15,5 +15,6 @@ + \ No newline at end of file