Merge "Fix TaskView cropping for mediaprojection" into tm-qpr-dev am: 1312341210 am: 783d8bd468
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21751162 Change-Id: Id0a17c4b1c0d76ccceb73cf74af064b3d3220fd3 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -19,12 +19,11 @@ package com.android.systemui.mediaprojection.appselector.view
|
||||
import android.content.Context
|
||||
import android.content.res.Configuration
|
||||
import android.graphics.Rect
|
||||
import android.view.WindowInsets.Type
|
||||
import android.view.WindowManager
|
||||
import com.android.internal.R as AndroidR
|
||||
import com.android.systemui.mediaprojection.appselector.MediaProjectionAppSelectorScope
|
||||
import com.android.systemui.mediaprojection.appselector.view.TaskPreviewSizeProvider.TaskPreviewSizeListener
|
||||
import com.android.systemui.shared.recents.utilities.Utilities.isLargeScreen
|
||||
import com.android.systemui.shared.system.QuickStepContract
|
||||
import com.android.systemui.statusbar.policy.CallbackController
|
||||
import com.android.systemui.statusbar.policy.ConfigurationController
|
||||
import com.android.systemui.statusbar.policy.ConfigurationController.ConfigurationListener
|
||||
@@ -62,17 +61,12 @@ constructor(
|
||||
val width = windowMetrics.bounds.width()
|
||||
var height = maximumWindowHeight
|
||||
|
||||
// TODO(b/271410803): Read isTransientTaskbar from Launcher
|
||||
val isLargeScreen = isLargeScreen(context)
|
||||
val isTransientTaskbar =
|
||||
QuickStepContract.isGesturalMode(
|
||||
context.resources.getInteger(
|
||||
com.android.internal.R.integer.config_navBarInteractionMode
|
||||
)
|
||||
)
|
||||
if (isLargeScreen && !isTransientTaskbar) {
|
||||
if (isLargeScreen) {
|
||||
val taskbarSize =
|
||||
context.resources.getDimensionPixelSize(AndroidR.dimen.taskbar_frame_height)
|
||||
windowManager.currentWindowMetrics.windowInsets
|
||||
.getInsets(Type.tappableElement())
|
||||
.bottom
|
||||
height -= taskbarSize
|
||||
}
|
||||
|
||||
|
||||
@@ -19,12 +19,14 @@ package com.android.systemui.mediaprojection.appselector.view
|
||||
import android.content.Context
|
||||
import android.content.res.Configuration
|
||||
import android.content.res.Resources
|
||||
import android.graphics.Insets
|
||||
import android.graphics.Rect
|
||||
import android.util.DisplayMetrics.DENSITY_DEFAULT
|
||||
import android.view.WindowInsets
|
||||
import android.view.WindowManager
|
||||
import android.view.WindowMetrics
|
||||
import androidx.core.view.WindowInsetsCompat.Type
|
||||
import androidx.test.filters.SmallTest
|
||||
import com.android.internal.R
|
||||
import com.android.systemui.SysuiTestCase
|
||||
import com.android.systemui.mediaprojection.appselector.view.TaskPreviewSizeProvider.TaskPreviewSizeListener
|
||||
import com.android.systemui.statusbar.policy.FakeConfigurationController
|
||||
@@ -94,7 +96,13 @@ class TaskPreviewSizeProviderTest : SysuiTestCase() {
|
||||
}
|
||||
|
||||
private fun givenTaskbarSize(size: Int) {
|
||||
whenever(resources.getDimensionPixelSize(eq(R.dimen.taskbar_frame_height))).thenReturn(size)
|
||||
val windowInsets =
|
||||
WindowInsets.Builder()
|
||||
.setInsets(Type.tappableElement(), Insets.of(Rect(0, 0, 0, size)))
|
||||
.build()
|
||||
val windowMetrics = WindowMetrics(windowManager.maximumWindowMetrics.bounds, windowInsets)
|
||||
whenever(windowManager.maximumWindowMetrics).thenReturn(windowMetrics)
|
||||
whenever(windowManager.currentWindowMetrics).thenReturn(windowMetrics)
|
||||
}
|
||||
|
||||
private fun givenDisplay(width: Int, height: Int, isTablet: Boolean = false) {
|
||||
|
||||
Reference in New Issue
Block a user