DO NOT MERGE Set background drawable on status_bar_container

Put the background drawable on status_bar_container instead of
status_bar because we always want the status bar background to
fill the entire container.

status_bar receives new margins when corner display cutouts are enabled
which may prevent status_bar from taking up the entire
status_bar_container space.

Test: atest SystemUITests
Bug: 148355955
Change-Id: Ic7e0c0a79908d2a58d4595d239062435253edfda
This commit is contained in:
Beverly
2020-02-20 13:45:36 -05:00
committed by Beverly Tai
parent 7c0d8c3d49
commit b85c9eaa24
6 changed files with 26 additions and 30 deletions

View File

@@ -24,7 +24,6 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/status_bar_height" android:layout_height="@dimen/status_bar_height"
android:id="@+id/status_bar" android:id="@+id/status_bar"
android:background="@drawable/system_bar_background"
android:orientation="vertical" android:orientation="vertical"
android:focusable="false" android:focusable="false"
android:descendantFocusability="afterDescendants" android:descendantFocusability="afterDescendants"

View File

@@ -54,7 +54,8 @@
<FrameLayout <FrameLayout
android:id="@+id/status_bar_container" android:id="@+id/status_bar_container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" /> android:layout_height="wrap_content"
android:background="@drawable/system_bar_background" />
<include layout="@layout/status_bar_expanded" <include layout="@layout/status_bar_expanded"
android:layout_width="match_parent" android:layout_width="match_parent"

View File

@@ -29,23 +29,21 @@ public final class PhoneStatusBarTransitions extends BarTransitions {
private static final float ICON_ALPHA_WHEN_LIGHTS_OUT_BATTERY_CLOCK = 0.5f; private static final float ICON_ALPHA_WHEN_LIGHTS_OUT_BATTERY_CLOCK = 0.5f;
private static final float ICON_ALPHA_WHEN_LIGHTS_OUT_NON_BATTERY_CLOCK = 0; private static final float ICON_ALPHA_WHEN_LIGHTS_OUT_NON_BATTERY_CLOCK = 0;
private final PhoneStatusBarView mView;
private final float mIconAlphaWhenOpaque; private final float mIconAlphaWhenOpaque;
private View mLeftSide, mStatusIcons, mBattery, mClock; private View mLeftSide, mStatusIcons, mBattery;
private Animator mCurrentAnimation; private Animator mCurrentAnimation;
public PhoneStatusBarTransitions(PhoneStatusBarView view) { /**
super(view, R.drawable.status_background); * @param backgroundView view to apply the background drawable
mView = view; */
final Resources res = mView.getContext().getResources(); public PhoneStatusBarTransitions(PhoneStatusBarView statusBarView, View backgroundView) {
super(backgroundView, R.drawable.status_background);
final Resources res = statusBarView.getContext().getResources();
mIconAlphaWhenOpaque = res.getFraction(R.dimen.status_bar_icon_drawing_alpha, 1, 1); mIconAlphaWhenOpaque = res.getFraction(R.dimen.status_bar_icon_drawing_alpha, 1, 1);
} mLeftSide = statusBarView.findViewById(R.id.status_bar_left_side);
mStatusIcons = statusBarView.findViewById(R.id.statusIcons);
public void init() { mBattery = statusBarView.findViewById(R.id.battery);
mLeftSide = mView.findViewById(R.id.status_bar_left_side);
mStatusIcons = mView.findViewById(R.id.statusIcons);
mBattery = mView.findViewById(R.id.battery);
applyModeBackground(-1, getMode(), false /*animate*/); applyModeBackground(-1, getMode(), false /*animate*/);
applyMode(getMode(), false /*animate*/); applyMode(getMode(), false /*animate*/);
} }

View File

@@ -59,7 +59,6 @@ public class PhoneStatusBarView extends PanelBar {
StatusBar mBar; StatusBar mBar;
boolean mIsFullyOpenedPanel = false; boolean mIsFullyOpenedPanel = false;
private final PhoneStatusBarTransitions mBarTransitions;
private ScrimController mScrimController; private ScrimController mScrimController;
private float mMinFraction; private float mMinFraction;
private Runnable mHideExpandedRunnable = new Runnable() { private Runnable mHideExpandedRunnable = new Runnable() {
@@ -87,14 +86,9 @@ public class PhoneStatusBarView extends PanelBar {
public PhoneStatusBarView(Context context, AttributeSet attrs) { public PhoneStatusBarView(Context context, AttributeSet attrs) {
super(context, attrs); super(context, attrs);
mBarTransitions = new PhoneStatusBarTransitions(this);
mCommandQueue = getComponent(context, CommandQueue.class); mCommandQueue = getComponent(context, CommandQueue.class);
} }
public BarTransitions getBarTransitions() {
return mBarTransitions;
}
public void setBar(StatusBar bar) { public void setBar(StatusBar bar) {
mBar = bar; mBar = bar;
} }
@@ -105,7 +99,6 @@ public class PhoneStatusBarView extends PanelBar {
@Override @Override
public void onFinishInflate() { public void onFinishInflate() {
mBarTransitions.init();
mBattery = findViewById(R.id.battery); mBattery = findViewById(R.id.battery);
mCutoutSpace = findViewById(R.id.cutout_space_view); mCutoutSpace = findViewById(R.id.cutout_space_view);
mCenterIconSpace = findViewById(R.id.centered_icon_area); mCenterIconSpace = findViewById(R.id.centered_icon_area);

View File

@@ -2238,7 +2238,7 @@ public class StatusBar extends SystemUI implements DemoMode,
} }
protected BarTransitions getStatusBarTransitions() { protected BarTransitions getStatusBarTransitions() {
return mStatusBarView.getBarTransitions(); return mStatusBarWindow.getBarTransitions();
} }
protected @TransitionMode int computeBarMode(int oldVis, int newVis) { protected @TransitionMode int computeBarMode(int oldVis, int newVis) {
@@ -2288,8 +2288,8 @@ public class StatusBar extends SystemUI implements DemoMode,
} }
private void finishBarAnimations() { private void finishBarAnimations() {
if (mStatusBarView != null) { if (mStatusBarWindow != null && mStatusBarWindow.getBarTransitions() != null) {
mStatusBarView.getBarTransitions().finishAnimations(); mStatusBarWindow.getBarTransitions().finishAnimations();
} }
mNavigationBarController.finishBarAnimations(mDisplayId); mNavigationBarController.finishBarAnimations(mDisplayId);
} }
@@ -2367,8 +2367,8 @@ public class StatusBar extends SystemUI implements DemoMode,
Settings.Global.ZEN_MODE_OFF))); Settings.Global.ZEN_MODE_OFF)));
pw.print(" mWallpaperSupported= "); pw.println(mWallpaperSupported); pw.print(" mWallpaperSupported= "); pw.println(mWallpaperSupported);
if (mStatusBarView != null) { if (mStatusBarWindow != null) {
dumpBarTransitions(pw, "mStatusBarView", mStatusBarView.getBarTransitions()); dumpBarTransitions(pw, "mStatusBarWindow", mStatusBarWindow.getBarTransitions());
} }
pw.println(" StatusBarWindowView: "); pw.println(" StatusBarWindowView: ");
if (mStatusBarWindow != null) { if (mStatusBarWindow != null) {
@@ -3012,8 +3012,8 @@ public class StatusBar extends SystemUI implements DemoMode,
-1; -1;
if (barMode != -1) { if (barMode != -1) {
boolean animate = true; boolean animate = true;
if (mStatusBarView != null) { if (mStatusBarWindow != null && mStatusBarWindow.getBarTransitions() != null) {
mStatusBarView.getBarTransitions().transitionTo(barMode, animate); mStatusBarWindow.getBarTransitions().transitionTo(barMode, animate);
} }
mNavigationBarController.transitionTo(mDisplayId, barMode, animate); mNavigationBarController.transitionTo(mDisplayId, barMode, animate);
} }

View File

@@ -65,8 +65,6 @@ import com.android.systemui.R;
import com.android.systemui.plugins.FalsingManager; import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.DragDownHelper; import com.android.systemui.statusbar.DragDownHelper;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout; import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout;
import com.android.systemui.statusbar.phone.ScrimController.ScrimVisibility; import com.android.systemui.statusbar.phone.ScrimController.ScrimVisibility;
import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService;
@@ -91,6 +89,7 @@ public class StatusBarWindowView extends FrameLayout {
private View mBrightnessMirror; private View mBrightnessMirror;
private LockIcon mLockIcon; private LockIcon mLockIcon;
private PhoneStatusBarView mStatusBarView; private PhoneStatusBarView mStatusBarView;
private PhoneStatusBarTransitions mBarTransitions;
private int mRightInset = 0; private int mRightInset = 0;
private int mLeftInset = 0; private int mLeftInset = 0;
@@ -282,6 +281,12 @@ public class StatusBarWindowView extends FrameLayout {
public void setStatusBarView(PhoneStatusBarView statusBarView) { public void setStatusBarView(PhoneStatusBarView statusBarView) {
mStatusBarView = statusBarView; mStatusBarView = statusBarView;
mBarTransitions = new PhoneStatusBarTransitions(statusBarView,
findViewById(R.id.status_bar_container));
}
public PhoneStatusBarTransitions getBarTransitions() {
return mBarTransitions;
} }
public void setService(StatusBar service) { public void setService(StatusBar service) {