mRotatedViews[Surface.ROTATION_270] =
mRotatedViews[Surface.ROTATION_90] = findViewById(R.id.rot90);
- updateCurrentView();
+ mCurrentRotation = -1;
+ reorient();
}
public boolean needsReorient(int rotation) {
return mCurrentRotation != rotation;
}
- private void updateCurrentView() {
+ private boolean updateCurrentView() {
final int rot = mDisplay.getRotation();
+ if (rot == mCurrentRotation) return false;
for (int i=0; i<4; i++) {
mRotatedViews[i].setVisibility(View.GONE);
}
}
updateLayoutTransitionsEnabled();
mCurrentRotation = rot;
+ return true;
}
private void updateRecentsIcon() {
}
public void reorient() {
- updateCurrentView();
+ if (!updateCurrentView()) {
+ return;
+ }
+ Log.d(TAG, "reorient", new Throwable());
mDeadZone = (DeadZone) mCurrentView.findViewById(R.id.deadzone);
- ((NavigationBarFrame) getRootView()).setDeadZone(mDeadZone);
+ if (getRootView() instanceof NavigationBarFrame) {
+ ((NavigationBarFrame) getRootView()).setDeadZone(mDeadZone);
+ }
mDeadZone.setDisplayRotation(mCurrentRotation);
// force the low profile & disabled states into compliance
mVertical = newVertical;
//Log.v(TAG, String.format("onSizeChanged: h=%d, w=%d, vert=%s", h, w, mVertical?"y":"n"));
reorient();
+ getHomeButton().setVertical(mVertical);
notifyVerticalChangedListener(newVertical);
}