Merge changes from topic "flip_flag_v2" into tm-qpr-dev am: 9eff0afd4f
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20328004 Change-Id: Ib66b594fe031fb05af5ace72f02fb705d7f58c8b Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -407,7 +407,7 @@
|
|||||||
<dimen name="match_parent">-1px</dimen>
|
<dimen name="match_parent">-1px</dimen>
|
||||||
|
|
||||||
<!-- Height of status bar in split shade mode - visible only on large screens -->
|
<!-- Height of status bar in split shade mode - visible only on large screens -->
|
||||||
<dimen name="large_screen_shade_header_height">@*android:dimen/quick_qs_offset_height</dimen>
|
<dimen name="large_screen_shade_header_height">48dp</dimen>
|
||||||
<dimen name="large_screen_shade_header_min_height">@dimen/qs_header_row_min_height</dimen>
|
<dimen name="large_screen_shade_header_min_height">@dimen/qs_header_row_min_height</dimen>
|
||||||
<dimen name="large_screen_shade_header_left_padding">@dimen/qs_horizontal_margin</dimen>
|
<dimen name="large_screen_shade_header_left_padding">@dimen/qs_horizontal_margin</dimen>
|
||||||
|
|
||||||
|
|||||||
@@ -107,7 +107,7 @@
|
|||||||
android:id="@+id/privacy_container">
|
android:id="@+id/privacy_container">
|
||||||
<Layout
|
<Layout
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="0dp"
|
android:layout_height="@dimen/large_screen_shade_header_min_height"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="@id/date"
|
app:layout_constraintTop_toTopOf="@id/date"
|
||||||
app:layout_constraintBottom_toBottomOf="@id/date"
|
app:layout_constraintBottom_toBottomOf="@id/date"
|
||||||
|
|||||||
@@ -98,7 +98,7 @@
|
|||||||
android:id="@+id/privacy_container">
|
android:id="@+id/privacy_container">
|
||||||
<Layout
|
<Layout
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="0dp"
|
android:layout_height="@dimen/large_screen_shade_header_min_height"
|
||||||
app:layout_constraintStart_toEndOf="@id/date"
|
app:layout_constraintStart_toEndOf="@id/date"
|
||||||
app:layout_constraintEnd_toEndOf="@id/end_guide"
|
app:layout_constraintEnd_toEndOf="@id/end_guide"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
|||||||
@@ -151,7 +151,7 @@ object Flags {
|
|||||||
// 500 - quick settings
|
// 500 - quick settings
|
||||||
|
|
||||||
// TODO(b/254512321): Tracking Bug
|
// TODO(b/254512321): Tracking Bug
|
||||||
@JvmField val COMBINED_QS_HEADERS = UnreleasedFlag(501, teamfood = true)
|
@JvmField val COMBINED_QS_HEADERS = ReleasedFlag(501)
|
||||||
val PEOPLE_TILE = ResourceBooleanFlag(502, R.bool.flag_conversations)
|
val PEOPLE_TILE = ResourceBooleanFlag(502, R.bool.flag_conversations)
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
@@ -159,7 +159,7 @@ object Flags {
|
|||||||
ResourceBooleanFlag(503, R.bool.flag_lockscreen_qs_user_detail_shortcut)
|
ResourceBooleanFlag(503, R.bool.flag_lockscreen_qs_user_detail_shortcut)
|
||||||
|
|
||||||
// TODO(b/254512747): Tracking Bug
|
// TODO(b/254512747): Tracking Bug
|
||||||
val NEW_HEADER = UnreleasedFlag(505, teamfood = true)
|
val NEW_HEADER = ReleasedFlag(505)
|
||||||
|
|
||||||
// TODO(b/254512383): Tracking Bug
|
// TODO(b/254512383): Tracking Bug
|
||||||
@JvmField
|
@JvmField
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ import android.widget.FrameLayout;
|
|||||||
import com.android.systemui.Dumpable;
|
import com.android.systemui.Dumpable;
|
||||||
import com.android.systemui.R;
|
import com.android.systemui.R;
|
||||||
import com.android.systemui.qs.customize.QSCustomizer;
|
import com.android.systemui.qs.customize.QSCustomizer;
|
||||||
|
import com.android.systemui.util.LargeScreenUtils;
|
||||||
|
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
|
|
||||||
@@ -52,6 +53,7 @@ public class QSContainerImpl extends FrameLayout implements Dumpable {
|
|||||||
private boolean mQsDisabled;
|
private boolean mQsDisabled;
|
||||||
private int mContentHorizontalPadding = -1;
|
private int mContentHorizontalPadding = -1;
|
||||||
private boolean mClippingEnabled;
|
private boolean mClippingEnabled;
|
||||||
|
private boolean mUseCombinedHeaders;
|
||||||
|
|
||||||
public QSContainerImpl(Context context, AttributeSet attrs) {
|
public QSContainerImpl(Context context, AttributeSet attrs) {
|
||||||
super(context, attrs);
|
super(context, attrs);
|
||||||
@@ -66,6 +68,10 @@ public class QSContainerImpl extends FrameLayout implements Dumpable {
|
|||||||
setImportantForAccessibility(IMPORTANT_FOR_ACCESSIBILITY_NO);
|
setImportantForAccessibility(IMPORTANT_FOR_ACCESSIBILITY_NO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void setUseCombinedHeaders(boolean useCombinedHeaders) {
|
||||||
|
mUseCombinedHeaders = useCombinedHeaders;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean hasOverlappingRendering() {
|
public boolean hasOverlappingRendering() {
|
||||||
return false;
|
return false;
|
||||||
@@ -143,9 +149,15 @@ public class QSContainerImpl extends FrameLayout implements Dumpable {
|
|||||||
|
|
||||||
void updateResources(QSPanelController qsPanelController,
|
void updateResources(QSPanelController qsPanelController,
|
||||||
QuickStatusBarHeaderController quickStatusBarHeaderController) {
|
QuickStatusBarHeaderController quickStatusBarHeaderController) {
|
||||||
|
int topPadding = QSUtils.getQsHeaderSystemIconsAreaHeight(mContext);
|
||||||
|
if (mUseCombinedHeaders
|
||||||
|
&& !LargeScreenUtils.shouldUseLargeScreenShadeHeader(mContext.getResources())) {
|
||||||
|
topPadding = mContext.getResources()
|
||||||
|
.getDimensionPixelSize(R.dimen.large_screen_shade_header_height);
|
||||||
|
}
|
||||||
mQSPanelContainer.setPaddingRelative(
|
mQSPanelContainer.setPaddingRelative(
|
||||||
mQSPanelContainer.getPaddingStart(),
|
mQSPanelContainer.getPaddingStart(),
|
||||||
QSUtils.getQsHeaderSystemIconsAreaHeight(mContext),
|
topPadding,
|
||||||
mQSPanelContainer.getPaddingEnd(),
|
mQSPanelContainer.getPaddingEnd(),
|
||||||
mQSPanelContainer.getPaddingBottom());
|
mQSPanelContainer.getPaddingBottom());
|
||||||
|
|
||||||
|
|||||||
@@ -22,6 +22,8 @@ import android.content.res.Configuration;
|
|||||||
import android.view.MotionEvent;
|
import android.view.MotionEvent;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
|
||||||
|
import com.android.systemui.flags.FeatureFlags;
|
||||||
|
import com.android.systemui.flags.Flags;
|
||||||
import com.android.systemui.plugins.FalsingManager;
|
import com.android.systemui.plugins.FalsingManager;
|
||||||
import com.android.systemui.qs.dagger.QSScope;
|
import com.android.systemui.qs.dagger.QSScope;
|
||||||
import com.android.systemui.statusbar.policy.ConfigurationController;
|
import com.android.systemui.statusbar.policy.ConfigurationController;
|
||||||
@@ -37,7 +39,6 @@ public class QSContainerImplController extends ViewController<QSContainerImpl> {
|
|||||||
private final ConfigurationController mConfigurationController;
|
private final ConfigurationController mConfigurationController;
|
||||||
private final FalsingManager mFalsingManager;
|
private final FalsingManager mFalsingManager;
|
||||||
private final NonInterceptingScrollView mQSPanelContainer;
|
private final NonInterceptingScrollView mQSPanelContainer;
|
||||||
|
|
||||||
private final ConfigurationController.ConfigurationListener mConfigurationListener =
|
private final ConfigurationController.ConfigurationListener mConfigurationListener =
|
||||||
new ConfigurationController.ConfigurationListener() {
|
new ConfigurationController.ConfigurationListener() {
|
||||||
@Override
|
@Override
|
||||||
@@ -65,13 +66,15 @@ public class QSContainerImplController extends ViewController<QSContainerImpl> {
|
|||||||
QSPanelController qsPanelController,
|
QSPanelController qsPanelController,
|
||||||
QuickStatusBarHeaderController quickStatusBarHeaderController,
|
QuickStatusBarHeaderController quickStatusBarHeaderController,
|
||||||
ConfigurationController configurationController,
|
ConfigurationController configurationController,
|
||||||
FalsingManager falsingManager) {
|
FalsingManager falsingManager,
|
||||||
|
FeatureFlags featureFlags) {
|
||||||
super(view);
|
super(view);
|
||||||
mQsPanelController = qsPanelController;
|
mQsPanelController = qsPanelController;
|
||||||
mQuickStatusBarHeaderController = quickStatusBarHeaderController;
|
mQuickStatusBarHeaderController = quickStatusBarHeaderController;
|
||||||
mConfigurationController = configurationController;
|
mConfigurationController = configurationController;
|
||||||
mFalsingManager = falsingManager;
|
mFalsingManager = falsingManager;
|
||||||
mQSPanelContainer = mView.getQSPanelContainer();
|
mQSPanelContainer = mView.getQSPanelContainer();
|
||||||
|
view.setUseCombinedHeaders(featureFlags.isEnabled(Flags.COMBINED_QS_HEADERS));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -288,8 +288,15 @@ public class QuickStatusBarHeader extends FrameLayout {
|
|||||||
}
|
}
|
||||||
|
|
||||||
MarginLayoutParams qqsLP = (MarginLayoutParams) mHeaderQsPanel.getLayoutParams();
|
MarginLayoutParams qqsLP = (MarginLayoutParams) mHeaderQsPanel.getLayoutParams();
|
||||||
qqsLP.topMargin = largeScreenHeaderActive || !mUseCombinedQSHeader ? mContext.getResources()
|
if (largeScreenHeaderActive) {
|
||||||
.getDimensionPixelSize(R.dimen.qqs_layout_margin_top) : qsOffsetHeight;
|
qqsLP.topMargin = mContext.getResources()
|
||||||
|
.getDimensionPixelSize(R.dimen.qqs_layout_margin_top);
|
||||||
|
} else if (!mUseCombinedQSHeader) {
|
||||||
|
qqsLP.topMargin = qsOffsetHeight;
|
||||||
|
} else {
|
||||||
|
qqsLP.topMargin = mContext.getResources()
|
||||||
|
.getDimensionPixelSize(R.dimen.large_screen_shade_header_min_height);
|
||||||
|
}
|
||||||
mHeaderQsPanel.setLayoutParams(qqsLP);
|
mHeaderQsPanel.setLayoutParams(qqsLP);
|
||||||
|
|
||||||
updateBatteryMode();
|
updateBatteryMode();
|
||||||
|
|||||||
@@ -246,6 +246,8 @@ class LargeScreenShadeHeaderController @Inject constructor(
|
|||||||
qsCarrierGroup.updateTextAppearance(R.style.TextAppearance_QS_Status_Carriers)
|
qsCarrierGroup.updateTextAppearance(R.style.TextAppearance_QS_Status_Carriers)
|
||||||
if (header is MotionLayout) {
|
if (header is MotionLayout) {
|
||||||
loadConstraints()
|
loadConstraints()
|
||||||
|
header.minHeight = resources
|
||||||
|
.getDimensionPixelSize(R.dimen.large_screen_shade_header_min_height)
|
||||||
lastInsets?.let { updateConstraintsForInsets(header, it) }
|
lastInsets?.let { updateConstraintsForInsets(header, it) }
|
||||||
}
|
}
|
||||||
updateResources()
|
updateResources()
|
||||||
|
|||||||
@@ -1152,8 +1152,15 @@ public final class NotificationPanelViewController {
|
|||||||
|
|
||||||
mLargeScreenShadeHeaderHeight =
|
mLargeScreenShadeHeaderHeight =
|
||||||
mResources.getDimensionPixelSize(R.dimen.large_screen_shade_header_height);
|
mResources.getDimensionPixelSize(R.dimen.large_screen_shade_header_height);
|
||||||
mQuickQsHeaderHeight = mUseLargeScreenShadeHeader ? mLargeScreenShadeHeaderHeight :
|
// TODO: When the flag is eventually removed, it means that we have a single view that is
|
||||||
SystemBarUtils.getQuickQsOffsetHeight(mView.getContext());
|
// the same height in QQS and in Large Screen (large_screen_shade_header_height). Eventually
|
||||||
|
// the concept of largeScreenHeader or quickQsHeader will disappear outside of the class
|
||||||
|
// that controls the view as the offset needs to be the same regardless.
|
||||||
|
if (mUseLargeScreenShadeHeader || mFeatureFlags.isEnabled(Flags.COMBINED_QS_HEADERS)) {
|
||||||
|
mQuickQsHeaderHeight = mLargeScreenShadeHeaderHeight;
|
||||||
|
} else {
|
||||||
|
mQuickQsHeaderHeight = SystemBarUtils.getQuickQsOffsetHeight(mView.getContext());
|
||||||
|
}
|
||||||
int topMargin = mUseLargeScreenShadeHeader ? mLargeScreenShadeHeaderHeight :
|
int topMargin = mUseLargeScreenShadeHeader ? mLargeScreenShadeHeaderHeight :
|
||||||
mResources.getDimensionPixelSize(R.dimen.notification_panel_margin_top);
|
mResources.getDimensionPixelSize(R.dimen.notification_panel_margin_top);
|
||||||
mLargeScreenShadeHeaderController.setLargeScreenActive(mUseLargeScreenShadeHeader);
|
mLargeScreenShadeHeaderController.setLargeScreenActive(mUseLargeScreenShadeHeader);
|
||||||
|
|||||||
Reference in New Issue
Block a user