diff options
author | Arnaud Berry <arnaudberry@google.com> | 2019-06-19 14:40:08 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2019-06-19 14:40:08 -0700 |
commit | 620745687b85e9e749570ff203a38a18dda0a584 (patch) | |
tree | 0e87f8d4eb8200d0cc4f1f459451fe41bab716ed | |
parent | 4afeb4b262e255cb3081f9c06fefc31d9024c1e0 (diff) | |
parent | 1ef19ed05455b1b5c32ebd29c63228c1f4ca97b5 (diff) | |
download | Media-620745687b85e9e749570ff203a38a18dda0a584.tar.gz |
Hide progress bar when opening the custom actions
am: 1ef19ed054
Change-Id: I617d812d02696add24404794719044fa34d6128e
-rw-r--r-- | res/values/integers.xml | 6 | ||||
-rw-r--r-- | src/com/android/car/media/PlaybackFragment.java | 52 |
2 files changed, 47 insertions, 11 deletions
diff --git a/res/values/integers.xml b/res/values/integers.xml index 0c822fa..1ceb462 100644 --- a/res/values/integers.xml +++ b/res/values/integers.xml @@ -41,4 +41,10 @@ <!-- Number of rows in the app bar view --> <integer name="num_app_bar_view_rows">1</integer> + + <!-- Views to hide when opening the custom actions when the queue isn't visible. --> + <integer-array name="playback_views_to_hide_when_showing_custom_actions"> + <item>@id/seek_bar</item> + </integer-array> + </resources> diff --git a/src/com/android/car/media/PlaybackFragment.java b/src/com/android/car/media/PlaybackFragment.java index 9878806..d4cd173 100644 --- a/src/com/android/car/media/PlaybackFragment.java +++ b/src/com/android/car/media/PlaybackFragment.java @@ -20,6 +20,8 @@ import android.annotation.Nullable; import android.content.Context; import android.content.res.ColorStateList; import android.graphics.Rect; +import android.content.res.Resources; +import android.content.res.TypedArray; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; @@ -65,6 +67,7 @@ public class PlaybackFragment extends Fragment { private SeekBar mSeekBar; private View mQueueButton; private ViewGroup mNavIconContainer; + private List<View> mViewsToHideForCustomActions; private DefaultItemAnimator mItemAnimator; @@ -271,18 +274,17 @@ public class PlaybackFragment extends Fragment { mControlBarScrim.setOnClickListener(scrim -> mPlaybackControls.close()); mControlBarScrim.setClickable(false); - mShowTimeForActiveQueueItem = getContext().getResources().getBoolean( + Resources res = getResources(); + mShowTimeForActiveQueueItem = res.getBoolean( R.bool.show_time_for_now_playing_queue_list_item); - mShowIconForActiveQueueItem = getContext().getResources().getBoolean( + mShowIconForActiveQueueItem = res.getBoolean( R.bool.show_icon_for_now_playing_queue_list_item); mShowThumbnailForQueueItem = getContext().getResources().getBoolean( R.bool.show_thumbnail_for_queue_list_item); - boolean useMediaSourceColor = - getContext().getResources().getBoolean( - R.bool.use_media_source_color_for_progress_bar); - int defaultColor = getContext().getResources().getColor( - R.color.progress_bar_highlight, null); + boolean useMediaSourceColor = res.getBoolean( + R.bool.use_media_source_color_for_progress_bar); + int defaultColor = res.getColor(R.color.progress_bar_highlight, null); if (useMediaSourceColor) { getPlaybackViewModel().getMediaSourceColors().observe(getViewLifecycleOwner(), sourceColors -> { @@ -304,6 +306,21 @@ public class PlaybackFragment extends Fragment { initPlaybackControls(view.findViewById(R.id.playback_controls)); initMetadataController(view); initQueue(); + + TypedArray hideViewIds = + res.obtainTypedArray(R.array.playback_views_to_hide_when_showing_custom_actions); + mViewsToHideForCustomActions = new ArrayList<>(hideViewIds.length()); + for (int i = 0; i < hideViewIds.length(); i++) { + int viewId = hideViewIds.getResourceId(i, 0); + if (viewId != 0) { + View viewToHide = view.findViewById(viewId); + if (viewToHide != null) { + mViewsToHideForCustomActions.add(viewToHide); + } + } + } + hideViewIds.recycle(); + return view; } @@ -322,12 +339,25 @@ public class PlaybackFragment extends Fragment { mPlaybackControls.setModel(getPlaybackViewModel(), getViewLifecycleOwner()); mPlaybackControls.registerExpandCollapseCallback((expanding) -> { mControlBarScrim.setClickable(expanding); + + Resources res = getContext().getResources(); + int millis = expanding ? res.getInteger(R.integer.control_bar_expand_anim_duration) : + res.getInteger(R.integer.control_bar_collapse_anim_duration); + if (expanding) { - ViewUtils.showViewAnimated(mControlBarScrim, getContext().getResources().getInteger( - R.integer.control_bar_expand_anim_duration)); + ViewUtils.showViewAnimated(mControlBarScrim, millis); } else { - ViewUtils.hideViewAnimated(mControlBarScrim, getContext().getResources().getInteger( - R.integer.control_bar_collapse_anim_duration)); + ViewUtils.hideViewAnimated(mControlBarScrim, millis); + } + + if (!mQueueIsVisible) { + for (View view : mViewsToHideForCustomActions) { + if (expanding) { + ViewUtils.hideViewAnimated(view, millis); + } else { + ViewUtils.showViewAnimated(view, millis); + } + } } }); } |