diff options
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/view/InsetsController.java | 31 | ||||
| -rw-r--r-- | core/java/android/view/ViewRootImpl.java | 9 |
2 files changed, 32 insertions, 8 deletions
diff --git a/core/java/android/view/InsetsController.java b/core/java/android/view/InsetsController.java index 71c1b7c47a9f..a4841f6f0d95 100644 --- a/core/java/android/view/InsetsController.java +++ b/core/java/android/view/InsetsController.java @@ -23,6 +23,7 @@ import static android.view.InsetsState.ITYPE_CAPTION_BAR; import static android.view.InsetsState.ITYPE_IME; import static android.view.InsetsState.toInternalType; import static android.view.InsetsState.toPublicType; +import static android.view.ViewRootImpl.CAPTION_ON_SHELL; import static android.view.WindowInsets.Type.all; import static android.view.WindowInsets.Type.ime; @@ -682,9 +683,15 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation @VisibleForTesting public boolean onStateChanged(InsetsState state) { - boolean stateChanged = !mState.equals(state, true /* excludingCaptionInsets */, - false /* excludeInvisibleIme */) - || !captionInsetsUnchanged(); + boolean stateChanged = false; + if (!CAPTION_ON_SHELL) { + stateChanged = !mState.equals(state, true /* excludingCaptionInsets */, + false /* excludeInvisibleIme */) + || captionInsetsUnchanged(); + } else { + stateChanged = !mState.equals(state, false /* excludingCaptionInsets */, + false /* excludeInvisibleIme */); + } if (!stateChanged && mLastDispatchedState.equals(state)) { return false; } @@ -758,16 +765,20 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation } private boolean captionInsetsUnchanged() { + if (CAPTION_ON_SHELL) { + return false; + } if (mState.peekSource(ITYPE_CAPTION_BAR) == null && mCaptionInsetsHeight == 0) { - return true; + return false; } if (mState.peekSource(ITYPE_CAPTION_BAR) != null && mCaptionInsetsHeight == mState.peekSource(ITYPE_CAPTION_BAR).getFrame().height()) { - return true; + return false; } - return false; + + return true; } private void startResizingAnimationIfNeeded(InsetsState fromState) { @@ -1582,11 +1593,15 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation @Override public void setCaptionInsetsHeight(int height) { + // This method is to be removed once the caption is moved to the shell. + if (CAPTION_ON_SHELL) { + return; + } if (mCaptionInsetsHeight != height) { mCaptionInsetsHeight = height; if (mCaptionInsetsHeight != 0) { - mState.getSource(ITYPE_CAPTION_BAR).setFrame(new Rect(mFrame.left, mFrame.top, - mFrame.right, mFrame.top + mCaptionInsetsHeight)); + mState.getSource(ITYPE_CAPTION_BAR).setFrame(mFrame.left, mFrame.top, + mFrame.right, mFrame.top + mCaptionInsetsHeight); } else { mState.removeSource(ITYPE_CAPTION_BAR); } diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index bde761e59620..18e65c9f3a37 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -277,6 +277,12 @@ public final class ViewRootImpl implements ViewParent, private static final boolean ENABLE_INPUT_LATENCY_TRACKING = true; /** + * Whether the caption is drawn by the shell. + * @hide + */ + public static final boolean CAPTION_ON_SHELL = false; + + /** * Set this system property to true to force the view hierarchy to render * at 60 Hz. This can be used to measure the potential framerate. */ @@ -2561,6 +2567,9 @@ public final class ViewRootImpl implements ViewParent, } private boolean updateCaptionInsets() { + if (CAPTION_ON_SHELL) { + return false; + } if (!(mView instanceof DecorView)) return false; final int captionInsetsHeight = ((DecorView) mView).getCaptionInsetsHeight(); final Rect captionFrame = new Rect(); |
