diff options
3 files changed, 25 insertions, 3 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/shade/LargeScreenShadeHeaderController.kt b/packages/SystemUI/src/com/android/systemui/shade/LargeScreenShadeHeaderController.kt index e406be1ea0a3..c5c1d2abd24b 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/LargeScreenShadeHeaderController.kt +++ b/packages/SystemUI/src/com/android/systemui/shade/LargeScreenShadeHeaderController.kt @@ -18,10 +18,12 @@ package com.android.systemui.shade import android.annotation.IdRes import android.app.StatusBarManager +import android.content.Intent import android.content.res.Configuration import android.os.Bundle import android.os.Trace import android.os.Trace.TRACE_TAG_APP +import android.provider.AlarmClock import android.util.Pair import android.view.View import android.view.WindowInsets @@ -40,6 +42,7 @@ import com.android.systemui.demomode.DemoModeController import com.android.systemui.dump.DumpManager import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.Flags +import com.android.systemui.plugins.ActivityStarter import com.android.systemui.qs.ChipVisibilityListener import com.android.systemui.qs.HeaderPrivacyIconsController import com.android.systemui.qs.carrier.QSCarrierGroup @@ -91,7 +94,8 @@ class LargeScreenShadeHeaderController @Inject constructor( private val featureFlags: FeatureFlags, private val qsCarrierGroupControllerBuilder: QSCarrierGroupController.Builder, private val combinedShadeHeadersConstraintManager: CombinedShadeHeadersConstraintManager, - private val demoModeController: DemoModeController + private val demoModeController: DemoModeController, + private val activityStarter: ActivityStarter ) : ViewController<View>(header), Dumpable { companion object { @@ -292,6 +296,18 @@ class LargeScreenShadeHeaderController @Inject constructor( if (combinedHeaders) { privacyIconsController.onParentVisible() } + + clock.setOnClickListener { + activityStarter.postStartActivityDismissingKeyguard( + Intent(AlarmClock.ACTION_SHOW_ALARMS), 0 + ) + } + + batteryIcon.setOnClickListener { + activityStarter.postStartActivityDismissingKeyguard( + Intent(Intent.ACTION_POWER_USAGE_SUMMARY), 0 + ) + } } override fun onViewAttached() { diff --git a/packages/SystemUI/tests/src/com/android/systemui/shade/LargeScreenShadeHeaderControllerCombinedTest.kt b/packages/SystemUI/tests/src/com/android/systemui/shade/LargeScreenShadeHeaderControllerCombinedTest.kt index f580f5e00f67..7c0e627563ef 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/shade/LargeScreenShadeHeaderControllerCombinedTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/shade/LargeScreenShadeHeaderControllerCombinedTest.kt @@ -40,6 +40,7 @@ import com.android.systemui.demomode.DemoModeController import com.android.systemui.dump.DumpManager import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.Flags +import com.android.systemui.plugins.ActivityStarter import com.android.systemui.qs.ChipVisibilityListener import com.android.systemui.qs.HeaderPrivacyIconsController import com.android.systemui.qs.carrier.QSCarrierGroup @@ -143,6 +144,7 @@ class LargeScreenShadeHeaderControllerCombinedTest : SysuiTestCase() { @Mock private lateinit var largeScreenConstraints: ConstraintSet @Mock private lateinit var demoModeController: DemoModeController + @Mock private lateinit var activityStarter: ActivityStarter @JvmField @Rule val mockitoRule = MockitoJUnit.rule() @@ -204,7 +206,8 @@ class LargeScreenShadeHeaderControllerCombinedTest : SysuiTestCase() { featureFlags, qsCarrierGroupControllerBuilder, combinedShadeHeadersConstraintManager, - demoModeController + demoModeController, + activityStarter ) whenever(view.isAttachedToWindow).thenReturn(true) controller.init() diff --git a/packages/SystemUI/tests/src/com/android/systemui/shade/LargeScreenShadeHeaderControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/shade/LargeScreenShadeHeaderControllerTest.kt index b568122d3fed..a973a70dd0eb 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/shade/LargeScreenShadeHeaderControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/shade/LargeScreenShadeHeaderControllerTest.kt @@ -19,6 +19,7 @@ import com.android.systemui.demomode.DemoModeController import com.android.systemui.dump.DumpManager import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.Flags +import com.android.systemui.plugins.ActivityStarter import com.android.systemui.qs.HeaderPrivacyIconsController import com.android.systemui.qs.carrier.QSCarrierGroup import com.android.systemui.qs.carrier.QSCarrierGroupController @@ -75,6 +76,7 @@ class LargeScreenShadeHeaderControllerTest : SysuiTestCase() { @Mock private lateinit var mockedContext: Context @Mock private lateinit var demoModeController: DemoModeController + @Mock private lateinit var activityStarter: ActivityStarter @JvmField @Rule val mockitoRule = MockitoJUnit.rule() var viewVisibility = View.GONE @@ -129,7 +131,8 @@ class LargeScreenShadeHeaderControllerTest : SysuiTestCase() { featureFlags, qsCarrierGroupControllerBuilder, combinedShadeHeadersConstraintManager, - demoModeController + demoModeController, + activityStarter ) whenever(view.isAttachedToWindow).thenReturn(true) mLargeScreenShadeHeaderController.init() |