Merge "Temporary bubble hack for new insets"
This commit is contained in:
@@ -20,6 +20,8 @@ import static android.content.Intent.FLAG_ACTIVITY_MULTIPLE_TASK;
|
||||
import static android.content.Intent.FLAG_ACTIVITY_NEW_DOCUMENT;
|
||||
import static android.view.Display.INVALID_DISPLAY;
|
||||
|
||||
import static android.view.ViewRootImpl.NEW_INSETS_MODE_FULL;
|
||||
import static android.view.ViewRootImpl.sNewInsetsMode;
|
||||
import static com.android.systemui.bubbles.BubbleDebugConfig.DEBUG_BUBBLE_EXPANDED_VIEW;
|
||||
import static com.android.systemui.bubbles.BubbleDebugConfig.TAG_BUBBLES;
|
||||
import static com.android.systemui.bubbles.BubbleDebugConfig.TAG_WITH_CLASS_NAME;
|
||||
@@ -338,7 +340,13 @@ public class BubbleExpandedView extends LinearLayout implements View.OnClickList
|
||||
? insets.getDisplayCutout().getSafeInsetBottom()
|
||||
: 0);
|
||||
final int insetsBottom = Math.max(activityViewBottom - keyboardTop, 0);
|
||||
mActivityView.setForwardedInsets(Insets.of(0, 0, 0, insetsBottom));
|
||||
|
||||
// TODO: Temporary hack to offset the view until we can properly inset Bubbles again.
|
||||
if (sNewInsetsMode == NEW_INSETS_MODE_FULL) {
|
||||
mStackView.animate().translationY(-insetsBottom);
|
||||
} else {
|
||||
mActivityView.setForwardedInsets(Insets.of(0, 0, 0, insetsBottom));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -766,7 +766,7 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer<
|
||||
* {@see AnimationFlags#PARENTS}
|
||||
* {@see AnimationFlags#CHILDREN}
|
||||
*/
|
||||
final boolean isAnimating(int flags) {
|
||||
boolean isAnimating(int flags) {
|
||||
if (mSurfaceAnimator.isAnimating()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -4970,6 +4970,18 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
|
||||
mWindowFrames.updateLastInsetValues();
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean isAnimating(int flags) {
|
||||
|
||||
// If we are an inset provider, all our animations are driven by the inset client, so we
|
||||
// aren't really animating.
|
||||
// TODO: Replace this with a proper animation type system.
|
||||
if (mControllableInsetProvider != null) {
|
||||
return false;
|
||||
}
|
||||
return super.isAnimating(flags);
|
||||
}
|
||||
|
||||
void startAnimation(Animation anim) {
|
||||
|
||||
// If we are an inset provider, all our animations are driven by the inset client.
|
||||
|
||||
Reference in New Issue
Block a user