Merge "Reset sticky navbar timeout when rotate btn shown" into pi-dev
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java
index 04bfcdd..66176b3 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java
@@ -544,7 +544,12 @@
// Set visibility, may fail if a11y service is active.
// If invisible, call will stop animation.
- mNavigationBarView.setRotateButtonVisibility(true);
+ int appliedVisibility = mNavigationBarView.setRotateButtonVisibility(true);
+ if (appliedVisibility == View.VISIBLE) {
+ // If the button will actually become visible and the navbar is about to hide,
+ // tell the statusbar to keep it around for longer
+ mStatusBar.touchAutoHide();
+ }
} else { // Hide
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
index c2053b6..6dbe9f8 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
@@ -766,13 +766,13 @@
if (setIcon) getRotateSuggestionButton().setImageDrawable(mRotateSuggestionIcon);
}
- public void setRotateButtonVisibility(final boolean visible) {
+ public int setRotateButtonVisibility(final boolean visible) {
// Never show if a11y is visible
final boolean adjVisible = visible && !mShowAccessibilityButton;
final int vis = adjVisible ? View.VISIBLE : View.INVISIBLE;
// No need to do anything if the request matches the current state
- if (vis == getRotateSuggestionButton().getVisibility()) return;
+ if (vis == getRotateSuggestionButton().getVisibility()) return vis;
getRotateSuggestionButton().setVisibility(vis);
mShowRotateButton = visible;
@@ -789,6 +789,9 @@
// Hide/restore other button visibility, if necessary
updateNavButtonIcons();
+
+ // Return applied visibility
+ return vis;
}
public boolean isRotateButtonVisible() { return mShowRotateButton; }