summaryrefslogtreecommitdiff
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
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
-rw-r--r--res/values/integers.xml6
-rw-r--r--src/com/android/car/media/PlaybackFragment.java52
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);
+ }
+ }
}
});
}