diff options
10 files changed, 27 insertions, 24 deletions
diff --git a/packages/SystemUI/res/layout/home_controls.xml b/packages/SystemUI/res/layout/home_controls.xml index b9a6a482cf1a..69a0e872dc8c 100644 --- a/packages/SystemUI/res/layout/home_controls.xml +++ b/packages/SystemUI/res/layout/home_controls.xml @@ -3,7 +3,7 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/home_controls_layout" android:layout_width="match_parent" - android:layout_height="125dp" + android:layout_height="wrap_content" android:layout_gravity="@integer/notification_panel_layout_gravity" android:visibility="gone" android:padding="8dp" diff --git a/packages/SystemUI/res/layout/status_bar_expanded_plugin_frame.xml b/packages/SystemUI/res/layout/status_bar_expanded_plugin_frame.xml index 7d6ff3b16db6..69beffe0798c 100644 --- a/packages/SystemUI/res/layout/status_bar_expanded_plugin_frame.xml +++ b/packages/SystemUI/res/layout/status_bar_expanded_plugin_frame.xml @@ -20,7 +20,7 @@ android:id="@+id/plugin_frame" android:theme="@style/qs_theme" android:layout_width="@dimen/qs_panel_width" - android:layout_height="105dp" + android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_marginTop="@dimen/notification_side_paddings" android:layout_marginLeft="@dimen/notification_side_paddings" diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java b/packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java index a267bbb92ee7..a0ea7fae493d 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java @@ -14,7 +14,6 @@ package com.android.systemui.qs; -import android.provider.Settings; import android.util.Log; import android.view.View; import android.view.View.OnAttachStateChangeListener; @@ -31,6 +30,7 @@ import com.android.systemui.qs.TouchAnimator.Builder; import com.android.systemui.qs.TouchAnimator.Listener; import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService.Tunable; +import com.android.systemui.util.Utils; import java.util.ArrayList; import java.util.Collection; @@ -270,9 +270,7 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha } - int flag = Settings.System.getInt(mQsPanel.getContext().getContentResolver(), - "qs_media_player", 0); - if (flag == 1) { + if (Utils.useQsMediaPlayer(mQsPanel.getContext())) { View qsMediaView = mQsPanel.getMediaPanel(); View qqsMediaView = mQuickQsPanel.getMediaPlayer().getView(); translationXBuilder.addFloat(qsMediaView, "alpha", 0, 1); diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java index b48814bfd6bd..39f08650bf2c 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java @@ -18,6 +18,7 @@ package com.android.systemui.qs; import static com.android.systemui.qs.tileimpl.QSTileImpl.getColorForState; import static com.android.systemui.util.InjectionInflationController.VIEW_CONTEXT; +import static com.android.systemui.util.Utils.useQsMediaPlayer; import android.annotation.Nullable; import android.content.ComponentName; @@ -150,8 +151,7 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne addDivider(); // Add media carousel - int flag = Settings.System.getInt(context.getContentResolver(), "qs_media_player", 0); - if (flag == 1) { + if (useQsMediaPlayer(context)) { HorizontalScrollView mediaScrollView = new HorizontalScrollView(mContext); mediaScrollView.setHorizontalScrollBarEnabled(false); int playerHeight = (int) getResources().getDimension(R.dimen.qs_media_height); @@ -201,8 +201,7 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne */ public void addMediaSession(MediaSession.Token token, Icon icon, int iconColor, int bgColor, View actionsContainer, StatusBarNotification notif) { - int flag = Settings.System.getInt(mContext.getContentResolver(), "qs_media_player", 0); - if (flag != 1) { + if (!useQsMediaPlayer(mContext)) { // Shouldn't happen, but just in case Log.e(TAG, "Tried to add media session without player!"); return; diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java index dcd4633a79d2..94a1cf0c4e35 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java @@ -21,7 +21,6 @@ import static com.android.systemui.util.InjectionInflationController.VIEW_CONTEX import android.content.Context; import android.content.res.Configuration; import android.graphics.Rect; -import android.provider.Settings; import android.util.AttributeSet; import android.view.Gravity; import android.view.View; @@ -36,6 +35,7 @@ import com.android.systemui.plugins.qs.QSTile.State; import com.android.systemui.qs.customize.QSCustomizer; import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService.Tunable; +import com.android.systemui.util.Utils; import java.util.ArrayList; import java.util.Collection; @@ -72,8 +72,7 @@ public class QuickQSPanel extends QSPanel { removeView((View) mTileLayout); } - int flag = Settings.System.getInt(context.getContentResolver(), "qs_media_player", 0); - if (flag == 1) { + if (Utils.useQsMediaPlayer(context)) { LinearLayout mHorizontalLinearLayout = new LinearLayout(mContext); mHorizontalLinearLayout.setOrientation(LinearLayout.HORIZONTAL); mHorizontalLinearLayout.setClipChildren(false); diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java index 592e3881ea97..16c61e60179e 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java @@ -17,6 +17,7 @@ package com.android.systemui.qs; import static android.app.StatusBarManager.DISABLE2_QUICK_SETTINGS; import static com.android.systemui.util.InjectionInflationController.VIEW_CONTEXT; +import static com.android.systemui.util.Utils.useQsMediaPlayer; import android.annotation.ColorInt; import android.app.ActivityManager; @@ -393,11 +394,10 @@ public class QuickStatusBarHeader extends RelativeLayout implements FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) getLayoutParams(); - int flag = Settings.System.getInt(mContext.getContentResolver(), "qs_media_player", 0); if (mQsDisabled) { lp.height = resources.getDimensionPixelSize( com.android.internal.R.dimen.quick_qs_offset_height); - } else if (flag == 1) { + } else if (useQsMediaPlayer(mContext)) { lp.height = Math.max(getMinimumHeight(), resources.getDimensionPixelSize( com.android.internal.R.dimen.quick_qs_total_height_with_media)); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java index d6b87afc53b9..20a3e35791c4 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java @@ -21,7 +21,6 @@ import android.content.res.Resources; import android.os.Handler; import android.os.Trace; import android.os.UserHandle; -import android.provider.Settings; import android.util.Log; import android.view.View; import android.view.ViewGroup; @@ -40,6 +39,7 @@ import com.android.systemui.statusbar.phone.KeyguardBypassController; import com.android.systemui.statusbar.phone.NotificationGroupManager; import com.android.systemui.statusbar.phone.ShadeController; import com.android.systemui.util.Assert; +import com.android.systemui.util.Utils; import java.util.ArrayList; import java.util.HashMap; @@ -146,9 +146,7 @@ public class NotificationViewHierarchyManager implements DynamicPrivacyControlle final int N = activeNotifications.size(); for (int i = 0; i < N; i++) { NotificationEntry ent = activeNotifications.get(i); - int flag = Settings.System.getInt(mContext.getContentResolver(), - "qs_media_player", 0); - boolean hideMedia = (flag == 1); + boolean hideMedia = Utils.useQsMediaPlayer(mContext); if (ent.isRowDismissed() || ent.isRowRemoved() || (ent.isMediaNotification() && hideMedia) || mBubbleController.isBubbleNotificationSuppressedFromShade(ent.getKey())) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationMediaTemplateViewWrapper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationMediaTemplateViewWrapper.java index 9bc0ca440893..d0122c2b59b2 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationMediaTemplateViewWrapper.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationMediaTemplateViewWrapper.java @@ -28,7 +28,6 @@ import android.media.session.MediaSession; import android.media.session.PlaybackState; import android.metrics.LogMaker; import android.os.Handler; -import android.provider.Settings; import android.text.format.DateUtils; import android.view.LayoutInflater; import android.view.View; @@ -48,6 +47,7 @@ import com.android.systemui.statusbar.NotificationMediaManager; import com.android.systemui.statusbar.TransformableView; import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow; import com.android.systemui.statusbar.phone.StatusBarWindowController; +import com.android.systemui.util.Utils; import java.util.Timer; import java.util.TimerTask; @@ -182,8 +182,7 @@ public class NotificationMediaTemplateViewWrapper extends NotificationTemplateVi final MediaSession.Token token = mRow.getEntry().getSbn().getNotification().extras .getParcelable(Notification.EXTRA_MEDIA_SESSION); - int flag = Settings.System.getInt(mContext.getContentResolver(), "qs_media_player", 0); - if (flag == 1) { + if (Utils.useQsMediaPlayer(mContext)) { StatusBarWindowController ctrl = Dependency.get(StatusBarWindowController.class); QuickQSPanel panel = ctrl.getStatusBarView().findViewById( com.android.systemui.R.id.quick_qs_panel); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java index e00cfb16bd67..467df375e7eb 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java @@ -109,6 +109,7 @@ import com.android.systemui.statusbar.policy.KeyguardUserSwitcher; import com.android.systemui.statusbar.policy.OnHeadsUpChangedListener; import com.android.systemui.statusbar.policy.ZenModeController; import com.android.systemui.util.InjectionInflationController; +import com.android.systemui.util.Utils; import java.io.FileDescriptor; import java.io.PrintWriter; @@ -769,8 +770,7 @@ public class NotificationPanelView extends PanelView implements int sideMargin = res.getDimensionPixelOffset(R.dimen.notification_side_paddings); int topMargin = res.getDimensionPixelOffset(com.android.internal.R.dimen.quick_qs_total_height); - int flag = Settings.System.getInt(mContext.getContentResolver(), "qs_media_player", 0); - if (flag == 1) { + if (Utils.useQsMediaPlayer(mContext)) { topMargin = res.getDimensionPixelOffset( com.android.internal.R.dimen.quick_qs_total_height_with_media); } diff --git a/packages/SystemUI/src/com/android/systemui/util/Utils.java b/packages/SystemUI/src/com/android/systemui/util/Utils.java index 92a8d8482e87..aa9c5ac2e032 100644 --- a/packages/SystemUI/src/com/android/systemui/util/Utils.java +++ b/packages/SystemUI/src/com/android/systemui/util/Utils.java @@ -20,6 +20,7 @@ import android.Manifest; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; +import android.provider.Settings; import android.view.View; import com.android.systemui.SysUiServiceProvider; @@ -124,4 +125,13 @@ public class Utils { && QuickStepContract.isGesturalMode(navMode); } + /** + * Allow the media player to be shown in the QS area, controlled by 2 flags. + */ + public static boolean useQsMediaPlayer(Context context) { + int flag = Settings.System.getInt(context.getContentResolver(), "qs_media_player", 0); + flag |= Settings.System.getInt(context.getContentResolver(), "npv_plugin_flag", 0); + + return flag > 0; + } } |