Merge "Reset sticky navbar timeout when rotate btn shown" into pi-dev

This commit is contained in:
TreeHugger Robot
2018-04-19 22:32:10 +00:00
committed by Android (Google) Code Review
2 changed files with 11 additions and 3 deletions

View File

@@ -544,7 +544,12 @@ public class NavigationBarFragment extends Fragment implements Callbacks {
// 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

View File

@@ -766,13 +766,13 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav
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 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav
// Hide/restore other button visibility, if necessary
updateNavButtonIcons();
// Return applied visibility
return vis;
}
public boolean isRotateButtonVisible() { return mShowRotateButton; }