Merge "DO NOT MERGE: Use minimumHeight in QS header" into pi-dev

This commit is contained in:
TreeHugger Robot
2018-07-12 23:34:50 +00:00
committed by Android (Google) Code Review
2 changed files with 29 additions and 4 deletions

View File

@@ -252,6 +252,9 @@
-->
<dimen name="qs_header_system_icons_area_height">48dp</dimen>
<!-- How far the quick-quick settings panel extends below the status bar -->
<dimen name="qs_quick_header_panel_height">128dp</dimen>
<!-- The height of the container that holds the system icons in the quick settings header in the
car setting. -->
<dimen name="car_qs_header_system_icons_area_height">54dp</dimen>

View File

@@ -34,6 +34,7 @@ import android.os.Handler;
import android.provider.AlarmClock;
import android.service.notification.ZenModeConfig;
import android.support.annotation.VisibleForTesting;
import android.widget.FrameLayout;
import android.text.format.DateUtils;
import android.util.AttributeSet;
import android.util.Log;
@@ -269,8 +270,22 @@ public class QuickStatusBarHeader extends RelativeLayout implements
updateResources();
}
/**
* The height of QQS should always be the status bar height + 128dp. This is normally easy, but
* when there is a notch involved the status bar can remain a fixed pixel size.
*/
private void updateMinimumHeight() {
int sbHeight = mContext.getResources().getDimensionPixelSize(
com.android.internal.R.dimen.status_bar_height);
int qqsHeight = mContext.getResources().getDimensionPixelSize(
R.dimen.qs_quick_header_panel_height);
setMinimumHeight(sbHeight + qqsHeight);
}
private void updateResources() {
Resources resources = mContext.getResources();
updateMinimumHeight();
// Update height for a few views, especially due to landscape mode restricting space.
mHeaderTextContainerView.getLayoutParams().height =
@@ -281,10 +296,17 @@ public class QuickStatusBarHeader extends RelativeLayout implements
com.android.internal.R.dimen.quick_qs_offset_height);
mSystemIconsView.setLayoutParams(mSystemIconsView.getLayoutParams());
getLayoutParams().height = resources.getDimensionPixelSize(mQsDisabled
? com.android.internal.R.dimen.quick_qs_offset_height
: com.android.internal.R.dimen.quick_qs_total_height);
setLayoutParams(getLayoutParams());
FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) getLayoutParams();
if (mQsDisabled) {
lp.height = resources.getDimensionPixelSize(
com.android.internal.R.dimen.quick_qs_offset_height);
} else {
lp.height = Math.max(getMinimumHeight(),
resources.getDimensionPixelSize(
com.android.internal.R.dimen.quick_qs_offset_height));
}
setLayoutParams(lp);
updateStatusIconAlphaAnimator();
updateHeaderTextContainerAlphaAnimator();