More hideytoast stabilization.
Back to Gravity.TOP workaround to keep the hideybar confirmation
toast stable during navbar enter/exit animation.
Reverts part of Ifa380e387389ed9917336ad19dfde49f67a5fb10
Change-Id: I1e2e54851f2030603d43df611a616101f19bdab3
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
index 4b30c86..d86760f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
@@ -1964,12 +1964,20 @@
mHideybarConfirmation = Toast.makeBar(mContext, msg, Toast.LENGTH_INFINITE)
.setAction(com.android.internal.R.string.ok, mHideybarConfirmationAction);
View v = mHideybarConfirmation.getView();
+ v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
boolean isGloballyConfirmed = Prefs.read(mContext)
.getBoolean(Prefs.HIDEYBAR_CONFIRMED, false);
if (isGloballyConfirmed) {
// dismiss on outside touch if globally confirmed
v.setOnTouchListener(mDismissHideybarConfirmationOnTouchOutside);
}
+ // position at the bottom like normal toasts, but use top gravity
+ // to avoid jumping around when showing/hiding the nav bar
+ v.measure(MeasureSpec.UNSPECIFIED, MeasureSpec.UNSPECIFIED);
+ int offsetY = mContext.getResources().getDimensionPixelSize(
+ com.android.internal.R.dimen.toast_y_offset);
+ mHideybarConfirmation.setGravity(Gravity.TOP,
+ 0, mCurrentDisplaySize.y - v.getMeasuredHeight() / 2 - offsetY);
// show the confirmation
mHideybarConfirmation.show();
} else if (!visible) {