Loading packages/SystemUI/src/com/android/systemui/shade/QuickSettingsController.java +8 −2 Original line number Original line Diff line number Diff line Loading @@ -83,6 +83,7 @@ import com.android.systemui.statusbar.phone.ScrimController; import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager; import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager; import com.android.systemui.statusbar.phone.StatusBarTouchableRegionManager; import com.android.systemui.statusbar.phone.StatusBarTouchableRegionManager; import com.android.systemui.statusbar.phone.dagger.CentralSurfacesComponent; import com.android.systemui.statusbar.phone.dagger.CentralSurfacesComponent; import com.android.systemui.statusbar.policy.CastController; import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.util.LargeScreenUtils; import com.android.systemui.util.LargeScreenUtils; Loading Loading @@ -127,6 +128,7 @@ public class QuickSettingsController { private final FalsingCollector mFalsingCollector; private final FalsingCollector mFalsingCollector; private final LockscreenGestureLogger mLockscreenGestureLogger; private final LockscreenGestureLogger mLockscreenGestureLogger; private final ShadeLogger mShadeLog; private final ShadeLogger mShadeLog; private final CastController mCastController; private final FeatureFlags mFeatureFlags; private final FeatureFlags mFeatureFlags; private final InteractionJankMonitor mInteractionJankMonitor; private final InteractionJankMonitor mInteractionJankMonitor; private final FalsingManager mFalsingManager; private final FalsingManager mFalsingManager; Loading Loading @@ -306,7 +308,8 @@ public class QuickSettingsController { MetricsLogger metricsLogger, MetricsLogger metricsLogger, FeatureFlags featureFlags, FeatureFlags featureFlags, InteractionJankMonitor interactionJankMonitor, InteractionJankMonitor interactionJankMonitor, ShadeLogger shadeLog ShadeLogger shadeLog, CastController castController ) { ) { mPanelViewControllerLazy = panelViewControllerLazy; mPanelViewControllerLazy = panelViewControllerLazy; mPanelView = panelView; mPanelView = panelView; Loading Loading @@ -345,6 +348,7 @@ public class QuickSettingsController { mLockscreenGestureLogger = lockscreenGestureLogger; mLockscreenGestureLogger = lockscreenGestureLogger; mMetricsLogger = metricsLogger; mMetricsLogger = metricsLogger; mShadeLog = shadeLog; mShadeLog = shadeLog; mCastController = castController; mFeatureFlags = featureFlags; mFeatureFlags = featureFlags; mInteractionJankMonitor = interactionJankMonitor; mInteractionJankMonitor = interactionJankMonitor; Loading Loading @@ -1132,7 +1136,9 @@ public class QuickSettingsController { mLastClipBounds.set(left, top, right, bottom); mLastClipBounds.set(left, top, right, bottom); if (mIsFullWidth) { if (mIsFullWidth) { clipStatusView = qsVisible; clipStatusView = qsVisible; float screenCornerRadius = mRecordingController.isRecording() ? 0 : mScreenCornerRadius; float screenCornerRadius = mRecordingController.isRecording() || mCastController.hasConnectedCastDevice() ? 0 : mScreenCornerRadius; radius = (int) MathUtils.lerp(screenCornerRadius, mScrimCornerRadius, radius = (int) MathUtils.lerp(screenCornerRadius, mScrimCornerRadius, Math.min(top / (float) mScrimCornerRadius, 1f)); Math.min(top / (float) mScrimCornerRadius, 1f)); } } Loading packages/SystemUI/src/com/android/systemui/statusbar/policy/CastController.java +5 −0 Original line number Original line Diff line number Diff line Loading @@ -28,6 +28,11 @@ public interface CastController extends CallbackController<Callback>, Dumpable { void startCasting(CastDevice device); void startCasting(CastDevice device); void stopCasting(CastDevice device); void stopCasting(CastDevice device); /** * @return whether we have a connected device. */ boolean hasConnectedCastDevice(); public interface Callback { public interface Callback { void onCastDevicesChanged(); void onCastDevicesChanged(); } } Loading packages/SystemUI/src/com/android/systemui/statusbar/policy/CastControllerImpl.java +6 −0 Original line number Original line Diff line number Diff line Loading @@ -217,6 +217,12 @@ public class CastControllerImpl implements CastController { } } } } @Override public boolean hasConnectedCastDevice() { return getCastDevices().stream().anyMatch( castDevice -> castDevice.state == CastDevice.STATE_CONNECTED); } private void setProjection(MediaProjectionInfo projection, boolean started) { private void setProjection(MediaProjectionInfo projection, boolean started) { boolean changed = false; boolean changed = false; final MediaProjectionInfo oldProjection = mProjection; final MediaProjectionInfo oldProjection = mProjection; Loading packages/SystemUI/tests/src/com/android/systemui/shade/NotificationPanelViewControllerBaseTest.java +4 −1 Original line number Original line Diff line number Diff line Loading @@ -151,6 +151,7 @@ import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager; import com.android.systemui.statusbar.phone.StatusBarTouchableRegionManager; import com.android.systemui.statusbar.phone.StatusBarTouchableRegionManager; import com.android.systemui.statusbar.phone.TapAgainViewController; import com.android.systemui.statusbar.phone.TapAgainViewController; import com.android.systemui.statusbar.phone.UnlockedScreenOffAnimationController; import com.android.systemui.statusbar.phone.UnlockedScreenOffAnimationController; import com.android.systemui.statusbar.policy.CastController; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.KeyguardQsUserSwitchController; import com.android.systemui.statusbar.policy.KeyguardQsUserSwitchController; import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.statusbar.policy.KeyguardStateController; Loading Loading @@ -293,6 +294,7 @@ public class NotificationPanelViewControllerBaseTest extends SysuiTestCase { @Captor @Captor protected ArgumentCaptor<NotificationStackScrollLayout.OnEmptySpaceClickListener> protected ArgumentCaptor<NotificationStackScrollLayout.OnEmptySpaceClickListener> mEmptySpaceClickListenerCaptor; mEmptySpaceClickListenerCaptor; @Mock private CastController mCastController; protected KeyguardBottomAreaInteractor mKeyguardBottomAreaInteractor; protected KeyguardBottomAreaInteractor mKeyguardBottomAreaInteractor; protected KeyguardInteractor mKeyguardInteractor; protected KeyguardInteractor mKeyguardInteractor; Loading Loading @@ -639,7 +641,8 @@ public class NotificationPanelViewControllerBaseTest extends SysuiTestCase { mMetricsLogger, mMetricsLogger, mFeatureFlags, mFeatureFlags, mInteractionJankMonitor, mInteractionJankMonitor, mShadeLog mShadeLog, mCastController ); ); } } Loading packages/SystemUI/tests/src/com/android/systemui/shade/QuickSettingsControllerTest.java +4 −1 Original line number Original line Diff line number Diff line Loading @@ -85,6 +85,7 @@ import com.android.systemui.statusbar.phone.LockscreenGestureLogger; import com.android.systemui.statusbar.phone.ScrimController; import com.android.systemui.statusbar.phone.ScrimController; import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager; import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager; import com.android.systemui.statusbar.phone.StatusBarTouchableRegionManager; import com.android.systemui.statusbar.phone.StatusBarTouchableRegionManager; import com.android.systemui.statusbar.policy.CastController; import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.statusbar.policy.KeyguardStateController; import org.junit.After; import org.junit.After; Loading Loading @@ -153,6 +154,7 @@ public class QuickSettingsControllerTest extends SysuiTestCase { @Mock private ShadeLogger mShadeLogger; @Mock private ShadeLogger mShadeLogger; @Mock private DumpManager mDumpManager; @Mock private DumpManager mDumpManager; @Mock private UiEventLogger mUiEventLogger; @Mock private UiEventLogger mUiEventLogger; @Mock private CastController mCastController; private SysuiStatusBarStateController mStatusBarStateController; private SysuiStatusBarStateController mStatusBarStateController; Loading Loading @@ -239,7 +241,8 @@ public class QuickSettingsControllerTest extends SysuiTestCase { mMetricsLogger, mMetricsLogger, mFeatureFlags, mFeatureFlags, mInteractionJankMonitor, mInteractionJankMonitor, mShadeLogger mShadeLogger, mCastController ); ); mFragmentListener = mQsController.getQsFragmentListener(); mFragmentListener = mQsController.getQsFragmentListener(); Loading Loading
packages/SystemUI/src/com/android/systemui/shade/QuickSettingsController.java +8 −2 Original line number Original line Diff line number Diff line Loading @@ -83,6 +83,7 @@ import com.android.systemui.statusbar.phone.ScrimController; import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager; import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager; import com.android.systemui.statusbar.phone.StatusBarTouchableRegionManager; import com.android.systemui.statusbar.phone.StatusBarTouchableRegionManager; import com.android.systemui.statusbar.phone.dagger.CentralSurfacesComponent; import com.android.systemui.statusbar.phone.dagger.CentralSurfacesComponent; import com.android.systemui.statusbar.policy.CastController; import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.util.LargeScreenUtils; import com.android.systemui.util.LargeScreenUtils; Loading Loading @@ -127,6 +128,7 @@ public class QuickSettingsController { private final FalsingCollector mFalsingCollector; private final FalsingCollector mFalsingCollector; private final LockscreenGestureLogger mLockscreenGestureLogger; private final LockscreenGestureLogger mLockscreenGestureLogger; private final ShadeLogger mShadeLog; private final ShadeLogger mShadeLog; private final CastController mCastController; private final FeatureFlags mFeatureFlags; private final FeatureFlags mFeatureFlags; private final InteractionJankMonitor mInteractionJankMonitor; private final InteractionJankMonitor mInteractionJankMonitor; private final FalsingManager mFalsingManager; private final FalsingManager mFalsingManager; Loading Loading @@ -306,7 +308,8 @@ public class QuickSettingsController { MetricsLogger metricsLogger, MetricsLogger metricsLogger, FeatureFlags featureFlags, FeatureFlags featureFlags, InteractionJankMonitor interactionJankMonitor, InteractionJankMonitor interactionJankMonitor, ShadeLogger shadeLog ShadeLogger shadeLog, CastController castController ) { ) { mPanelViewControllerLazy = panelViewControllerLazy; mPanelViewControllerLazy = panelViewControllerLazy; mPanelView = panelView; mPanelView = panelView; Loading Loading @@ -345,6 +348,7 @@ public class QuickSettingsController { mLockscreenGestureLogger = lockscreenGestureLogger; mLockscreenGestureLogger = lockscreenGestureLogger; mMetricsLogger = metricsLogger; mMetricsLogger = metricsLogger; mShadeLog = shadeLog; mShadeLog = shadeLog; mCastController = castController; mFeatureFlags = featureFlags; mFeatureFlags = featureFlags; mInteractionJankMonitor = interactionJankMonitor; mInteractionJankMonitor = interactionJankMonitor; Loading Loading @@ -1132,7 +1136,9 @@ public class QuickSettingsController { mLastClipBounds.set(left, top, right, bottom); mLastClipBounds.set(left, top, right, bottom); if (mIsFullWidth) { if (mIsFullWidth) { clipStatusView = qsVisible; clipStatusView = qsVisible; float screenCornerRadius = mRecordingController.isRecording() ? 0 : mScreenCornerRadius; float screenCornerRadius = mRecordingController.isRecording() || mCastController.hasConnectedCastDevice() ? 0 : mScreenCornerRadius; radius = (int) MathUtils.lerp(screenCornerRadius, mScrimCornerRadius, radius = (int) MathUtils.lerp(screenCornerRadius, mScrimCornerRadius, Math.min(top / (float) mScrimCornerRadius, 1f)); Math.min(top / (float) mScrimCornerRadius, 1f)); } } Loading
packages/SystemUI/src/com/android/systemui/statusbar/policy/CastController.java +5 −0 Original line number Original line Diff line number Diff line Loading @@ -28,6 +28,11 @@ public interface CastController extends CallbackController<Callback>, Dumpable { void startCasting(CastDevice device); void startCasting(CastDevice device); void stopCasting(CastDevice device); void stopCasting(CastDevice device); /** * @return whether we have a connected device. */ boolean hasConnectedCastDevice(); public interface Callback { public interface Callback { void onCastDevicesChanged(); void onCastDevicesChanged(); } } Loading
packages/SystemUI/src/com/android/systemui/statusbar/policy/CastControllerImpl.java +6 −0 Original line number Original line Diff line number Diff line Loading @@ -217,6 +217,12 @@ public class CastControllerImpl implements CastController { } } } } @Override public boolean hasConnectedCastDevice() { return getCastDevices().stream().anyMatch( castDevice -> castDevice.state == CastDevice.STATE_CONNECTED); } private void setProjection(MediaProjectionInfo projection, boolean started) { private void setProjection(MediaProjectionInfo projection, boolean started) { boolean changed = false; boolean changed = false; final MediaProjectionInfo oldProjection = mProjection; final MediaProjectionInfo oldProjection = mProjection; Loading
packages/SystemUI/tests/src/com/android/systemui/shade/NotificationPanelViewControllerBaseTest.java +4 −1 Original line number Original line Diff line number Diff line Loading @@ -151,6 +151,7 @@ import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager; import com.android.systemui.statusbar.phone.StatusBarTouchableRegionManager; import com.android.systemui.statusbar.phone.StatusBarTouchableRegionManager; import com.android.systemui.statusbar.phone.TapAgainViewController; import com.android.systemui.statusbar.phone.TapAgainViewController; import com.android.systemui.statusbar.phone.UnlockedScreenOffAnimationController; import com.android.systemui.statusbar.phone.UnlockedScreenOffAnimationController; import com.android.systemui.statusbar.policy.CastController; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.KeyguardQsUserSwitchController; import com.android.systemui.statusbar.policy.KeyguardQsUserSwitchController; import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.statusbar.policy.KeyguardStateController; Loading Loading @@ -293,6 +294,7 @@ public class NotificationPanelViewControllerBaseTest extends SysuiTestCase { @Captor @Captor protected ArgumentCaptor<NotificationStackScrollLayout.OnEmptySpaceClickListener> protected ArgumentCaptor<NotificationStackScrollLayout.OnEmptySpaceClickListener> mEmptySpaceClickListenerCaptor; mEmptySpaceClickListenerCaptor; @Mock private CastController mCastController; protected KeyguardBottomAreaInteractor mKeyguardBottomAreaInteractor; protected KeyguardBottomAreaInteractor mKeyguardBottomAreaInteractor; protected KeyguardInteractor mKeyguardInteractor; protected KeyguardInteractor mKeyguardInteractor; Loading Loading @@ -639,7 +641,8 @@ public class NotificationPanelViewControllerBaseTest extends SysuiTestCase { mMetricsLogger, mMetricsLogger, mFeatureFlags, mFeatureFlags, mInteractionJankMonitor, mInteractionJankMonitor, mShadeLog mShadeLog, mCastController ); ); } } Loading
packages/SystemUI/tests/src/com/android/systemui/shade/QuickSettingsControllerTest.java +4 −1 Original line number Original line Diff line number Diff line Loading @@ -85,6 +85,7 @@ import com.android.systemui.statusbar.phone.LockscreenGestureLogger; import com.android.systemui.statusbar.phone.ScrimController; import com.android.systemui.statusbar.phone.ScrimController; import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager; import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager; import com.android.systemui.statusbar.phone.StatusBarTouchableRegionManager; import com.android.systemui.statusbar.phone.StatusBarTouchableRegionManager; import com.android.systemui.statusbar.policy.CastController; import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.statusbar.policy.KeyguardStateController; import org.junit.After; import org.junit.After; Loading Loading @@ -153,6 +154,7 @@ public class QuickSettingsControllerTest extends SysuiTestCase { @Mock private ShadeLogger mShadeLogger; @Mock private ShadeLogger mShadeLogger; @Mock private DumpManager mDumpManager; @Mock private DumpManager mDumpManager; @Mock private UiEventLogger mUiEventLogger; @Mock private UiEventLogger mUiEventLogger; @Mock private CastController mCastController; private SysuiStatusBarStateController mStatusBarStateController; private SysuiStatusBarStateController mStatusBarStateController; Loading Loading @@ -239,7 +241,8 @@ public class QuickSettingsControllerTest extends SysuiTestCase { mMetricsLogger, mMetricsLogger, mFeatureFlags, mFeatureFlags, mInteractionJankMonitor, mInteractionJankMonitor, mShadeLogger mShadeLogger, mCastController ); ); mFragmentListener = mQsController.getQsFragmentListener(); mFragmentListener = mQsController.getQsFragmentListener(); Loading