summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorArnaud Berry <arnaudberry@google.com>2019-06-18 18:33:41 -0700
committerArnaud Berry <arnaudberry@google.com>2019-06-19 11:39:24 -0700
commit1ef19ed05455b1b5c32ebd29c63228c1f4ca97b5 (patch)
tree4925485f018018477a8a55b293ee7734539b36ae /src
parentabe382c59477c0fcb0b647122fc10fca66af2ca3 (diff)
downloadMedia-1ef19ed05455b1b5c32ebd29c63228c1f4ca97b5.tar.gz
Hide progress bar when opening the custom actions
Add a playback_views_to_hide_when_showing_custom_actions array so OEMs can customize which views get hidden when opening the custom actions. By default include the progress bar in the array to verify this behavior more easily. Bug: 135526983 Test: manual Change-Id: I30c3072fa320000e2f6654f1c9a18455eb7f200e
Diffstat (limited to 'src')
-rw-r--r--src/com/android/car/media/PlaybackFragment.java52
1 files changed, 41 insertions, 11 deletions
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);
+ }
+ }
}
});
}