Only reorient nav bar if needed

Bug: 30388298
Change-Id: Ifda69682fd00ed11ce21b439d12d3b432db1eca7
This commit is contained in:
Adrian Roos
2016-08-02 18:36:12 -07:00
parent 88d57db0ad
commit 090b7d82d2
2 changed files with 8 additions and 1 deletions

View File

@@ -65,6 +65,7 @@ public class NavigationBarView extends LinearLayout {
boolean mVertical;
boolean mScreenOn;
private int mCurrentRotation = -1;
boolean mShowMenu;
int mDisabledFlags = 0;
@@ -526,6 +527,10 @@ public class NavigationBarView extends LinearLayout {
updateCurrentView();
}
public boolean needsReorient() {
return mCurrentRotation != mDisplay.getRotation();
}
private void updateCurrentView() {
final int rot = mDisplay.getRotation();
for (int i=0; i<4; i++) {
@@ -538,6 +543,7 @@ public class NavigationBarView extends LinearLayout {
mButtonDisatchers.valueAt(i).setCurrentView(mCurrentView);
}
updateLayoutTransitionsEnabled();
mCurrentRotation = rot;
}
private void updateRecentsIcon() {

View File

@@ -3548,7 +3548,8 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
@Override
public void onDisplayChanged(int displayId) {
if (displayId == Display.DEFAULT_DISPLAY) {
if (displayId == Display.DEFAULT_DISPLAY
&& mNavigationBarView != null && mNavigationBarView.needsReorient()) {
repositionNavigationBar();
}
}