Merge "Add dumpsys to KeyguardStatusViewController" into udc-qpr-dev
This commit is contained in:
@@ -113,6 +113,7 @@ public class KeyguardStatusView extends GridLayout {
|
||||
public void dump(PrintWriter pw, String[] args) {
|
||||
pw.println("KeyguardStatusView:");
|
||||
pw.println(" mDarkAmount: " + mDarkAmount);
|
||||
pw.println(" visibility: " + getVisibility());
|
||||
if (mClockView != null) {
|
||||
mClockView.dump(pw, args);
|
||||
}
|
||||
|
||||
@@ -37,6 +37,7 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.FrameLayout;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.constraintlayout.widget.ConstraintSet;
|
||||
@@ -46,7 +47,9 @@ import com.android.app.animation.Interpolators;
|
||||
import com.android.internal.jank.InteractionJankMonitor;
|
||||
import com.android.keyguard.KeyguardClockSwitch.ClockSize;
|
||||
import com.android.keyguard.logging.KeyguardLogger;
|
||||
import com.android.systemui.Dumpable;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.dump.DumpManager;
|
||||
import com.android.systemui.flags.FeatureFlags;
|
||||
import com.android.systemui.plugins.ClockController;
|
||||
import com.android.systemui.statusbar.notification.AnimatableProperty;
|
||||
@@ -59,14 +62,17 @@ import com.android.systemui.statusbar.policy.ConfigurationController;
|
||||
import com.android.systemui.statusbar.policy.KeyguardStateController;
|
||||
import com.android.systemui.util.ViewController;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
/**
|
||||
* Injectable controller for {@link KeyguardStatusView}.
|
||||
*/
|
||||
public class KeyguardStatusViewController extends ViewController<KeyguardStatusView> {
|
||||
public class KeyguardStatusViewController extends ViewController<KeyguardStatusView> implements
|
||||
Dumpable {
|
||||
private static final boolean DEBUG = KeyguardConstants.DEBUG;
|
||||
private static final String TAG = "KeyguardStatusViewController";
|
||||
@VisibleForTesting static final String TAG = "KeyguardStatusViewController";
|
||||
|
||||
/**
|
||||
* Duration to use for the animator when the keyguard status view alignment changes, and a
|
||||
@@ -88,6 +94,8 @@ public class KeyguardStatusViewController extends ViewController<KeyguardStatusV
|
||||
|
||||
private Boolean mStatusViewCentered = true;
|
||||
|
||||
private DumpManager mDumpManager;
|
||||
|
||||
private final TransitionListenerAdapter mKeyguardStatusAlignmentTransitionListener =
|
||||
new TransitionListenerAdapter() {
|
||||
@Override
|
||||
@@ -113,7 +121,8 @@ public class KeyguardStatusViewController extends ViewController<KeyguardStatusV
|
||||
ScreenOffAnimationController screenOffAnimationController,
|
||||
KeyguardLogger logger,
|
||||
FeatureFlags featureFlags,
|
||||
InteractionJankMonitor interactionJankMonitor) {
|
||||
InteractionJankMonitor interactionJankMonitor,
|
||||
DumpManager dumpManager) {
|
||||
super(keyguardStatusView);
|
||||
mKeyguardSliceViewController = keyguardSliceViewController;
|
||||
mKeyguardClockSwitchController = keyguardClockSwitchController;
|
||||
@@ -124,11 +133,13 @@ public class KeyguardStatusViewController extends ViewController<KeyguardStatusV
|
||||
logger.getBuffer());
|
||||
mInteractionJankMonitor = interactionJankMonitor;
|
||||
mFeatureFlags = featureFlags;
|
||||
mDumpManager = dumpManager;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onInit() {
|
||||
mKeyguardClockSwitchController.init();
|
||||
mDumpManager.registerDumpable(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -143,6 +154,13 @@ public class KeyguardStatusViewController extends ViewController<KeyguardStatusV
|
||||
mConfigurationController.removeCallback(mConfigurationListener);
|
||||
}
|
||||
|
||||
/**
|
||||
* Called in notificationPanelViewController to avoid leak
|
||||
*/
|
||||
public void onDestroy() {
|
||||
mDumpManager.unregisterDumpable(TAG);
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates views on doze time tick.
|
||||
*/
|
||||
@@ -440,6 +458,11 @@ public class KeyguardStatusViewController extends ViewController<KeyguardStatusV
|
||||
constraintSet.applyTo(notifContainerParent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dump(@NonNull PrintWriter pw, @NonNull String[] args) {
|
||||
mView.dump(pw, args);
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
static class SplitShadeTransitionAdapter extends Transition {
|
||||
private static final String PROP_BOUNDS_LEFT = "splitShadeTransitionAdapter:boundsLeft";
|
||||
|
||||
@@ -31,6 +31,7 @@ import com.android.systemui.statusbar.notification.stack.AnimationProperties;
|
||||
import com.android.systemui.statusbar.phone.DozeParameters;
|
||||
import com.android.systemui.statusbar.phone.ScreenOffAnimationController;
|
||||
import com.android.systemui.statusbar.policy.KeyguardStateController;
|
||||
import com.android.systemui.util.Assert;
|
||||
|
||||
import com.google.errorprone.annotations.CompileTimeConstant;
|
||||
|
||||
@@ -85,6 +86,7 @@ public class KeyguardVisibilityHelper {
|
||||
boolean keyguardFadingAway,
|
||||
boolean goingToFullShade,
|
||||
int oldStatusBarState) {
|
||||
Assert.isMainThread();
|
||||
PropertyAnimator.cancelAnimation(mView, AnimatableProperty.ALPHA);
|
||||
boolean isOccluded = mKeyguardStateController.isOccluded();
|
||||
mKeyguardViewVisibilityAnimating = false;
|
||||
|
||||
@@ -1169,6 +1169,9 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump
|
||||
private void updateViewControllers(KeyguardStatusView keyguardStatusView,
|
||||
FrameLayout userAvatarView,
|
||||
KeyguardUserSwitcherView keyguardUserSwitcherView) {
|
||||
if (mKeyguardStatusViewController != null) {
|
||||
mKeyguardStatusViewController.onDestroy();
|
||||
}
|
||||
// Re-associate the KeyguardStatusViewController
|
||||
KeyguardStatusViewComponent statusViewComponent =
|
||||
mKeyguardStatusViewComponentFactory.build(keyguardStatusView);
|
||||
|
||||
@@ -27,6 +27,7 @@ import android.testing.AndroidTestingRunner;
|
||||
import com.android.internal.jank.InteractionJankMonitor;
|
||||
import com.android.keyguard.logging.KeyguardLogger;
|
||||
import com.android.systemui.SysuiTestCase;
|
||||
import com.android.systemui.dump.DumpManager;
|
||||
import com.android.systemui.flags.FeatureFlags;
|
||||
import com.android.systemui.plugins.ClockConfig;
|
||||
import com.android.systemui.plugins.ClockController;
|
||||
@@ -62,6 +63,8 @@ public class KeyguardStatusViewControllerTest extends SysuiTestCase {
|
||||
@Mock private FeatureFlags mFeatureFlags;
|
||||
@Mock private InteractionJankMonitor mInteractionJankMonitor;
|
||||
|
||||
@Mock private DumpManager mDumpManager;
|
||||
|
||||
@Captor
|
||||
private ArgumentCaptor<KeyguardUpdateMonitorCallback> mKeyguardUpdateMonitorCallbackCaptor;
|
||||
|
||||
@@ -82,7 +85,8 @@ public class KeyguardStatusViewControllerTest extends SysuiTestCase {
|
||||
mScreenOffAnimationController,
|
||||
mKeyguardLogger,
|
||||
mFeatureFlags,
|
||||
mInteractionJankMonitor) {
|
||||
mInteractionJankMonitor,
|
||||
mDumpManager) {
|
||||
@Override
|
||||
void setProperty(
|
||||
AnimatableProperty property,
|
||||
@@ -170,4 +174,12 @@ public class KeyguardStatusViewControllerTest extends SysuiTestCase {
|
||||
verify(mKeyguardClockSwitchController, times(1)).setSplitShadeEnabled(false);
|
||||
verify(mKeyguardClockSwitchController, times(0)).setSplitShadeEnabled(true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void correctlyDump() {
|
||||
mController.onInit();
|
||||
verify(mDumpManager).registerDumpable(mController);
|
||||
mController.onDestroy();
|
||||
verify(mDumpManager, times(1)).unregisterDumpable(KeyguardStatusViewController.TAG);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -370,7 +370,8 @@ public class NotificationPanelViewControllerBaseTest extends SysuiTestCase {
|
||||
mScreenOffAnimationController,
|
||||
mKeyguardLogger,
|
||||
mFeatureFlags,
|
||||
mInteractionJankMonitor));
|
||||
mInteractionJankMonitor,
|
||||
mDumpManager));
|
||||
|
||||
when(mAuthController.isUdfpsEnrolled(anyInt())).thenReturn(false);
|
||||
when(mHeadsUpCallback.getContext()).thenReturn(mContext);
|
||||
|
||||
Reference in New Issue
Block a user