Merge changes I76427c00,Idcbbc90a into udc-dev

* changes:
  Set corner radius to 0 when casting
  Make bouncer title font the same as num pad font.
This commit is contained in:
Aaron Liu
2023-04-27 15:51:39 +00:00
committed by Android (Google) Code Review
8 changed files with 50 additions and 4 deletions

View File

@@ -22,6 +22,7 @@
<!-- Keyguard PIN pad styles --> <!-- Keyguard PIN pad styles -->
<style name="Keyguard.TextView" parent="@android:style/Widget.DeviceDefault.TextView"> <style name="Keyguard.TextView" parent="@android:style/Widget.DeviceDefault.TextView">
<item name="android:textSize">@dimen/kg_status_line_font_size</item> <item name="android:textSize">@dimen/kg_status_line_font_size</item>
<item name="android:fontFamily">@*android:string/config_bodyFontFamily</item>
</style> </style>
<style name="Keyguard.TextView.EmergencyButton" parent="Theme.SystemUI"> <style name="Keyguard.TextView.EmergencyButton" parent="Theme.SystemUI">
<item name="android:textColor">?androidprv:attr/materialColorOnTertiaryFixed</item> <item name="android:textColor">?androidprv:attr/materialColorOnTertiaryFixed</item>

View File

@@ -90,6 +90,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;
@@ -135,6 +136,7 @@ public class QuickSettingsController {
private final LockscreenGestureLogger mLockscreenGestureLogger; private final LockscreenGestureLogger mLockscreenGestureLogger;
private final ShadeLogger mShadeLog; private final ShadeLogger mShadeLog;
private final KeyguardFaceAuthInteractor mKeyguardFaceAuthInteractor; private final KeyguardFaceAuthInteractor mKeyguardFaceAuthInteractor;
private final CastController mCastController;
private final FeatureFlags mFeatureFlags; private final FeatureFlags mFeatureFlags;
private final InteractionJankMonitor mInteractionJankMonitor; private final InteractionJankMonitor mInteractionJankMonitor;
private final ShadeRepository mShadeRepository; private final ShadeRepository mShadeRepository;
@@ -324,7 +326,8 @@ public class QuickSettingsController {
InteractionJankMonitor interactionJankMonitor, InteractionJankMonitor interactionJankMonitor,
ShadeLogger shadeLog, ShadeLogger shadeLog,
KeyguardFaceAuthInteractor keyguardFaceAuthInteractor, KeyguardFaceAuthInteractor keyguardFaceAuthInteractor,
ShadeRepository shadeRepository ShadeRepository shadeRepository,
CastController castController
) { ) {
mPanelViewControllerLazy = panelViewControllerLazy; mPanelViewControllerLazy = panelViewControllerLazy;
mPanelView = panelView; mPanelView = panelView;
@@ -364,6 +367,7 @@ public class QuickSettingsController {
mMetricsLogger = metricsLogger; mMetricsLogger = metricsLogger;
mShadeLog = shadeLog; mShadeLog = shadeLog;
mKeyguardFaceAuthInteractor = keyguardFaceAuthInteractor; mKeyguardFaceAuthInteractor = keyguardFaceAuthInteractor;
mCastController = castController;
mFeatureFlags = featureFlags; mFeatureFlags = featureFlags;
mInteractionJankMonitor = interactionJankMonitor; mInteractionJankMonitor = interactionJankMonitor;
mShadeRepository = shadeRepository; mShadeRepository = shadeRepository;
@@ -1188,7 +1192,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));
mScrimController.setNotificationBottomRadius(radius); mScrimController.setNotificationBottomRadius(radius);

View File

@@ -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();
} }

View File

@@ -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;

View File

@@ -158,6 +158,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;
@@ -306,6 +307,7 @@ public class NotificationPanelViewControllerBaseTest extends SysuiTestCase {
@Mock protected ActivityStarter mActivityStarter; @Mock protected ActivityStarter mActivityStarter;
@Mock protected KeyguardFaceAuthInteractor mKeyguardFaceAuthInteractor; @Mock protected KeyguardFaceAuthInteractor mKeyguardFaceAuthInteractor;
@Mock protected ShadeRepository mShadeRepository; @Mock protected ShadeRepository mShadeRepository;
@Mock private CastController mCastController;
protected final int mMaxUdfpsBurnInOffsetY = 5; protected final int mMaxUdfpsBurnInOffsetY = 5;
protected KeyguardBottomAreaInteractor mKeyguardBottomAreaInteractor; protected KeyguardBottomAreaInteractor mKeyguardBottomAreaInteractor;
@@ -675,7 +677,8 @@ public class NotificationPanelViewControllerBaseTest extends SysuiTestCase {
mInteractionJankMonitor, mInteractionJankMonitor,
mShadeLog, mShadeLog,
mKeyguardFaceAuthInteractor, mKeyguardFaceAuthInteractor,
mShadeRepository mShadeRepository,
mCastController
); );
} }

View File

@@ -87,6 +87,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 dagger.Lazy; import dagger.Lazy;
@@ -155,6 +156,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;
@@ -243,7 +245,8 @@ public class QuickSettingsControllerTest extends SysuiTestCase {
mInteractionJankMonitor, mInteractionJankMonitor,
mShadeLogger, mShadeLogger,
mock(KeyguardFaceAuthInteractor.class), mock(KeyguardFaceAuthInteractor.class),
mock(ShadeRepository.class) mock(ShadeRepository.class),
mCastController
); );
mFragmentListener = mQsController.getQsFragmentListener(); mFragmentListener = mQsController.getQsFragmentListener();

View File

@@ -1,6 +1,7 @@
package com.android.systemui.statusbar.policy; package com.android.systemui.statusbar.policy;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail; import static org.junit.Assert.fail;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never; import static org.mockito.Mockito.never;
@@ -125,4 +126,20 @@ public class CastControllerImplTest extends SysuiTestCase {
fail("Concurrent modification exception"); fail("Concurrent modification exception");
} }
} }
@Test
public void hasConnectedCastDevice_connected() {
CastController.CastDevice castDevice = new CastController.CastDevice();
castDevice.state = CastController.CastDevice.STATE_CONNECTED;
mController.startCasting(castDevice);
assertTrue(mController.hasConnectedCastDevice());
}
@Test
public void hasConnectedCastDevice_notConnected() {
CastController.CastDevice castDevice = new CastController.CastDevice();
castDevice.state = CastController.CastDevice.STATE_CONNECTING;
mController.startCasting(castDevice);
assertTrue(mController.hasConnectedCastDevice());
}
} }

View File

@@ -51,4 +51,9 @@ public class FakeCastController extends BaseLeakChecker<Callback> implements Cas
public void stopCasting(CastDevice device) { public void stopCasting(CastDevice device) {
} }
@Override
public boolean hasConnectedCastDevice() {
return false;
}
} }