summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Matt Pietal <mpietal@google.com> 2023-09-05 16:54:44 +0000
committer Matt Pietal <mpietal@google.com> 2023-09-08 00:12:17 +0000
commitda20fdfb9b9044e764d2f0932f60aca1b1189401 (patch)
treefcc6e83178f49ca881f2b6999c76113beab8799c
parent91f73c2169c055898d1f83f6f2ad168c6218fec5 (diff)
Separate AOD shelf from status view
Create a new section for the aod shelf, and align it in different locations based on split shade. Also use a placeholder view in order to get proper sizes for NSSL. Bug: 288242803 Fixes: 288237177 Test: atest SystemUITests Test: all migration flags off/on Change-Id: Ic0438db1f60e34908c7db56f4cc4b8f6f444be4a
-rw-r--r--packages/SystemUI/res/values/ids.xml5
-rw-r--r--packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java22
-rw-r--r--packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardRootViewBinder.kt9
-rw-r--r--packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/blueprints/DefaultKeyguardBlueprint.kt3
-rw-r--r--packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/blueprints/ShortcutsBesideUdfpsKeyguardBlueprint.kt3
-rw-r--r--packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/AodNotificationIconsSection.kt106
-rw-r--r--packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/DefaultLockIconSection.kt8
-rw-r--r--packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/DefaultNotificationStackScrollLayoutSection.kt58
-rw-r--r--packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/DefaultStatusViewSection.kt5
-rw-r--r--packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchControllerBaseTest.java2
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/keyguard/ui/view/layout/blueprints/DefaultKeyguardBlueprintTest.kt4
11 files changed, 199 insertions, 26 deletions
diff --git a/packages/SystemUI/res/values/ids.xml b/packages/SystemUI/res/values/ids.xml
index d8c808054fff..e48901ee0bb5 100644
--- a/packages/SystemUI/res/values/ids.xml
+++ b/packages/SystemUI/res/values/ids.xml
@@ -207,13 +207,14 @@
<!-- keyboard backlight indicator-->
<item type="id" name="backlight_icon" />
+ <!-- IDs for use in the keyguard/lockscreen scene -->
<item type="id" name="keyguard_root_view" />
<item type="id" name="keyguard_indication_area" />
<item type="id" name="keyguard_indication_text" />
<item type="id" name="keyguard_indication_text_bottom" />
<item type="id" name="nssl_guideline" />
- <item type="id" name="nssl_top_barrier" />
- <item type="id" name="nssl_bottom_barrier" />
+ <item type="id" name="nssl_placeholder" />
+ <item type="id" name="aod_notification_icon_container" />
<item type="id" name="split_shade_guideline" />
<item type="id" name="lock_icon" />
<item type="id" name="lock_icon_bg" />
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java
index d89796005e25..11f95895338a 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java
@@ -18,7 +18,6 @@ package com.android.keyguard;
import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
-
import static com.android.keyguard.KeyguardClockSwitch.LARGE;
import static com.android.keyguard.KeyguardClockSwitch.SMALL;
import static com.android.systemui.flags.Flags.LOCKSCREEN_WALLPAPER_DREAM_ENABLED;
@@ -42,6 +41,7 @@ import com.android.systemui.R;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.flags.FeatureFlags;
+import com.android.systemui.flags.Flags;
import com.android.systemui.keyguard.KeyguardUnlockAnimationController;
import com.android.systemui.keyguard.domain.interactor.KeyguardInteractor;
import com.android.systemui.log.LogBuffer;
@@ -240,7 +240,9 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS
View nic = mView.findViewById(
R.id.left_aligned_notification_icon_container);
- nic.setVisibility(View.GONE);
+ if (nic != null) {
+ nic.setVisibility(View.GONE);
+ }
}
@Override
@@ -307,7 +309,11 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS
}
int getNotificationIconAreaHeight() {
- return mNotificationIconAreaController.getHeight();
+ if (mFeatureFlags.isEnabled(Flags.MIGRATE_KEYGUARD_STATUS_VIEW)) {
+ return 0;
+ } else {
+ return mNotificationIconAreaController.getHeight();
+ }
}
@Override
@@ -518,10 +524,12 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS
}
private void updateAodIcons() {
- NotificationIconContainer nic = (NotificationIconContainer)
- mView.findViewById(
- com.android.systemui.R.id.left_aligned_notification_icon_container);
- mNotificationIconAreaController.setupAodIcons(nic);
+ if (!mFeatureFlags.isEnabled(Flags.MIGRATE_KEYGUARD_STATUS_VIEW)) {
+ NotificationIconContainer nic = (NotificationIconContainer)
+ mView.findViewById(
+ com.android.systemui.R.id.left_aligned_notification_icon_container);
+ mNotificationIconAreaController.setupAodIcons(nic);
+ }
}
private void setClock(ClockController clock) {
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardRootViewBinder.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardRootViewBinder.kt
index 8b0b0ae543a7..9503f2c75052 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardRootViewBinder.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardRootViewBinder.kt
@@ -177,14 +177,13 @@ object KeyguardRootViewBinder {
oldRight: Int,
oldBottom: Int
) {
- val ksv = v.findViewById(R.id.keyguard_status_view) as View?
- val lockIcon = v.findViewById(R.id.lock_icon_view) as View?
+ val nsslPlaceholder = v.findViewById(R.id.nssl_placeholder) as View?
- if (ksv != null && lockIcon != null) {
+ if (nsslPlaceholder != null) {
// After layout, ensure the notifications are positioned correctly
viewModel.onSharedNotificationContainerPositionChanged(
- ksv!!.top.toFloat() + ksv!!.height,
- lockIcon!!.y
+ nsslPlaceholder.top.toFloat(),
+ nsslPlaceholder.bottom.toFloat(),
)
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/blueprints/DefaultKeyguardBlueprint.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/blueprints/DefaultKeyguardBlueprint.kt
index 85b2b82cd44a..d32be6ee2c4b 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/blueprints/DefaultKeyguardBlueprint.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/blueprints/DefaultKeyguardBlueprint.kt
@@ -22,6 +22,7 @@ import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.flags.FeatureFlags
import com.android.systemui.flags.Flags
import com.android.systemui.keyguard.shared.model.KeyguardBlueprint
+import com.android.systemui.keyguard.ui.view.layout.sections.AodNotificationIconsSection
import com.android.systemui.keyguard.ui.view.layout.sections.DefaultAmbientIndicationAreaSection
import com.android.systemui.keyguard.ui.view.layout.sections.DefaultIndicationAreaSection
import com.android.systemui.keyguard.ui.view.layout.sections.DefaultLockIconSection
@@ -50,6 +51,7 @@ constructor(
defaultStatusViewSection: DefaultStatusViewSection,
defaultNotificationStackScrollLayoutSection: DefaultNotificationStackScrollLayoutSection,
splitShadeGuidelines: SplitShadeGuidelines,
+ aodNotificationIconsSection: AodNotificationIconsSection,
private val featureFlags: FeatureFlags,
) : KeyguardBlueprint {
override val id: String = DEFAULT
@@ -64,6 +66,7 @@ constructor(
defaultStatusViewSection,
defaultNotificationStackScrollLayoutSection,
splitShadeGuidelines,
+ aodNotificationIconsSection,
)
override fun addViews(
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/blueprints/ShortcutsBesideUdfpsKeyguardBlueprint.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/blueprints/ShortcutsBesideUdfpsKeyguardBlueprint.kt
index bb3af6cc86a2..79a97fbd19df 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/blueprints/ShortcutsBesideUdfpsKeyguardBlueprint.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/blueprints/ShortcutsBesideUdfpsKeyguardBlueprint.kt
@@ -20,6 +20,7 @@ package com.android.systemui.keyguard.ui.view.layout.blueprints
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.keyguard.shared.model.KeyguardBlueprint
import com.android.systemui.keyguard.ui.view.layout.sections.AlignShortcutsToUdfpsSection
+import com.android.systemui.keyguard.ui.view.layout.sections.AodNotificationIconsSection
import com.android.systemui.keyguard.ui.view.layout.sections.DefaultAmbientIndicationAreaSection
import com.android.systemui.keyguard.ui.view.layout.sections.DefaultIndicationAreaSection
import com.android.systemui.keyguard.ui.view.layout.sections.DefaultLockIconSection
@@ -42,6 +43,7 @@ constructor(
defaultStatusViewSection: DefaultStatusViewSection,
splitShadeGuidelines: SplitShadeGuidelines,
defaultNotificationStackScrollLayoutSection: DefaultNotificationStackScrollLayoutSection,
+ aodNotificationIconsSection: AodNotificationIconsSection,
) : KeyguardBlueprint {
override val id: String = SHORTCUTS_BESIDE_UDFPS
@@ -55,6 +57,7 @@ constructor(
defaultStatusViewSection,
defaultNotificationStackScrollLayoutSection,
splitShadeGuidelines,
+ aodNotificationIconsSection,
)
companion object {
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/AodNotificationIconsSection.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/AodNotificationIconsSection.kt
new file mode 100644
index 000000000000..ac11ba5b5ec6
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/AodNotificationIconsSection.kt
@@ -0,0 +1,106 @@
+/*
+ * Copyright (C) 2023 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.systemui.keyguard.ui.view.layout.sections
+
+import android.content.Context
+import android.view.View
+import androidx.constraintlayout.widget.ConstraintLayout
+import androidx.constraintlayout.widget.ConstraintSet
+import androidx.constraintlayout.widget.ConstraintSet.BOTTOM
+import androidx.constraintlayout.widget.ConstraintSet.END
+import androidx.constraintlayout.widget.ConstraintSet.PARENT_ID
+import androidx.constraintlayout.widget.ConstraintSet.START
+import androidx.constraintlayout.widget.ConstraintSet.TOP
+import com.android.systemui.R
+import com.android.systemui.flags.FeatureFlags
+import com.android.systemui.flags.Flags
+import com.android.systemui.keyguard.shared.model.KeyguardSection
+import com.android.systemui.shade.NotificationPanelView
+import com.android.systemui.statusbar.phone.NotificationIconAreaController
+import com.android.systemui.statusbar.phone.NotificationIconContainer
+import javax.inject.Inject
+
+class AodNotificationIconsSection
+@Inject
+constructor(
+ private val context: Context,
+ private val featureFlags: FeatureFlags,
+ private val notificationPanelView: NotificationPanelView,
+ private val notificationIconAreaController: NotificationIconAreaController,
+) : KeyguardSection() {
+ private val nicId = R.id.aod_notification_icon_container
+ private lateinit var nic: NotificationIconContainer
+
+ override fun addViews(constraintLayout: ConstraintLayout) {
+ if (!featureFlags.isEnabled(Flags.MIGRATE_KEYGUARD_STATUS_VIEW)) {
+ return
+ }
+ nic =
+ NotificationIconContainer(context, null).apply {
+ id = nicId
+ setPaddingRelative(
+ resources.getDimensionPixelSize(R.dimen.below_clock_padding_start_icons),
+ 0,
+ 0,
+ 0
+ )
+ setVisibility(View.INVISIBLE)
+ }
+
+ constraintLayout.addView(nic)
+ }
+
+ override fun bindData(constraintLayout: ConstraintLayout) {
+ if (!featureFlags.isEnabled(Flags.MIGRATE_KEYGUARD_STATUS_VIEW)) {
+ return
+ }
+
+ notificationIconAreaController.setupAodIcons(nic)
+ }
+
+ override fun applyConstraints(constraintSet: ConstraintSet) {
+ if (!featureFlags.isEnabled(Flags.MIGRATE_KEYGUARD_STATUS_VIEW)) {
+ return
+ }
+ val bottomMargin =
+ context.resources.getDimensionPixelSize(R.dimen.keyguard_status_view_bottom_margin)
+
+ val useSplitShade = context.resources.getBoolean(R.bool.config_use_split_notification_shade)
+
+ val topAlignment =
+ if (useSplitShade) {
+ TOP
+ } else {
+ BOTTOM
+ }
+
+ constraintSet.apply {
+ connect(nicId, TOP, R.id.keyguard_status_view, topAlignment, bottomMargin)
+ connect(nicId, START, PARENT_ID, START)
+ connect(nicId, END, PARENT_ID, END)
+ constrainHeight(
+ nicId,
+ context.resources.getDimensionPixelSize(R.dimen.notification_shelf_height)
+ )
+ }
+ }
+
+ override fun removeViews(constraintLayout: ConstraintLayout) {
+ constraintLayout.removeView(nicId)
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/DefaultLockIconSection.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/DefaultLockIconSection.kt
index 3e91d9336b13..9c6e953ad2d5 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/DefaultLockIconSection.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/DefaultLockIconSection.kt
@@ -54,15 +54,15 @@ constructor(
if (!featureFlags.isEnabled(Flags.MIGRATE_LOCK_ICON)) {
return
}
- notificationPanelView.findViewById<View>(R.id.lock_icon_view).let {
+ notificationPanelView.findViewById<View>(lockIconViewId).let {
notificationPanelView.removeView(it)
}
- val view = LockIconView(context, null).apply { id = R.id.lock_icon_view }
+ val view = LockIconView(context, null).apply { id = lockIconViewId }
constraintLayout.addView(view)
}
override fun bindData(constraintLayout: ConstraintLayout) {
- constraintLayout.findViewById<LockIconView?>(R.id.lock_icon_view)?.let {
+ constraintLayout.findViewById<LockIconView?>(lockIconViewId)?.let {
lockIconViewController.setLockIconView(it)
}
}
@@ -97,7 +97,7 @@ constructor(
}
override fun removeViews(constraintLayout: ConstraintLayout) {
- constraintLayout.removeView(R.id.lock_icon_view)
+ constraintLayout.removeView(lockIconViewId)
}
@VisibleForTesting
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/DefaultNotificationStackScrollLayoutSection.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/DefaultNotificationStackScrollLayoutSection.kt
index 59c5d78bfce8..7fff43b82e93 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/DefaultNotificationStackScrollLayoutSection.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/DefaultNotificationStackScrollLayoutSection.kt
@@ -17,10 +17,16 @@
package com.android.systemui.keyguard.ui.view.layout.sections
+import android.content.Context
import android.view.View
import android.view.ViewGroup
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.constraintlayout.widget.ConstraintSet
+import androidx.constraintlayout.widget.ConstraintSet.BOTTOM
+import androidx.constraintlayout.widget.ConstraintSet.END
+import androidx.constraintlayout.widget.ConstraintSet.PARENT_ID
+import androidx.constraintlayout.widget.ConstraintSet.START
+import androidx.constraintlayout.widget.ConstraintSet.TOP
import com.android.systemui.R
import com.android.systemui.flags.FeatureFlags
import com.android.systemui.flags.Flags
@@ -35,12 +41,15 @@ import javax.inject.Inject
class DefaultNotificationStackScrollLayoutSection
@Inject
constructor(
+ private val context: Context,
private val featureFlags: FeatureFlags,
private val notificationPanelView: NotificationPanelView,
private val sharedNotificationContainer: SharedNotificationContainer,
private val sharedNotificationContainerViewModel: SharedNotificationContainerViewModel,
private val controller: NotificationStackScrollLayoutController,
) : KeyguardSection() {
+ private val placeHolderId = R.id.nssl_placeholder
+
override fun addViews(constraintLayout: ConstraintLayout) {
if (!featureFlags.isEnabled(Flags.MIGRATE_NSSL)) {
return
@@ -51,19 +60,52 @@ constructor(
(it.parent as ViewGroup).removeView(it)
sharedNotificationContainer.addNotificationStackScrollLayout(it)
}
+
+ val view = View(context, null).apply { id = placeHolderId }
+ constraintLayout.addView(view)
}
override fun bindData(constraintLayout: ConstraintLayout) {
- if (featureFlags.isEnabled(Flags.MIGRATE_NSSL)) {
- SharedNotificationContainerBinder.bind(
- sharedNotificationContainer,
- sharedNotificationContainerViewModel,
- controller,
- )
+ if (!featureFlags.isEnabled(Flags.MIGRATE_NSSL)) {
+ return
}
+ SharedNotificationContainerBinder.bind(
+ sharedNotificationContainer,
+ sharedNotificationContainerViewModel,
+ controller,
+ )
}
- override fun applyConstraints(constraintSet: ConstraintSet) {}
+ override fun applyConstraints(constraintSet: ConstraintSet) {
+ if (!featureFlags.isEnabled(Flags.MIGRATE_NSSL)) {
+ return
+ }
+ constraintSet.apply {
+ val bottomMargin =
+ context.resources.getDimensionPixelSize(R.dimen.keyguard_status_view_bottom_margin)
+ val useSplitShade =
+ context.resources.getBoolean(R.bool.config_use_split_notification_shade)
+
+ val topAlignment =
+ if (useSplitShade) {
+ TOP
+ } else {
+ BOTTOM
+ }
+ connect(
+ R.id.nssl_placeholder,
+ TOP,
+ R.id.keyguard_status_view,
+ topAlignment,
+ bottomMargin
+ )
+ connect(R.id.nssl_placeholder, START, PARENT_ID, START)
+ connect(R.id.nssl_placeholder, END, PARENT_ID, END)
+ connect(R.id.nssl_placeholder, BOTTOM, R.id.lock_icon_view, TOP)
+ }
+ }
- override fun removeViews(constraintLayout: ConstraintLayout) {}
+ override fun removeViews(constraintLayout: ConstraintLayout) {
+ constraintLayout.removeView(placeHolderId)
+ }
}
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/DefaultStatusViewSection.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/DefaultStatusViewSection.kt
index b144f7ae6906..b1dd373a7657 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/DefaultStatusViewSection.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/DefaultStatusViewSection.kt
@@ -72,6 +72,11 @@ constructor(
.inflate(R.layout.keyguard_status_view, constraintLayout, false)
as KeyguardStatusView)
.apply { clipChildren = false }
+
+ // This is diassembled and moved to [AodNotificationIconsSection]
+ keyguardStatusView.findViewById<View>(R.id.left_aligned_notification_icon_container)?.let {
+ it.setVisibility(View.GONE)
+ }
constraintLayout.addView(keyguardStatusView)
}
diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchControllerBaseTest.java b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchControllerBaseTest.java
index 1be87463250f..3d8719656a1e 100644
--- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchControllerBaseTest.java
+++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchControllerBaseTest.java
@@ -20,6 +20,7 @@ import static android.view.View.INVISIBLE;
import static com.android.systemui.flags.Flags.FACE_AUTH_REFACTOR;
import static com.android.systemui.flags.Flags.LOCKSCREEN_WALLPAPER_DREAM_ENABLED;
+import static com.android.systemui.flags.Flags.MIGRATE_KEYGUARD_STATUS_VIEW;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.atLeast;
@@ -165,6 +166,7 @@ public class KeyguardClockSwitchControllerBaseTest extends SysuiTestCase {
mFakeFeatureFlags = new FakeFeatureFlags();
mFakeFeatureFlags.set(FACE_AUTH_REFACTOR, false);
mFakeFeatureFlags.set(LOCKSCREEN_WALLPAPER_DREAM_ENABLED, false);
+ mFakeFeatureFlags.set(MIGRATE_KEYGUARD_STATUS_VIEW, false);
mController = new KeyguardClockSwitchController(
mView,
mStatusBarStateController,
diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/ui/view/layout/blueprints/DefaultKeyguardBlueprintTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyguard/ui/view/layout/blueprints/DefaultKeyguardBlueprintTest.kt
index bf57ecb41091..b906f8d98041 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/ui/view/layout/blueprints/DefaultKeyguardBlueprintTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/ui/view/layout/blueprints/DefaultKeyguardBlueprintTest.kt
@@ -27,6 +27,7 @@ import com.android.systemui.flags.FakeFeatureFlags
import com.android.systemui.flags.Flags
import com.android.systemui.keyguard.shared.model.KeyguardBlueprint
import com.android.systemui.keyguard.ui.view.KeyguardRootView
+import com.android.systemui.keyguard.ui.view.layout.sections.AodNotificationIconsSection
import com.android.systemui.keyguard.ui.view.layout.sections.DefaultAmbientIndicationAreaSection
import com.android.systemui.keyguard.ui.view.layout.sections.DefaultIndicationAreaSection
import com.android.systemui.keyguard.ui.view.layout.sections.DefaultLockIconSection
@@ -60,6 +61,8 @@ class DefaultKeyguardBlueprintTest : SysuiTestCase() {
@Mock private lateinit var defaultStatusViewSection: DefaultStatusViewSection
@Mock private lateinit var defaultNSSLSection: DefaultNotificationStackScrollLayoutSection
@Mock private lateinit var splitShadeGuidelines: SplitShadeGuidelines
+ @Mock private lateinit var aodNotificationIconsSection: AodNotificationIconsSection
+
private val featureFlags = FakeFeatureFlags()
@Before
@@ -76,6 +79,7 @@ class DefaultKeyguardBlueprintTest : SysuiTestCase() {
defaultStatusViewSection,
defaultNSSLSection,
splitShadeGuidelines,
+ aodNotificationIconsSection,
featureFlags,
)
featureFlags.set(Flags.LAZY_INFLATE_KEYGUARD, false)