Fixed insets of Settings screens & Folder tab

This commit is contained in:
Prathamesh More 2021-12-24 16:21:31 +05:30
parent 444677fe21
commit 8e1dc3a600
6 changed files with 38 additions and 36 deletions

View file

@ -6,14 +6,16 @@ import android.os.Build
import android.view.View
import android.view.WindowManager
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.*
import androidx.core.view.WindowCompat
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.WindowInsetsControllerCompat
import androidx.core.view.isGone
import androidx.fragment.app.FragmentActivity
import code.name.monkey.appthemehelper.ATH
import code.name.monkey.appthemehelper.util.ColorUtil
import code.name.monkey.appthemehelper.util.VersionUtils
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.util.PreferenceUtil
import code.name.monkey.retromusic.util.RetroUtil
fun AppCompatActivity.toggleScreenOn() {
if (PreferenceUtil.isScreenOnEnabled) {

View file

@ -22,7 +22,6 @@ import androidx.appcompat.widget.Toolbar
import androidx.core.view.doOnPreDraw
import androidx.core.view.isVisible
import androidx.core.view.updateLayoutParams
import androidx.core.view.updatePadding
import androidx.navigation.fragment.findNavController
import androidx.recyclerview.widget.RecyclerView
import code.name.monkey.appthemehelper.common.ATHToolbarActivity

View file

@ -39,10 +39,7 @@ import code.name.monkey.retromusic.adapter.Storage
import code.name.monkey.retromusic.adapter.StorageAdapter
import code.name.monkey.retromusic.adapter.StorageClickListener
import code.name.monkey.retromusic.databinding.FragmentFolderBinding
import code.name.monkey.retromusic.extensions.drawNextToNavbar
import code.name.monkey.retromusic.extensions.surfaceColor
import code.name.monkey.retromusic.extensions.textColorPrimary
import code.name.monkey.retromusic.extensions.textColorSecondary
import code.name.monkey.retromusic.extensions.*
import code.name.monkey.retromusic.fragments.base.AbsMainActivityFragment
import code.name.monkey.retromusic.fragments.folder.FoldersFragment.ListPathsAsyncTask.OnPathsListedCallback
import code.name.monkey.retromusic.fragments.folder.FoldersFragment.ListSongsAsyncTask.OnSongsListedCallback
@ -108,8 +105,8 @@ class FoldersFragment : AbsMainActivityFragment(R.layout.fragment_folder),
mainActivity.addMusicServiceEventListener(libraryViewModel)
mainActivity.setSupportActionBar(binding.toolbar)
mainActivity.supportActionBar?.title = null
enterTransition = MaterialFadeThrough().addTarget(binding.recyclerView)
reenterTransition = MaterialFadeThrough().addTarget(binding.recyclerView)
enterTransition = MaterialFadeThrough()
reenterTransition = MaterialFadeThrough()
setUpBreadCrumbs()
setUpRecyclerView()
@ -454,12 +451,10 @@ class FoldersFragment : AbsMainActivityFragment(R.layout.fragment_folder),
private fun checkForPadding() {
val count = adapter?.itemCount ?: 0
if (_binding != null) {
val params = binding.root.layoutParams as ViewGroup.MarginLayoutParams
params.bottomMargin = if (count > 0 && playingQueue.isNotEmpty()) dip2px(
requireContext(),
104f
) else dip2px(requireContext(), 54f)
binding.root.layoutParams = params
binding.recyclerView.updatePadding(
bottom = if (count > 0 && playingQueue.isNotEmpty()) dip(R.dimen.mini_player_height_expanded)
else dip(R.dimen.mini_player_height_expanded)
)
}
}
@ -537,15 +532,10 @@ class FoldersFragment : AbsMainActivityFragment(R.layout.fragment_folder),
}
private fun setUpRecyclerView() {
binding.recyclerView.layoutManager = LinearLayoutManager(
activity
)
val fastScroller = create(
binding.recyclerView.layoutManager = LinearLayoutManager(activity)
create(
binding.recyclerView
)
binding.recyclerView.setOnApplyWindowInsetsListener(
ScrollingViewOnApplyWindowInsetsListener(binding.recyclerView, fastScroller)
)
}
private fun toList(file: File): ArrayList<File> {

View file

@ -21,6 +21,7 @@ import android.os.Bundle
import android.view.View
import android.widget.Toast
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.updatePadding
import androidx.preference.ListPreference
import androidx.preference.Preference
@ -78,9 +79,14 @@ abstract class AbsSettingsFragment : ATEPreferenceFragmentCompat() {
// https://github.com/material-components/material-components-android/issues/1310
ViewCompat.setOnApplyWindowInsetsListener(
requireActivity().rootView
) { _, insets ->
listView.updatePadding(bottom = insets.safeGetBottomInsets())
insets
) { _, windowInsets ->
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
listView.updatePadding(
left = insets.left,
bottom = insets.bottom,
right = insets.right,
)
windowInsets
}
invalidateSettings()
}

View file

@ -20,6 +20,7 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.updatePadding
import androidx.fragment.app.Fragment
import androidx.navigation.fragment.findNavController
@ -29,7 +30,6 @@ import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.databinding.FragmentMainSettingsBinding
import code.name.monkey.retromusic.extensions.hide
import code.name.monkey.retromusic.extensions.rootView
import code.name.monkey.retromusic.extensions.safeGetBottomInsets
import code.name.monkey.retromusic.extensions.show
import code.name.monkey.retromusic.util.NavigationUtil
@ -91,9 +91,14 @@ class MainSettingsFragment : Fragment(), View.OnClickListener {
ViewCompat.setOnApplyWindowInsetsListener(
requireActivity().rootView
) { _, insets ->
_binding?.container?.updatePadding(bottom = insets.safeGetBottomInsets())
insets
) { _, windowInsets ->
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
_binding?.container?.updatePadding(
left = insets.left,
bottom = insets.bottom,
right = insets.right,
)
windowInsets
}
}