Merge "Use the real behavior to decide the animation" into sc-dev
This commit is contained in:
@@ -128,6 +128,10 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
|
|||||||
*/
|
*/
|
||||||
@Appearance int getSystemBarsAppearance();
|
@Appearance int getSystemBarsAppearance();
|
||||||
|
|
||||||
|
default boolean isSystemBarsAppearanceControlled() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see WindowInsetsController#setSystemBarsBehavior
|
* @see WindowInsetsController#setSystemBarsBehavior
|
||||||
*/
|
*/
|
||||||
@@ -138,6 +142,10 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
|
|||||||
*/
|
*/
|
||||||
@Behavior int getSystemBarsBehavior();
|
@Behavior int getSystemBarsBehavior();
|
||||||
|
|
||||||
|
default boolean isSystemBarsBehaviorControlled() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Releases a surface and ensure that this is done after {@link #applySurfaceParams} has
|
* Releases a surface and ensure that this is done after {@link #applySurfaceParams} has
|
||||||
* finished applying params.
|
* finished applying params.
|
||||||
@@ -1520,6 +1528,10 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @Appearance int getSystemBarsAppearance() {
|
public @Appearance int getSystemBarsAppearance() {
|
||||||
|
if (!mHost.isSystemBarsAppearanceControlled()) {
|
||||||
|
// We only return the requested appearance, not the implied one.
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
return mHost.getSystemBarsAppearance();
|
return mHost.getSystemBarsAppearance();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1544,6 +1556,10 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @Behavior int getSystemBarsBehavior() {
|
public @Behavior int getSystemBarsBehavior() {
|
||||||
|
if (!mHost.isSystemBarsBehaviorControlled()) {
|
||||||
|
// We only return the requested behavior, not the implied one.
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
return mHost.getSystemBarsBehavior();
|
return mHost.getSystemBarsBehavior();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -180,13 +180,14 @@ public class ViewRootInsetsControllerHost implements InsetsController.Host {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getSystemBarsAppearance() {
|
public int getSystemBarsAppearance() {
|
||||||
if ((mViewRoot.mWindowAttributes.privateFlags & PRIVATE_FLAG_APPEARANCE_CONTROLLED) == 0) {
|
|
||||||
// We only return the requested appearance, not the implied one.
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
return mViewRoot.mWindowAttributes.insetsFlags.appearance;
|
return mViewRoot.mWindowAttributes.insetsFlags.appearance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isSystemBarsAppearanceControlled() {
|
||||||
|
return (mViewRoot.mWindowAttributes.privateFlags & PRIVATE_FLAG_APPEARANCE_CONTROLLED) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setSystemBarsBehavior(int behavior) {
|
public void setSystemBarsBehavior(int behavior) {
|
||||||
mViewRoot.mWindowAttributes.privateFlags |= PRIVATE_FLAG_BEHAVIOR_CONTROLLED;
|
mViewRoot.mWindowAttributes.privateFlags |= PRIVATE_FLAG_BEHAVIOR_CONTROLLED;
|
||||||
@@ -199,13 +200,14 @@ public class ViewRootInsetsControllerHost implements InsetsController.Host {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getSystemBarsBehavior() {
|
public int getSystemBarsBehavior() {
|
||||||
if ((mViewRoot.mWindowAttributes.privateFlags & PRIVATE_FLAG_BEHAVIOR_CONTROLLED) == 0) {
|
|
||||||
// We only return the requested behavior, not the implied one.
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
return mViewRoot.mWindowAttributes.insetsFlags.behavior;
|
return mViewRoot.mWindowAttributes.insetsFlags.behavior;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isSystemBarsBehaviorControlled() {
|
||||||
|
return (mViewRoot.mWindowAttributes.privateFlags & PRIVATE_FLAG_BEHAVIOR_CONTROLLED) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void releaseSurfaceControlFromRt(SurfaceControl surfaceControl) {
|
public void releaseSurfaceControlFromRt(SurfaceControl surfaceControl) {
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user