From 3868243c2a79ef88820701b2568c78ac17cf3828 Mon Sep 17 00:00:00 2001 From: Stypox Date: Sun, 17 Jan 2021 15:59:29 +0100 Subject: [PATCH] Animate secondary controls toggle --- .../fragments/detail/VideoDetailFragment.java | 16 ++++++++-------- .../layout-large-land/fragment_video_detail.xml | 2 +- .../main/res/layout/fragment_video_detail.xml | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java index f8a6e50d5..cb4cfb8b6 100644 --- a/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java +++ b/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java @@ -119,6 +119,7 @@ import static android.text.TextUtils.isEmpty; import static org.schabi.newpipe.extractor.StreamingService.ServiceInfo.MediaCapability.COMMENTS; import static org.schabi.newpipe.extractor.stream.StreamExtractor.NO_AGE_LIMIT; import static org.schabi.newpipe.ktx.ViewUtils.animate; +import static org.schabi.newpipe.ktx.ViewUtils.animateRotation; import static org.schabi.newpipe.player.helper.PlayerHelper.globalScreenOrientationLocked; import static org.schabi.newpipe.player.helper.PlayerHelper.isClearingQueueConfirmationRequired; import static org.schabi.newpipe.player.playqueue.PlayQueueItem.RECOVERY_UNSET; @@ -570,13 +571,13 @@ public final class VideoDetailFragment private void toggleTitleAndSecondaryControls() { if (binding.detailSecondaryControlPanel.getVisibility() == View.GONE) { binding.detailVideoTitleView.setMaxLines(10); - binding.detailToggleDescriptionView.setImageResource( - ThemeHelper.resolveResourceIdFromAttr(requireContext(), R.attr.ic_expand_less)); + animateRotation(binding.detailToggleSecondaryControlsView, + Player.DEFAULT_CONTROLS_DURATION, 180); binding.detailSecondaryControlPanel.setVisibility(View.VISIBLE); } else { binding.detailVideoTitleView.setMaxLines(1); - binding.detailToggleDescriptionView.setImageResource( - ThemeHelper.resolveResourceIdFromAttr(requireContext(), R.attr.ic_expand_more)); + animateRotation(binding.detailToggleSecondaryControlsView, + Player.DEFAULT_CONTROLS_DURATION, 0); binding.detailSecondaryControlPanel.setVisibility(View.GONE); } updateTabLayoutVisibility(); @@ -1406,7 +1407,7 @@ public final class VideoDetailFragment binding.detailVideoTitleView.setMaxLines(1); animate(binding.detailVideoTitleView, true, 0); - binding.detailToggleDescriptionView.setVisibility(View.GONE); + binding.detailToggleSecondaryControlsView.setVisibility(View.GONE); binding.detailTitleRootLayout.setClickable(false); binding.detailSecondaryControlPanel.setVisibility(View.GONE); @@ -1511,9 +1512,8 @@ public final class VideoDetailFragment } binding.detailTitleRootLayout.setClickable(true); - binding.detailToggleDescriptionView.setImageResource( - ThemeHelper.resolveResourceIdFromAttr(requireContext(), R.attr.ic_expand_more)); - binding.detailToggleDescriptionView.setVisibility(View.VISIBLE); + binding.detailToggleSecondaryControlsView.setRotation(0); + binding.detailToggleSecondaryControlsView.setVisibility(View.VISIBLE); binding.detailSecondaryControlPanel.setVisibility(View.GONE); sortedVideoStreams = ListHelper.getSortedStreamVideosList( diff --git a/app/src/main/res/layout-large-land/fragment_video_detail.xml b/app/src/main/res/layout-large-land/fragment_video_detail.xml index 63e67f1bd..14459b494 100644 --- a/app/src/main/res/layout-large-land/fragment_video_detail.xml +++ b/app/src/main/res/layout-large-land/fragment_video_detail.xml @@ -193,7 +193,7 @@ tools:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed a ultricies ex. Integer sit amet sodales risus. Duis non mi et urna pretium bibendum. Nunc eleifend est quis ipsum porttitor egestas. Sed facilisis, nisl quis eleifend pellentesque, orci metus egestas dolor, at accumsan eros metus quis libero." />