summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author archisha <archisha@google.com> 2024-11-27 08:31:00 +0000
committer Archisha Baranwal <archisha@google.com> 2025-03-16 23:13:50 -0700
commit9e81f8744520deb149ff06d1c29ed41dd9638070 (patch)
treee322bc4b1eb980ba360a16f70d761b5bdda1d04b
parent308d8b6c6f804cf878f1cc9528c72a2c5ad04a86 (diff)
Change ViewCaptureAwareWindowManager to extend WindowManagerImpl
directly. Bug: 364461638 Flag: com.android.systemui.enable_view_capture_tracing Test: tested locally Change-Id: I2652bc5918db5b4de8aa39229ce93d7b6abfc287
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/data/repository/PrivacyDotWindowControllerStore.kt5
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/events/PrivacyDotWindowController.kt10
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/window/StatusBarWindowController.kt4
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/window/StatusBarWindowControllerImpl.java9
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/window/StatusBarWindowControllerStore.kt10
-rw-r--r--packages/SystemUI/tests/utils/src/com/android/app/viewcapture/ViewCaptureAwareWindowManagerKosmos.kt36
-rw-r--r--packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/data/repository/PrivacyDotWindowControllerStoreKosmos.kt10
-rw-r--r--packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/events/PrivacyDotWindowControllerKosmos.kt4
-rw-r--r--packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/window/FakeStatusBarWindowControllerFactory.kt4
-rw-r--r--packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/window/StatusBarWindowControllerKosmos.kt4
-rw-r--r--packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/window/StatusBarWindowControllerStoreKosmos.kt11
11 files changed, 21 insertions, 86 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/PrivacyDotWindowControllerStore.kt b/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/PrivacyDotWindowControllerStore.kt
index 7fc5e8abe904..587d80fc3848 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/PrivacyDotWindowControllerStore.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/PrivacyDotWindowControllerStore.kt
@@ -18,7 +18,6 @@ package com.android.systemui.statusbar.data.repository
import android.view.Display
import android.view.WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL
-import com.android.app.viewcapture.ViewCaptureAwareWindowManager
import com.android.systemui.CoreStartable
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Background
@@ -48,7 +47,6 @@ constructor(
private val windowControllerFactory: PrivacyDotWindowController.Factory,
private val displayWindowPropertiesRepository: DisplayWindowPropertiesRepository,
private val privacyDotViewControllerStore: PrivacyDotViewControllerStore,
- private val viewCaptureAwareWindowManagerFactory: ViewCaptureAwareWindowManager.Factory,
) :
PrivacyDotWindowControllerStore,
StatusBarPerDisplayStoreImpl<PrivacyDotWindowController>(
@@ -72,8 +70,7 @@ constructor(
return windowControllerFactory.create(
displayId = displayId,
privacyDotViewController = privacyDotViewController,
- viewCaptureAwareWindowManager =
- viewCaptureAwareWindowManagerFactory.create(displayWindowProperties.windowManager),
+ windowManager = displayWindowProperties.windowManager,
inflater = displayWindowProperties.layoutInflater,
)
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/events/PrivacyDotWindowController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/events/PrivacyDotWindowController.kt
index e2bcfb752e6c..7999ca9fd3e9 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/events/PrivacyDotWindowController.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/events/PrivacyDotWindowController.kt
@@ -24,10 +24,10 @@ import android.view.DisplayCutout.BOUNDS_POSITION_RIGHT
import android.view.DisplayCutout.BOUNDS_POSITION_TOP
import android.view.LayoutInflater
import android.view.View
+import android.view.WindowManager
import android.view.WindowManager.InvalidDisplayException
import android.view.WindowManager.LayoutParams.WRAP_CONTENT
import android.widget.FrameLayout
-import com.android.app.viewcapture.ViewCaptureAwareWindowManager
import com.android.systemui.ScreenDecorations
import com.android.systemui.ScreenDecorationsThread
import com.android.systemui.decor.DecorProvider
@@ -54,7 +54,7 @@ class PrivacyDotWindowController
constructor(
@Assisted private val displayId: Int,
@Assisted private val privacyDotViewController: PrivacyDotViewController,
- @Assisted private val viewCaptureAwareWindowManager: ViewCaptureAwareWindowManager,
+ @Assisted private val windowManager: WindowManager,
@Assisted private val inflater: LayoutInflater,
@ScreenDecorationsThread private val uiExecutor: Executor,
private val dotFactory: PrivacyDotDecorProviderFactory,
@@ -106,7 +106,7 @@ constructor(
try {
// Wrapping this in a try/catch to avoid crashes when a display is instantly removed
// after being added, and initialization hasn't finished yet.
- viewCaptureAwareWindowManager.addView(rootView, params)
+ windowManager.addView(rootView, params)
} catch (e: InvalidDisplayException) {
Log.e(
TAG,
@@ -118,7 +118,7 @@ constructor(
}
fun stop() {
- dotViews.forEach { viewCaptureAwareWindowManager.removeView(it) }
+ dotViews.forEach { windowManager.removeView(it) }
}
@AssistedFactory
@@ -126,7 +126,7 @@ constructor(
fun create(
displayId: Int,
privacyDotViewController: PrivacyDotViewController,
- viewCaptureAwareWindowManager: ViewCaptureAwareWindowManager,
+ windowManager: WindowManager,
inflater: LayoutInflater,
): PrivacyDotWindowController
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/window/StatusBarWindowController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/window/StatusBarWindowController.kt
index ecfcb29a9944..eae310ed169b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/window/StatusBarWindowController.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/window/StatusBarWindowController.kt
@@ -19,7 +19,7 @@ package com.android.systemui.statusbar.window
import android.content.Context
import android.view.View
import android.view.ViewGroup
-import com.android.app.viewcapture.ViewCaptureAwareWindowManager
+import android.view.WindowManager
import com.android.systemui.animation.ActivityTransitionAnimator
import com.android.systemui.fragments.FragmentHostManager
import com.android.systemui.statusbar.data.repository.StatusBarConfigurationController
@@ -84,7 +84,7 @@ interface StatusBarWindowController {
fun interface Factory {
fun create(
context: Context,
- viewCaptureAwareWindowManager: ViewCaptureAwareWindowManager,
+ windowManager: WindowManager,
statusBarConfigurationController: StatusBarConfigurationController,
contentInsetsProvider: StatusBarContentInsetsProvider,
): StatusBarWindowController
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/window/StatusBarWindowControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/window/StatusBarWindowControllerImpl.java
index 25972ac2bedf..77cd58111b94 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/window/StatusBarWindowControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/window/StatusBarWindowControllerImpl.java
@@ -47,7 +47,6 @@ import android.view.WindowManager;
import androidx.annotation.NonNull;
-import com.android.app.viewcapture.ViewCaptureAwareWindowManager;
import com.android.internal.policy.SystemBarUtils;
import com.android.systemui.animation.ActivityTransitionAnimator;
import com.android.systemui.animation.DelegateTransitionAnimatorController;
@@ -78,7 +77,7 @@ public class StatusBarWindowControllerImpl implements StatusBarWindowController
private static final boolean DEBUG = false;
private final Context mContext;
- private final ViewCaptureAwareWindowManager mWindowManager;
+ private final WindowManager mWindowManager;
private final StatusBarConfigurationController mStatusBarConfigurationController;
private final IWindowManager mIWindowManager;
private final StatusBarContentInsetsProvider mContentInsetsProvider;
@@ -100,7 +99,7 @@ public class StatusBarWindowControllerImpl implements StatusBarWindowController
public StatusBarWindowControllerImpl(
@Assisted Context context,
@InternalWindowViewInflater StatusBarWindowViewInflater statusBarWindowViewInflater,
- @Assisted ViewCaptureAwareWindowManager viewCaptureAwareWindowManager,
+ @Assisted WindowManager windowManager,
@Assisted StatusBarConfigurationController statusBarConfigurationController,
IWindowManager iWindowManager,
@Assisted StatusBarContentInsetsProvider contentInsetsProvider,
@@ -108,7 +107,7 @@ public class StatusBarWindowControllerImpl implements StatusBarWindowController
Optional<UnfoldTransitionProgressProvider> unfoldTransitionProgressProvider,
@Main Executor mainExecutor) {
mContext = context;
- mWindowManager = viewCaptureAwareWindowManager;
+ mWindowManager = windowManager;
mStatusBarConfigurationController = statusBarConfigurationController;
mIWindowManager = iWindowManager;
mContentInsetsProvider = contentInsetsProvider;
@@ -406,7 +405,7 @@ public class StatusBarWindowControllerImpl implements StatusBarWindowController
@Override
StatusBarWindowControllerImpl create(
@NonNull Context context,
- @NonNull ViewCaptureAwareWindowManager viewCaptureAwareWindowManager,
+ @NonNull WindowManager windowManager,
@NonNull StatusBarConfigurationController statusBarConfigurationController,
@NonNull StatusBarContentInsetsProvider contentInsetsProvider);
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/window/StatusBarWindowControllerStore.kt b/packages/SystemUI/src/com/android/systemui/statusbar/window/StatusBarWindowControllerStore.kt
index 39afc38dad11..74c028a8c7ae 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/window/StatusBarWindowControllerStore.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/window/StatusBarWindowControllerStore.kt
@@ -18,7 +18,6 @@ package com.android.systemui.statusbar.window
import android.content.Context
import android.view.WindowManager
-import com.android.app.viewcapture.ViewCaptureAwareWindowManager
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Background
import com.android.systemui.display.data.repository.DisplayRepository
@@ -42,7 +41,6 @@ constructor(
@Background backgroundApplicationScope: CoroutineScope,
private val controllerFactory: StatusBarWindowController.Factory,
private val displayWindowPropertiesRepository: DisplayWindowPropertiesRepository,
- private val viewCaptureAwareWindowManagerFactory: ViewCaptureAwareWindowManager.Factory,
private val statusBarConfigurationControllerStore: StatusBarConfigurationControllerStore,
private val statusBarContentInsetsProviderStore: StatusBarContentInsetsProviderStore,
displayRepository: DisplayRepository,
@@ -67,11 +65,9 @@ constructor(
statusBarConfigurationControllerStore.forDisplay(displayId) ?: return null
val contentInsetsProvider =
statusBarContentInsetsProviderStore.forDisplay(displayId) ?: return null
- val viewCaptureAwareWindowManager =
- viewCaptureAwareWindowManagerFactory.create(statusBarDisplayContext.windowManager)
return controllerFactory.create(
statusBarDisplayContext.context,
- viewCaptureAwareWindowManager,
+ statusBarDisplayContext.windowManager,
statusBarConfigurationController,
contentInsetsProvider,
)
@@ -89,7 +85,7 @@ class SingleDisplayStatusBarWindowControllerStore
@Inject
constructor(
context: Context,
- viewCaptureAwareWindowManager: ViewCaptureAwareWindowManager,
+ windowManager: WindowManager,
factory: StatusBarWindowControllerImpl.Factory,
statusBarConfigurationControllerStore: StatusBarConfigurationControllerStore,
statusBarContentInsetsProviderStore: StatusBarContentInsetsProviderStore,
@@ -98,7 +94,7 @@ constructor(
PerDisplayStore<StatusBarWindowController> by SingleDisplayStore(
factory.create(
context,
- viewCaptureAwareWindowManager,
+ windowManager,
statusBarConfigurationControllerStore.defaultDisplay,
statusBarContentInsetsProviderStore.defaultDisplay,
)
diff --git a/packages/SystemUI/tests/utils/src/com/android/app/viewcapture/ViewCaptureAwareWindowManagerKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/app/viewcapture/ViewCaptureAwareWindowManagerKosmos.kt
deleted file mode 100644
index 021c7bbb44cd..000000000000
--- a/packages/SystemUI/tests/utils/src/com/android/app/viewcapture/ViewCaptureAwareWindowManagerKosmos.kt
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.app.viewcapture
-
-import android.view.fakeWindowManager
-import com.android.systemui.kosmos.Kosmos
-import org.mockito.kotlin.mock
-
-val Kosmos.mockViewCaptureAwareWindowManager by
- Kosmos.Fixture { mock<ViewCaptureAwareWindowManager>() }
-
-val Kosmos.realCaptureAwareWindowManager by
- Kosmos.Fixture {
- ViewCaptureAwareWindowManager(
- fakeWindowManager,
- lazyViewCapture = lazy { mock<ViewCapture>() },
- isViewCaptureEnabled = false,
- )
- }
-
-var Kosmos.viewCaptureAwareWindowManager: ViewCaptureAwareWindowManager by
- Kosmos.Fixture { mockViewCaptureAwareWindowManager }
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/data/repository/PrivacyDotWindowControllerStoreKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/data/repository/PrivacyDotWindowControllerStoreKosmos.kt
index aae32cfaafa6..f83fcb32aafe 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/data/repository/PrivacyDotWindowControllerStoreKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/data/repository/PrivacyDotWindowControllerStoreKosmos.kt
@@ -16,8 +16,6 @@
package com.android.systemui.statusbar.data.repository
-import android.view.WindowManager
-import com.android.app.viewcapture.ViewCaptureAwareWindowManager
import com.android.systemui.display.data.repository.displayRepository
import com.android.systemui.display.data.repository.displayWindowPropertiesRepository
import com.android.systemui.kosmos.Kosmos
@@ -35,14 +33,6 @@ val Kosmos.privacyDotWindowControllerStoreImpl by
windowControllerFactory = { _, _, _, _ -> mock() },
displayWindowPropertiesRepository = displayWindowPropertiesRepository,
privacyDotViewControllerStore = privacyDotViewControllerStore,
- viewCaptureAwareWindowManagerFactory =
- object : ViewCaptureAwareWindowManager.Factory {
- override fun create(
- windowManager: WindowManager
- ): ViewCaptureAwareWindowManager {
- return mock()
- }
- },
)
}
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/events/PrivacyDotWindowControllerKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/events/PrivacyDotWindowControllerKosmos.kt
index c73838708a7a..da4027e46783 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/events/PrivacyDotWindowControllerKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/events/PrivacyDotWindowControllerKosmos.kt
@@ -17,8 +17,8 @@
package com.android.systemui.statusbar.events
import android.content.testableContext
+import android.view.fakeWindowManager
import android.view.layoutInflater
-import com.android.app.viewcapture.realCaptureAwareWindowManager
import com.android.systemui.concurrency.fakeExecutor
import com.android.systemui.decor.privacyDotDecorProviderFactory
import com.android.systemui.kosmos.Kosmos
@@ -28,7 +28,7 @@ var Kosmos.privacyDotWindowController by
PrivacyDotWindowController(
testableContext.displayId,
privacyDotViewController,
- realCaptureAwareWindowManager,
+ fakeWindowManager,
layoutInflater,
fakeExecutor,
privacyDotDecorProviderFactory,
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/window/FakeStatusBarWindowControllerFactory.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/window/FakeStatusBarWindowControllerFactory.kt
index 3a19547f0713..f20fb3bf1779 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/window/FakeStatusBarWindowControllerFactory.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/window/FakeStatusBarWindowControllerFactory.kt
@@ -17,14 +17,14 @@
package com.android.systemui.statusbar.window
import android.content.Context
-import com.android.app.viewcapture.ViewCaptureAwareWindowManager
+import android.view.WindowManager
import com.android.systemui.statusbar.data.repository.StatusBarConfigurationController
import com.android.systemui.statusbar.layout.StatusBarContentInsetsProvider
class FakeStatusBarWindowControllerFactory : StatusBarWindowController.Factory {
override fun create(
context: Context,
- viewCaptureAwareWindowManager: ViewCaptureAwareWindowManager,
+ windowManager: WindowManager,
statusBarConfigurationController: StatusBarConfigurationController,
contentInsetsProvider: StatusBarContentInsetsProvider,
) = FakeStatusBarWindowController()
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/window/StatusBarWindowControllerKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/window/StatusBarWindowControllerKosmos.kt
index f595aef41e2d..b0214769362f 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/window/StatusBarWindowControllerKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/window/StatusBarWindowControllerKosmos.kt
@@ -17,8 +17,8 @@
package com.android.systemui.statusbar.window
import android.content.testableContext
+import android.view.fakeWindowManager
import android.view.windowManagerService
-import com.android.app.viewcapture.realCaptureAwareWindowManager
import com.android.systemui.concurrency.fakeExecutor
import com.android.systemui.fragments.fragmentService
import com.android.systemui.kosmos.Kosmos
@@ -33,7 +33,7 @@ val Kosmos.statusBarWindowControllerImpl by
StatusBarWindowControllerImpl(
testableContext,
statusBarWindowViewInflater,
- realCaptureAwareWindowManager,
+ fakeWindowManager,
statusBarConfigurationController,
windowManagerService,
statusBarContentInsetsProvider,
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/window/StatusBarWindowControllerStoreKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/window/StatusBarWindowControllerStoreKosmos.kt
index 4941ceb7991d..0f9310376b2a 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/window/StatusBarWindowControllerStoreKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/window/StatusBarWindowControllerStoreKosmos.kt
@@ -16,9 +16,6 @@
package com.android.systemui.statusbar.window
-import android.view.WindowManager
-import com.android.app.viewcapture.ViewCaptureAwareWindowManager
-import com.android.app.viewcapture.realCaptureAwareWindowManager
import com.android.systemui.display.data.repository.displayRepository
import com.android.systemui.display.data.repository.displayWindowPropertiesRepository
import com.android.systemui.kosmos.Kosmos
@@ -33,14 +30,6 @@ val Kosmos.multiDisplayStatusBarWindowControllerStore by
backgroundApplicationScope = applicationCoroutineScope,
controllerFactory = { _, _, _, _ -> mock() },
displayWindowPropertiesRepository = displayWindowPropertiesRepository,
- viewCaptureAwareWindowManagerFactory =
- object : ViewCaptureAwareWindowManager.Factory {
- override fun create(
- windowManager: WindowManager
- ): ViewCaptureAwareWindowManager {
- return realCaptureAwareWindowManager
- }
- },
statusBarConfigurationControllerStore = statusBarConfigurationControllerStore,
statusBarContentInsetsProviderStore = statusBarContentInsetsProviderStore,
displayRepository = displayRepository,