diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/MainActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/MainActivity.kt index ade445e67..231240018 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/MainActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/MainActivity.kt @@ -27,6 +27,7 @@ import code.name.monkey.retromusic.activities.base.AbsCastActivity import code.name.monkey.retromusic.databinding.SlidingMusicPanelLayoutBinding import code.name.monkey.retromusic.extensions.extra import code.name.monkey.retromusic.extensions.findNavController +import code.name.monkey.retromusic.extensions.surfaceColor import code.name.monkey.retromusic.fragments.base.AbsRecyclerViewFragment import code.name.monkey.retromusic.fragments.home.HomeFragment import code.name.monkey.retromusic.helper.MusicPlayerRemote @@ -55,7 +56,6 @@ class MainActivity : AbsCastActivity(), OnSharedPreferenceChangeListener { override fun onCreate(savedInstanceState: Bundle?) { setDrawUnderStatusBar() super.onCreate(savedInstanceState) - setStatusbarColorAuto() setTaskDescriptionColorAuto() hideStatusBar() updateTabs() 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 44dd8d8de..9d84107ad 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,6 +14,7 @@ */ package code.name.monkey.retromusic.activities.base +import android.content.res.ColorStateList import android.graphics.Color import android.os.Bundle import android.view.View @@ -26,10 +27,10 @@ import androidx.core.view.updateLayoutParams import androidx.core.view.updatePadding import androidx.fragment.app.Fragment import androidx.fragment.app.commit +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.databinding.ActivityMainContentBinding import code.name.monkey.retromusic.databinding.SlidingMusicPanelLayoutBinding import code.name.monkey.retromusic.extensions.* import code.name.monkey.retromusic.fragments.LibraryViewModel @@ -109,6 +110,7 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() { println("Do something") } } + println(bottomSheetBehavior.peekHeight) } } @@ -158,12 +160,7 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() { } protected fun wrapSlidingMusicPanel(): SlidingMusicPanelLayoutBinding { - val slidingMusicPanelLayoutBinding = - SlidingMusicPanelLayoutBinding.inflate(layoutInflater) - val contentContainer: ViewGroup = - slidingMusicPanelLayoutBinding.mainContentFrame - ActivityMainContentBinding.inflate(layoutInflater, contentContainer, true) - return slidingMusicPanelLayoutBinding + return SlidingMusicPanelLayoutBinding.inflate(layoutInflater) } fun collapsePanel() { @@ -187,11 +184,16 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() { open fun onPanelCollapsed() { // restore values - super.setLightStatusbar(lightStatusBar) + super.setLightStatusbarAuto(surfaceColor()) super.setTaskDescriptionColor(taskColor) } open fun onPanelExpanded() { + if (nowPlayingScreen == Blur ) { + super.setLightStatusbar(false) + } else { + super.setLightStatusbarAuto(surfaceColor()) + } } private fun setupSlidingUpPanel() { @@ -286,7 +288,7 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() { } private fun hideBottomBar(hide: Boolean) { - val heightOfBar = RetroUtil.getNavigationBarHeight() + + val heightOfBar = if (MusicPlayerRemote.isCasting) dip(R.dimen.cast_mini_player_height) else dip(R.dimen.mini_player_height) val heightOfBarWithTabs = RetroUtil.getNavigationBarHeight() + if (MusicPlayerRemote.isCasting) dip(R.dimen.mini_cast_player_height_expanded) else dip( diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsThemeActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsThemeActivity.kt index 45cf0c0bf..337f54b35 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsThemeActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsThemeActivity.kt @@ -33,6 +33,7 @@ import code.name.monkey.appthemehelper.util.ColorUtil import code.name.monkey.appthemehelper.util.VersionUtils import code.name.monkey.retromusic.LanguageContextWrapper import code.name.monkey.retromusic.R +import code.name.monkey.retromusic.extensions.surfaceColor import code.name.monkey.retromusic.util.PreferenceUtil import code.name.monkey.retromusic.util.RetroUtil import code.name.monkey.retromusic.util.theme.ThemeManager diff --git a/app/src/main/java/code/name/monkey/retromusic/extensions/FragmentExt.kt b/app/src/main/java/code/name/monkey/retromusic/extensions/FragmentExt.kt index 6c74050af..27610f535 100644 --- a/app/src/main/java/code/name/monkey/retromusic/extensions/FragmentExt.kt +++ b/app/src/main/java/code/name/monkey/retromusic/extensions/FragmentExt.kt @@ -29,6 +29,7 @@ import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentManager import androidx.navigation.fragment.NavHostFragment import code.name.monkey.retromusic.util.PreferenceUtil +import com.google.android.material.appbar.MaterialToolbar fun Fragment.getIntRes(@IntegerRes int: Int): Int { return resources.getInteger(int) @@ -97,3 +98,7 @@ fun Context.getDrawableCompat(@DrawableRes drawableRes: Int): Drawable { fun Fragment.getDrawableCompat(@DrawableRes drawableRes: Int): Drawable { return AppCompatResources.getDrawable(requireContext(), drawableRes)!! } + +fun Fragment.applyToolbar(toolbar: MaterialToolbar) { + (requireActivity() as AppCompatActivity).applyToolbar(toolbar) +} \ No newline at end of file diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/artists/AlbumArtistDetailsViewModel.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/artists/AlbumArtistDetailsViewModel.kt deleted file mode 100644 index 3d202bb55..000000000 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/artists/AlbumArtistDetailsViewModel.kt +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright (c) 2020 Hemanth Savarla. - * - * 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. - * - */ -package code.name.monkey.retromusic.fragments.artists - -import androidx.lifecycle.* -import code.name.monkey.retromusic.interfaces.IMusicServiceEventListener -import code.name.monkey.retromusic.model.Artist -import code.name.monkey.retromusic.network.Result -import code.name.monkey.retromusic.network.model.LastFmArtist -import code.name.monkey.retromusic.repository.RealRepository -import kotlinx.coroutines.Dispatchers.IO -import kotlinx.coroutines.launch - -class AlbumArtistDetailsViewModel( - private val realRepository: RealRepository, - private val artistName: String -) : ViewModel(), IMusicServiceEventListener { - private val artistDetails = MutableLiveData() - - init { - fetchAlbumArtist() - } - - private fun fetchAlbumArtist() { - viewModelScope.launch(IO) { - artistDetails.postValue(realRepository.albumArtistByName(artistName)) - } - } - - fun getArtist(): LiveData = artistDetails - - fun getArtistInfo( - name: String, - lang: String?, - cache: String? - ): LiveData> = liveData(IO) { - emit(Result.Loading) - val info = realRepository.artistInfo(name, lang, cache) - emit(info) - } - - override fun onMediaStoreChanged() { - fetchAlbumArtist() - } - - override fun onServiceConnected() {} - override fun onServiceDisconnected() {} - override fun onQueueChanged() {} - override fun onFavoriteStateChanged() {} - override fun onPlayingMetaChanged() {} - override fun onPlayStateChanged() {} - override fun onRepeatModeChanged() {} - override fun onShuffleModeChanged() {} -} diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsRecyclerViewFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsRecyclerViewFragment.kt index 3167e9d49..f42811c9a 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsRecyclerViewFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsRecyclerViewFragment.kt @@ -33,7 +33,7 @@ import code.name.monkey.retromusic.dialogs.ImportPlaylistDialog import code.name.monkey.retromusic.helper.MusicPlayerRemote import code.name.monkey.retromusic.util.DensityUtil import code.name.monkey.retromusic.util.ThemedFastScroller.create -import com.google.android.material.transition.MaterialFadeThrough +import com.google.android.material.shape.MaterialShapeDrawable import com.google.android.material.transition.MaterialSharedAxis import me.zhanghai.android.fastscroll.FastScroller import me.zhanghai.android.fastscroll.FastScrollerBuilder @@ -58,6 +58,7 @@ abstract class AbsRecyclerViewFragment, LM : Recycle initAdapter() setUpRecyclerView() setupToolbar() + binding.appBarLayout.statusBarForeground = MaterialShapeDrawable.createWithElevationOverlay(requireContext()); } fun toolbar(): Toolbar { 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 91cb5d53f..0f77ef1ea 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 @@ -17,16 +17,13 @@ package code.name.monkey.retromusic.views import android.content.Context import android.content.res.ColorStateList import android.graphics.drawable.ColorDrawable -import android.graphics.drawable.RippleDrawable import android.util.AttributeSet -import androidx.core.content.ContextCompat import code.name.monkey.appthemehelper.ThemeStore import code.name.monkey.appthemehelper.util.ATHUtil import code.name.monkey.appthemehelper.util.ColorUtil import code.name.monkey.appthemehelper.util.NavigationViewUtil import code.name.monkey.retromusic.R import code.name.monkey.retromusic.util.PreferenceUtil -import code.name.monkey.retromusic.util.RippleUtils import com.google.android.material.bottomnavigation.BottomNavigationView class BottomNavigationBarTinted @JvmOverloads constructor( @@ -50,17 +47,7 @@ class BottomNavigationBarTinted @JvmOverloads constructor( ColorUtil.withAlpha(iconColor, 0.5f), accentColor ) - itemBackground = RippleDrawable( - RippleUtils.convertToRippleDrawableColor( - ColorStateList.valueOf( - ThemeStore.accentColor(context).addAlpha() - ) - ), - ContextCompat.getDrawable(context, R.drawable.bottom_navigation_item_background), - ContextCompat.getDrawable(context, R.drawable.bottom_navigation_item_background_mask) - ) - setOnApplyWindowInsetsListener(null) - //itemRippleColor = ColorStateList.valueOf(accentColor) + itemRippleColor = ColorStateList.valueOf(accentColor.addAlpha()) background = ColorDrawable(ATHUtil.resolveColor(context, R.attr.colorSurface)) } } diff --git a/app/src/main/res/drawable/popup_background.xml b/app/src/main/res/drawable/popup_background.xml index 4a4471df5..995f1a73c 100644 --- a/app/src/main/res/drawable/popup_background.xml +++ b/app/src/main/res/drawable/popup_background.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/app/src/main/res/layout-land/fragment_album_details.xml b/app/src/main/res/layout-land/fragment_album_details.xml index 7597f6817..2a2d6d663 100644 --- a/app/src/main/res/layout-land/fragment_album_details.xml +++ b/app/src/main/res/layout-land/fragment_album_details.xml @@ -7,7 +7,8 @@ android:background="?attr/colorSurface" android:orientation="vertical" android:transitionName="@string/transition_album_art" - tools:ignore="UnusedAttribute"> + tools:ignore="UnusedAttribute" + android:fitsSystemWindows="true"> + app:liftOnScroll="true" + android:fitsSystemWindows="true"> + tools:srcCompat="@tools:sample/avatars" + android:transitionName="user_image"/> + app:liftOnScroll="true" + android:fitsSystemWindows="true"> + tools:srcCompat="@tools:sample/avatars" + android:transitionName="user_image"/> + android:layout_height="match_parent" + android:fitsSystemWindows="true"> + android:layout_height="match_parent" + android:fitsSystemWindows="true"> + android:transitionGroup="true" + android:fitsSystemWindows="true"> + android:fitsSystemWindows="true"> + android:fitsSystemWindows="true"> + android:transitionGroup="true" + android:fitsSystemWindows="true"> + android:orientation="vertical" + android:fitsSystemWindows="true"> - + android:layout_height="match_parent" + android:background="?colorSurface" + app:defaultNavHost="true" + app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior" /> - + \ No newline at end of file diff --git a/app/src/main/res/values-night-v27/styles.xml b/app/src/main/res/values-night-v27/styles.xml index 752095b5e..f110231a8 100644 --- a/app/src/main/res/values-night-v27/styles.xml +++ b/app/src/main/res/values-night-v27/styles.xml @@ -30,6 +30,6 @@ false @color/darkColorSurface @style/Widget.MaterialComponents.CardView - @color/darkColorSurface + @color/bottomSheetColor \ No newline at end of file diff --git a/app/src/main/res/values-night/colors.xml b/app/src/main/res/values-night/colors.xml index 9a9199335..5718c56e9 100644 --- a/app/src/main/res/values-night/colors.xml +++ b/app/src/main/res/values-night/colors.xml @@ -3,4 +3,5 @@ @android:color/black + #202020 \ No newline at end of file diff --git a/app/src/main/res/values-night/styles.xml b/app/src/main/res/values-night/styles.xml index eb0b26e11..f2fbebc18 100644 --- a/app/src/main/res/values-night/styles.xml +++ b/app/src/main/res/values-night/styles.xml @@ -31,6 +31,6 @@ @color/darkColorSurface @android:color/transparent @style/Widget.Material3.CardView.Elevated - @color/darkColorSurface + @color/bottomSheetColor \ No newline at end of file diff --git a/app/src/main/res/values-v21/styles.xml b/app/src/main/res/values-v21/styles.xml index 099cfe405..57d3cb485 100644 --- a/app/src/main/res/values-v21/styles.xml +++ b/app/src/main/res/values-v21/styles.xml @@ -10,7 +10,6 @@ @android:color/transparent false @style/TextViewStyleIm - @color/window_color_light \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 55c149c1a..1f80430b2 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -30,5 +30,10 @@ #FFD8D8D8 #ff33b5e5 + #FFFFFF + #202020 + #111111 + + #FFFFFF diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index eed073c4f..f7efe626f 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -7,7 +7,6 @@ none 16dp @style/WindowAnimationTransition - @color/window_color_light