diff --git a/app/src/main/java/code/name/monkey/retromusic/CustomBottomSheetBehavior.java b/app/src/main/java/code/name/monkey/retromusic/RetroBottomSheetBehavior.java similarity index 79% rename from app/src/main/java/code/name/monkey/retromusic/CustomBottomSheetBehavior.java rename to app/src/main/java/code/name/monkey/retromusic/RetroBottomSheetBehavior.java index ba99e8aa..9eb5553f 100644 --- a/app/src/main/java/code/name/monkey/retromusic/CustomBottomSheetBehavior.java +++ b/app/src/main/java/code/name/monkey/retromusic/RetroBottomSheetBehavior.java @@ -10,16 +10,16 @@ import androidx.coordinatorlayout.widget.CoordinatorLayout; import com.google.android.material.bottomsheet.BottomSheetBehavior; -public class CustomBottomSheetBehavior extends BottomSheetBehavior { +public class RetroBottomSheetBehavior extends BottomSheetBehavior { private static final String TAG = "CustomBottomSheetBehavi"; private boolean allowDragging = true; - public CustomBottomSheetBehavior() { + public RetroBottomSheetBehavior() { } - public CustomBottomSheetBehavior(Context context, AttributeSet attrs) { + public RetroBottomSheetBehavior(Context context, AttributeSet attrs) { super(context, attrs); } diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/MainActivity.java b/app/src/main/java/code/name/monkey/retromusic/activities/MainActivity.java index 4e661631..1ef34973 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/MainActivity.java +++ b/app/src/main/java/code/name/monkey/retromusic/activities/MainActivity.java @@ -126,9 +126,7 @@ public class MainActivity extends AbsSlidingMusicPanelActivity private boolean blockRequestPermissions = false; private MaterialCab cab; private AppBarLayout mAppBarLayout; - private MaterialTextView mAppTitle; private Toolbar mToolbar; - private MaterialCardView mToolbarContainer; private AppUpdateManager appUpdateManager; InstallStateUpdatedListener listener = new InstallStateUpdatedListener() { @Override @@ -178,8 +176,6 @@ public class MainActivity extends AbsSlidingMusicPanelActivity restoreCurrentFragment(); } - mToolbarContainer = findViewById(R.id.toolbarContainer); - mAppTitle = findViewById(R.id.appTitle); mToolbar = findViewById(R.id.toolbar); mAppBarLayout = findViewById(R.id.appBarLayout); @@ -284,12 +280,12 @@ public class MainActivity extends AbsSlidingMusicPanelActivity public boolean onCreateOptionsMenu(final Menu menu) { getMenuInflater().inflate(R.menu.menu_main, menu); if (isPlaylistPage()) { - menu.add(0, R.id.action_new_playlist, 0, R.string.new_playlist_title) + menu.add(0, R.id.action_new_playlist, 1, R.string.new_playlist_title) .setIcon(R.drawable.ic_playlist_add_white_24dp) .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); } if (isHomePage()) { - menu.add(0, R.id.action_search, 0, getString(R.string.action_search)) + menu.add(0, R.id.action_mic, 1, getString(R.string.action_search)) .setIcon(R.drawable.ic_mic_white_24dp) .setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM); @@ -298,7 +294,7 @@ public class MainActivity extends AbsSlidingMusicPanelActivity menu.add(0, R.id.action_scan, 0, R.string.scan_media) .setIcon(R.drawable.ic_scanner_white_24dp) .setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM); - menu.add(0, R.id.action_go_to_start_directory, 0, R.string.action_go_to_start_directory) + menu.add(0, R.id.action_go_to_start_directory, 1, R.string.action_go_to_start_directory) .setIcon(R.drawable.ic_bookmark_music_white_24dp) .setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM); } @@ -320,9 +316,12 @@ public class MainActivity extends AbsSlidingMusicPanelActivity menu.removeItem(R.id.action_grid_size); menu.removeItem(R.id.action_sort_order); } - menu.add(0, R.id.action_settings, 0, getString(R.string.action_settings)) + menu.add(0, R.id.action_settings, 6, getString(R.string.action_settings)) .setIcon(R.drawable.ic_settings_white_24dp) .setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM); + menu.add(0, R.id.action_search, 0, getString(R.string.action_search)) + .setIcon(R.drawable.ic_search_white_24dp) + .setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_ALWAYS); return super.onCreateOptionsMenu(menu); } @@ -345,13 +344,17 @@ public class MainActivity extends AbsSlidingMusicPanelActivity int id = item.getItemId(); switch (id) { case R.id.action_search: - ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(this, mToolbarContainer, - getString(R.string.transition_toolbar)); - NavigationUtil.goToSearch(this, true, options); + + NavigationUtil.goToSearch(this); break; case R.id.action_new_playlist: CreatePlaylistDialog.create().show(getSupportFragmentManager(), "CREATE_PLAYLIST"); return true; + case R.id.action_mic: + ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(this, mToolbar, + getString(R.string.transition_toolbar)); + NavigationUtil.goToSearch(this, true, options); + return true; case R.id.action_settings: NavigationUtil.goToSettings(this); return true; @@ -828,22 +831,12 @@ public class MainActivity extends AbsSlidingMusicPanelActivity private void setupToolbar() { setTitle(null); - mToolbar.setBackgroundColor(Color.TRANSPARENT); - mToolbarContainer.setCardBackgroundColor( - ColorStateList.valueOf(ATHUtil.INSTANCE.resolveColor(this, R.attr.colorSurface))); + mToolbar.setBackgroundColor(ATHUtil.INSTANCE.resolveColor(this, R.attr.colorSurface)); setSupportActionBar(mToolbar); mToolbar.setOnClickListener(v -> { ActivityOptions options = ActivityOptions - .makeSceneTransitionAnimation(this, mToolbarContainer, getString(R.string.transition_toolbar)); + .makeSceneTransitionAnimation(this, mToolbar, getString(R.string.transition_toolbar)); NavigationUtil.goToSearch(this, options); }); - new Handler().postDelayed(new Runnable() { - @Override - public void run() { - TransitionManager.beginDelayedTransition(mToolbar); - mAppTitle.setVisibility(View.GONE); - setTitle(R.string.action_search); - } - }, 3000); } } 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 a97c592b..9974ce5f 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 @@ -11,7 +11,7 @@ import androidx.annotation.LayoutRes import androidx.fragment.app.Fragment import code.name.monkey.appthemehelper.util.ATHUtil import code.name.monkey.appthemehelper.util.ColorUtil -import code.name.monkey.retromusic.CustomBottomSheetBehavior +import code.name.monkey.retromusic.RetroBottomSheetBehavior import code.name.monkey.retromusic.R import code.name.monkey.retromusic.extensions.hide import code.name.monkey.retromusic.extensions.show @@ -49,7 +49,7 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity(), val TAG: String = AbsSlidingMusicPanelActivity::class.java.simpleName } - private lateinit var bottomSheetBehavior: CustomBottomSheetBehavior + private lateinit var bottomSheetBehavior: RetroBottomSheetBehavior private var miniPlayerFragment: MiniPlayerFragment? = null private var playerFragment: AbsPlayerFragment? = null private var currentNowPlayingScreen: NowPlayingScreen? = null @@ -98,7 +98,7 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity(), updateTabs() bottomSheetBehavior = - BottomSheetBehavior.from(slidingPanel) as CustomBottomSheetBehavior + BottomSheetBehavior.from(slidingPanel) as RetroBottomSheetBehavior val themeColor = ATHUtil.resolveColor(this, android.R.attr.windowBackground, Color.GRAY) dimBackground.setBackgroundColor(ColorUtil.withAlpha(themeColor, 0.5f)) diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/album/AlbumCoverPagerAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/album/AlbumCoverPagerAdapter.kt index 92124757..1323df94 100644 --- a/app/src/main/java/code/name/monkey/retromusic/adapter/album/AlbumCoverPagerAdapter.kt +++ b/app/src/main/java/code/name/monkey/retromusic/adapter/album/AlbumCoverPagerAdapter.kt @@ -69,20 +69,6 @@ class AlbumCoverPagerAdapter( private var colorReceiver: ColorReceiver? = null private var request: Int = 0 - private val layout: Int - get() { - return when (PreferenceUtil.getInstance(requireContext()).albumCoverStyle) { - AlbumCoverStyle.NORMAL -> R.layout.fragment_album_cover - AlbumCoverStyle.FLAT -> R.layout.fragment_album_flat_cover - AlbumCoverStyle.CIRCLE -> R.layout.fragment_album_circle_cover - AlbumCoverStyle.CARD -> R.layout.fragment_album_card_cover - AlbumCoverStyle.MATERIAL -> R.layout.fragment_album_material_cover - AlbumCoverStyle.FULL -> R.layout.fragment_album_full_cover - AlbumCoverStyle.FULL_CARD -> R.layout.fragment_album_full_card_cover - else -> R.layout.fragment_album_cover - } - } - override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) if (arguments != null) { @@ -111,8 +97,7 @@ class AlbumCoverPagerAdapter( NowPlayingScreen.CLASSIC, NowPlayingScreen.FULL -> R.layout.fragment_album_full_cover else -> { - if (PreferenceUtil.getInstance(requireContext()) - .carouselEffect() + if (PreferenceUtil.getInstance(requireContext()).carouselEffect() ) { R.layout.fragment_album_carousel_cover } else { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/PlayerAlbumCoverFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/PlayerAlbumCoverFragment.kt index 2006d7e3..395669ec 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/PlayerAlbumCoverFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/PlayerAlbumCoverFragment.kt @@ -53,29 +53,13 @@ class PlayerAlbumCoverFragment : AbsMusicServiceFragment(), ViewPager.OnPageChan viewPager.setPadding(40, 40, 40, 0) viewPager.pageMargin = 0 viewPager.setPageTransformer(false, CarousalPagerTransformer(requireContext())) - }else{ + } else { viewPager.offscreenPageLimit = 2 viewPager.setPageTransformer( true, PreferenceUtil.getInstance(requireContext()).albumCoverTransform ) } - - /* if (PreferenceUtil.getInstance(requireContext()).carouselEffect() && - !((nps == FULL) || (nps == ADAPTIVE) || (nps == FIT)) - ) { - viewPager.clipToPadding = false - viewPager.setPadding(40, 40, 40, 0) - viewPager.pageMargin = 0 - viewPager.setPageTransformer(false, CarousalPagerTransformer(requireContext())) - } else if () { - } else { - viewPager.offscreenPageLimit = 2 - viewPager.setPageTransformer( - true, - PreferenceUtil.getInstance(requireContext()).albumCoverTransform - ) - }*/ } override fun onDestroyView() { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/classic/ClassicPlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/classic/ClassicPlayerFragment.kt index b3ea9c35..bfdc8b76 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/classic/ClassicPlayerFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/classic/ClassicPlayerFragment.kt @@ -12,7 +12,7 @@ import androidx.core.view.ViewCompat import androidx.recyclerview.widget.LinearLayoutManager import code.name.monkey.appthemehelper.ThemeStore import code.name.monkey.appthemehelper.util.* -import code.name.monkey.retromusic.CustomBottomSheetBehavior +import code.name.monkey.retromusic.RetroBottomSheetBehavior import code.name.monkey.retromusic.R import code.name.monkey.retromusic.activities.base.AbsSlidingMusicPanelActivity import code.name.monkey.retromusic.adapter.song.PlayingQueueAdapter @@ -145,9 +145,9 @@ class ClassicPlayerFragment : AbsPlayerFragment(), View.OnLayoutChangeListener, progressViewUpdateHelper.stop() } - private fun getQueuePanel(): CustomBottomSheetBehavior { + private fun getQueuePanel(): RetroBottomSheetBehavior { playerQueueSheet as MaterialCardView - return CustomBottomSheetBehavior.from(playerQueueSheet) as CustomBottomSheetBehavior + return RetroBottomSheetBehavior.from(playerQueueSheet) as RetroBottomSheetBehavior } private fun setupPanel() { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/color/ColorFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/color/ColorFragment.kt index 8ca7dfa9..977ce8ff 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/color/ColorFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/color/ColorFragment.kt @@ -20,6 +20,7 @@ import kotlinx.android.synthetic.main.fragment_color_player.* class ColorFragment : AbsPlayerFragment() { private var lastColor: Int = 0 + private var navigationColor: Int = 0 private lateinit var playbackControlsFragment: ColorPlaybackControlsFragment private var valueAnimator: ValueAnimator? = null @@ -28,11 +29,12 @@ class ColorFragment : AbsPlayerFragment() { } override val paletteColor: Int - get() = lastColor + get() = navigationColor override fun onColorChanged(color: MediaNotificationProcessor) { playbackControlsFragment.setDark(color) - lastColor = color.backgroundColor + navigationColor = color.backgroundColor + lastColor = color.secondaryTextColor callbacks?.onPaletteColorChanged() ToolbarContentTintHelper.colorizeToolbar( diff --git a/app/src/main/java/code/name/monkey/retromusic/util/NavigationUtil.java b/app/src/main/java/code/name/monkey/retromusic/util/NavigationUtil.java index c6812aeb..416d194f 100755 --- a/app/src/main/java/code/name/monkey/retromusic/util/NavigationUtil.java +++ b/app/src/main/java/code/name/monkey/retromusic/util/NavigationUtil.java @@ -131,6 +131,11 @@ public class NavigationUtil { activityOptions.toBundle()); } + public static void goToSearch(@NonNull Activity activity) { + ActivityCompat.startActivity(activity, new Intent(activity, SearchActivity.class), + null); + } + public static void goToSearch(@NonNull Activity activity, boolean isMicOpen, @NonNull ActivityOptions activityOptions) { ActivityCompat.startActivity(activity, new Intent(activity, SearchActivity.class) diff --git a/app/src/main/res/drawable-xxxhdpi/np_color.webp b/app/src/main/res/drawable-xxxhdpi/np_color.webp index b5edff24..2e007e36 100644 Binary files a/app/src/main/res/drawable-xxxhdpi/np_color.webp and b/app/src/main/res/drawable-xxxhdpi/np_color.webp differ diff --git a/app/src/main/res/drawable/ic_expand_less_white_24dp.xml b/app/src/main/res/drawable/ic_expand_less_white_24dp.xml new file mode 100644 index 00000000..5042d801 --- /dev/null +++ b/app/src/main/res/drawable/ic_expand_less_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/layout-land/fragment_banner_home.xml b/app/src/main/res/layout-land/fragment_banner_home.xml index b25f8660..49a9efae 100644 --- a/app/src/main/res/layout-land/fragment_banner_home.xml +++ b/app/src/main/res/layout-land/fragment_banner_home.xml @@ -20,6 +20,7 @@ android:layout_height="match_parent" android:layout_marginStart="@dimen/toolbar_margin_horizontal" android:layout_marginEnd="@dimen/toolbar_margin_horizontal" + android:overScrollMode="never" app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"> - - + android:layout_height="wrap_content" + android:background="?attr/colorSurface" + app:popupTheme="?attr/toolbarPopupTheme" + app:title="@string/app_name" + app:titleTextAppearance="@style/ToolbarTextAppearanceNormal.Library" + app:titleTextColor="?attr/colorControlNormal" + tools:ignore="UnusedAttribute" /> - - - - - - - - + + diff --git a/app/src/main/res/layout/fragment_clasic_player.xml b/app/src/main/res/layout/fragment_clasic_player.xml index 41ac2947..bf6bc457 100644 --- a/app/src/main/res/layout/fragment_clasic_player.xml +++ b/app/src/main/res/layout/fragment_clasic_player.xml @@ -53,7 +53,7 @@ android:orientation="vertical" app:behavior_hideable="false" app:cardCornerRadius="0dp" - app:layout_behavior="code.name.monkey.retromusic.CustomBottomSheetBehavior"> + app:layout_behavior="code.name.monkey.retromusic.RetroBottomSheetBehavior"> - + android:layout_height="wrap_content" + app:cardCornerRadius="0dp"> + + + + app:layout_behavior="code.name.monkey.retromusic.RetroBottomSheetBehavior"> + diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 246fc52d..d25052d8 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -58,6 +58,11 @@ 20sp 0.0125 ?android:attr/textColorPrimary + @font/circular + + +