Merge "Show Letterbox background without rounded corners for transparent activities" into sc-v2-dev am: 44cd0e4664 am: 158b7ac4d3
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16599307 Change-Id: Ibd052e53cdda428ea3c232650c3ccc610a556b80
This commit is contained in:
@@ -175,7 +175,7 @@ final class LetterboxConfiguration {
|
||||
* Overrides corners raidus for activities presented in the letterbox mode. If given value < 0,
|
||||
* both it and a value of {@link
|
||||
* com.android.internal.R.integer.config_letterboxActivityCornersRadius} will be ignored and
|
||||
* and corners of the activity won't be rounded.
|
||||
* corners of the activity won't be rounded.
|
||||
*/
|
||||
void setLetterboxActivityCornersRadius(int cornersRadius) {
|
||||
mLetterboxActivityCornersRadius = cornersRadius;
|
||||
|
||||
@@ -150,7 +150,7 @@ final class LetterboxUiController {
|
||||
if (mLetterbox == null) {
|
||||
mLetterbox = new Letterbox(() -> mActivityRecord.makeChildSurface(null),
|
||||
mActivityRecord.mWmService.mTransactionFactory,
|
||||
mLetterboxConfiguration::isLetterboxActivityCornersRounded,
|
||||
this::shouldLetterboxHaveRoundedCorners,
|
||||
this::getLetterboxBackgroundColor,
|
||||
this::hasWallpaperBackgroudForLetterbox,
|
||||
this::getLetterboxWallpaperBlurRadius,
|
||||
@@ -175,6 +175,13 @@ final class LetterboxUiController {
|
||||
}
|
||||
}
|
||||
|
||||
private boolean shouldLetterboxHaveRoundedCorners() {
|
||||
// TODO(b/214030873): remove once background is drawn for transparent activities
|
||||
// Letterbox shouldn't have rounded corners if the activity is transparent
|
||||
return mLetterboxConfiguration.isLetterboxActivityCornersRounded()
|
||||
&& mActivityRecord.fillsParent();
|
||||
}
|
||||
|
||||
float getHorizontalPositionMultiplier(Configuration parentConfiguration) {
|
||||
// Don't check resolved configuration because it may not be updated yet during
|
||||
// configuration change.
|
||||
@@ -257,8 +264,6 @@ final class LetterboxUiController {
|
||||
@VisibleForTesting
|
||||
boolean shouldShowLetterboxUi(WindowState mainWindow) {
|
||||
return isSurfaceReadyAndVisible(mainWindow) && mainWindow.areAppWindowBoundsLetterboxed()
|
||||
// Check that an activity isn't transparent.
|
||||
&& mActivityRecord.fillsParent()
|
||||
// Check for FLAG_SHOW_WALLPAPER explicitly instead of using
|
||||
// WindowContainer#showWallpaper because the later will return true when this
|
||||
// activity is using blurred wallpaper for letterbox backgroud.
|
||||
|
||||
Reference in New Issue
Block a user