From ff20b3a052889c2bc8605de0619e45b5f8132c10 Mon Sep 17 00:00:00 2001 From: Hemanth S Date: Thu, 13 Aug 2020 18:06:24 +0530 Subject: [PATCH] Fix bottom navigation hiding --- .../base/AbsSlidingMusicPanelActivity.kt | 5 +- .../monkey/retromusic/adapter/HomeAdapter.kt | 21 +- .../fragments/albums/AlbumDetailsFragment.kt | 5 +- .../fragments/search/SearchFragment.kt | 19 +- .../retromusic/providers/RepositoryImpl.kt | 5 +- .../views/BottomNavigationBarTinted.kt | 2 +- .../main/res/layout/fragment_mini_player.xml | 2 +- app/src/main/res/layout/fragment_search.xml | 183 ++++++++---------- app/src/main/res/layout/item_suggestions.xml | 8 +- .../res/layout/sliding_music_panel_layout.xml | 2 +- 10 files changed, 114 insertions(+), 138 deletions(-) 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 13b0727e..d0dbdb34 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 @@ -14,7 +14,6 @@ import code.name.monkey.appthemehelper.util.ATHUtil import code.name.monkey.appthemehelper.util.ColorUtil import code.name.monkey.retromusic.R import code.name.monkey.retromusic.RetroBottomSheetBehavior -import code.name.monkey.retromusic.extensions.dimToPixel import code.name.monkey.retromusic.extensions.hide import code.name.monkey.retromusic.extensions.show import code.name.monkey.retromusic.extensions.whichFragment @@ -180,7 +179,7 @@ abstract class AbsSlidingMusicPanelActivity() : AbsMusicServiceActivity() { } private fun hideBottomBar(hide: Boolean) { - val heightOfBar = dimToPixel(R.dimen.mini_player_height) + val heightOfBar = bottomNavigationView.height val isBottomBarVisible = bottomNavigationView.isVisible if (hide) { @@ -192,7 +191,7 @@ abstract class AbsSlidingMusicPanelActivity() : AbsMusicServiceActivity() { ViewCompat.setElevation(bottomNavigationView, 10f) ViewCompat.setElevation(slidingPanel, 10f) behavior.isHideable = false - behavior.peekHeight = if (isBottomBarVisible) heightOfBar * 2 else heightOfBar + behavior.peekHeight = (if (isBottomBarVisible) heightOfBar * 2 else heightOfBar) - 24 } } diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/HomeAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/HomeAdapter.kt index d33067bd..b08b15df 100644 --- a/app/src/main/java/code/name/monkey/retromusic/adapter/HomeAdapter.kt +++ b/app/src/main/java/code/name/monkey/retromusic/adapter/HomeAdapter.kt @@ -166,19 +166,18 @@ class HomeAdapter( val color = ThemeStore.accentColor(activity) itemView.findViewById(R.id.message).setTextColor(color) itemView.findViewById(R.id.card6).apply { - setCardBackgroundColor(ColorUtil.withAlpha(color, 0.2f)) + setCardBackgroundColor(ColorUtil.withAlpha(color, 0.12f)) } - if (songs.size > 9) - images.forEachIndexed { index, i -> - itemView.findViewById(i).setOnClickListener { - MusicPlayerRemote.playNext(songs[index]) - } - SongGlideRequest.Builder.from(Glide.with(activity), songs[index]) - .asBitmap() - .build() - .into(itemView.findViewById(i)) - + images.forEachIndexed { index, id -> + itemView.findViewById(id).setOnClickListener { + MusicPlayerRemote.playNext(songs[index]) } + SongGlideRequest.Builder.from(Glide.with(activity), songs[index]) + .asBitmap() + .build() + .into(itemView.findViewById(id)) + + } } } 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 d5d485a2..9bc60bd5 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 @@ -15,6 +15,7 @@ import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager import code.name.monkey.appthemehelper.common.ATHToolbarActivity.getToolbarBackgroundColor import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper +import code.name.monkey.retromusic.EXTRA_ALBUM_ID import code.name.monkey.retromusic.EXTRA_ARTIST_ID import code.name.monkey.retromusic.R import code.name.monkey.retromusic.activities.tageditor.AbsTagEditorActivity @@ -65,6 +66,7 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det mainActivity.hideBottomBarVisibility(false) mainActivity.addMusicServiceEventListener(detailsViewModel) mainActivity.setSupportActionBar(toolbar) + toolbar.title = null postponeEnterTransition() @@ -238,7 +240,7 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det override fun onAlbumClick(albumId: Int, view: View) { findNavController().navigate( R.id.albumDetailsFragment, - bundleOf("extra_album_id" to albumId) + bundleOf(EXTRA_ALBUM_ID to albumId) ) } @@ -263,6 +265,7 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det var sortOrder: String? = null val songs = simpleSongAdapter.dataSet when (item.itemId) { + android.R.id.home -> findNavController().navigateUp() R.id.action_play_next -> { MusicPlayerRemote.playNext(songs) return true 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 c83dab44..a900341e 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 @@ -10,6 +10,8 @@ import android.view.View import android.view.inputmethod.InputMethodManager import androidx.appcompat.app.AppCompatActivity import androidx.core.content.ContextCompat.getSystemService +import androidx.core.view.isGone +import androidx.core.view.isVisible import androidx.lifecycle.Observer import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView @@ -38,14 +40,13 @@ class SearchFragment : AbsMainActivityFragment(R.layout.fragment_search), TextWa override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) mainActivity.setSupportActionBar(toolbar) - mainActivity.hideBottomNavigation() mainActivity.hideBottomBarVisibility(false) setupRecyclerView() - setupSearchView() + keyboardPopup.accentColor() + searchView.addTextChangedListener(this) voiceSearch.setOnClickListener { startMicSearch() } clearText.setOnClickListener { searchView.clearText() } - keyboardPopup.setOnClickListener { val inputManager = getSystemService( @@ -54,7 +55,7 @@ class SearchFragment : AbsMainActivityFragment(R.layout.fragment_search), TextWa ) inputManager?.showSoftInput(searchView, InputMethodManager.SHOW_IMPLICIT) } - keyboardPopup.accentColor() + if (savedInstanceState != null) { query = savedInstanceState.getString(QUERY) } @@ -78,7 +79,7 @@ class SearchFragment : AbsMainActivityFragment(R.layout.fragment_search), TextWa searchAdapter.registerAdapterDataObserver(object : RecyclerView.AdapterDataObserver() { override fun onChanged() { super.onChanged() - empty.visibility = if (searchAdapter.itemCount < 1) View.VISIBLE else View.GONE + empty.isVisible = searchAdapter.itemCount < 1 } }) recyclerView.apply { @@ -97,10 +98,6 @@ class SearchFragment : AbsMainActivityFragment(R.layout.fragment_search), TextWa } } - private fun setupSearchView() { - searchView.addTextChangedListener(this) - } - override fun afterTextChanged(newText: Editable?) { search(newText.toString()) } @@ -116,8 +113,8 @@ class SearchFragment : AbsMainActivityFragment(R.layout.fragment_search), TextWa private fun search(query: String) { this.query = query TransitionManager.beginDelayedTransition(appBarLayout) - voiceSearch.visibility = if (query.isNotEmpty()) View.GONE else View.VISIBLE - clearText.visibility = if (query.isNotEmpty()) View.VISIBLE else View.GONE + voiceSearch.isGone = query.isNotEmpty() + clearText.isVisible = query.isNotEmpty() viewModel.search(query) } diff --git a/app/src/main/java/code/name/monkey/retromusic/providers/RepositoryImpl.kt b/app/src/main/java/code/name/monkey/retromusic/providers/RepositoryImpl.kt index c2fd7aeb..8f3c18ce 100644 --- a/app/src/main/java/code/name/monkey/retromusic/providers/RepositoryImpl.kt +++ b/app/src/main/java/code/name/monkey/retromusic/providers/RepositoryImpl.kt @@ -143,9 +143,10 @@ class RepositoryImpl( override suspend fun suggestionsHome(): Home { val songs = - NotRecentlyPlayedPlaylist(context).getSongs(context).shuffled().takeUnless { + NotRecentlyPlayedPlaylist(context).getSongs(context).shuffled().takeIf { it.size > 9 - }?.take(9) ?: emptyList() + } ?: emptyList() + println(songs.size) return Home(songs, SUGGESTIONS) } diff --git a/app/src/main/java/code/name/monkey/retromusic/views/BottomNavigationBarTinted.kt b/app/src/main/java/code/name/monkey/retromusic/views/BottomNavigationBarTinted.kt index c09801b8..91cb5d53 100644 --- a/app/src/main/java/code/name/monkey/retromusic/views/BottomNavigationBarTinted.kt +++ b/app/src/main/java/code/name/monkey/retromusic/views/BottomNavigationBarTinted.kt @@ -66,5 +66,5 @@ class BottomNavigationBarTinted @JvmOverloads constructor( } fun Int.addAlpha(): Int { - return ColorUtil.withAlpha(this, 0.38f) + return ColorUtil.withAlpha(this, 0.12f) } diff --git a/app/src/main/res/layout/fragment_mini_player.xml b/app/src/main/res/layout/fragment_mini_player.xml index 7bbef52f..4674d13b 100644 --- a/app/src/main/res/layout/fragment_mini_player.xml +++ b/app/src/main/res/layout/fragment_mini_player.xml @@ -4,7 +4,7 @@ xmlns:tools="http://schemas.android.com/tools" android:id="@+id/miniPlayerContent" android:layout_width="match_parent" - android:layout_height="@dimen/bottom_sheet_peek_1_height" + android:layout_height="56dp" android:background="?attr/colorSurface" android:clickable="true" android:focusable="true" diff --git a/app/src/main/res/layout/fragment_search.xml b/app/src/main/res/layout/fragment_search.xml index 335a7d5c..7d07f431 100644 --- a/app/src/main/res/layout/fragment_search.xml +++ b/app/src/main/res/layout/fragment_search.xml @@ -1,132 +1,105 @@ - - + android:layout_height="wrap_content"> - - - + app:navigationIcon="@drawable/ic_keyboard_backspace_black" + app:titleTextAppearance="@style/ToolbarTextAppearanceNormal"> - + android:gravity="center_vertical"> - + android:layout_weight="1" + android:background="@null" + android:hint="@string/action_search" + android:inputType="text|textAutoComplete" + android:paddingStart="16dp" + android:paddingEnd="16dp" + android:textAppearance="@style/TextViewSubtitle1"> - + + - + - - - - - + android:background="?roundSelector" + android:padding="12dp" + app:srcCompat="@drawable/ic_mic" + app:tint="?attr/colorControlNormal" + tools:visibility="visible" /> - + + + + + - - - - - + - + - - - - - \ No newline at end of file + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_suggestions.xml b/app/src/main/res/layout/item_suggestions.xml index e506fd46..70f5a24c 100644 --- a/app/src/main/res/layout/item_suggestions.xml +++ b/app/src/main/res/layout/item_suggestions.xml @@ -140,10 +140,14 @@ android:id="@+id/message" android:layout_width="match_parent" android:layout_height="match_parent" + android:autoSizeTextType="uniform" android:padding="8dp" android:text="New music mix" - android:textAppearance="@style/TextViewHeadline4" - android:textStyle="bold" /> + android:textAppearance="@style/TextViewNormal" + android:textStyle="bold" + app:autoSizeMaxTextSize="32sp" + app:autoSizeMinTextSize="18sp" + app:autoSizeStepGranularity="1sp" />