Merge "Logging when QSFragment becomes visible/invisible" into tm-qpr-dev am: f16d022a17
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21464745 Change-Id: I1b120def424355165f38fc2a50f1032ab6c97dfe Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -51,9 +51,7 @@ import com.android.systemui.animation.Interpolators;
|
||||
import com.android.systemui.animation.ShadeInterpolation;
|
||||
import com.android.systemui.compose.ComposeFacade;
|
||||
import com.android.systemui.dump.DumpManager;
|
||||
import com.android.systemui.flags.FeatureFlags;
|
||||
import com.android.systemui.media.controls.ui.MediaHost;
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
import com.android.systemui.plugins.qs.QS;
|
||||
import com.android.systemui.plugins.qs.QSContainerController;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
@@ -61,6 +59,7 @@ import com.android.systemui.qs.customize.QSCustomizerController;
|
||||
import com.android.systemui.qs.dagger.QSFragmentComponent;
|
||||
import com.android.systemui.qs.footer.ui.binder.FooterActionsViewBinder;
|
||||
import com.android.systemui.qs.footer.ui.viewmodel.FooterActionsViewModel;
|
||||
import com.android.systemui.qs.logging.QSLogger;
|
||||
import com.android.systemui.statusbar.CommandQueue;
|
||||
import com.android.systemui.statusbar.StatusBarState;
|
||||
import com.android.systemui.statusbar.SysuiStatusBarStateController;
|
||||
@@ -88,14 +87,11 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
|
||||
|
||||
private final Rect mQsBounds = new Rect();
|
||||
private final SysuiStatusBarStateController mStatusBarStateController;
|
||||
private final FalsingManager mFalsingManager;
|
||||
private final KeyguardBypassController mBypassController;
|
||||
private boolean mQsExpanded;
|
||||
private boolean mHeaderAnimating;
|
||||
private boolean mStackScrollerOverscrolling;
|
||||
|
||||
private long mDelay;
|
||||
|
||||
private QSAnimator mQSAnimator;
|
||||
private HeightListener mPanelView;
|
||||
private QSSquishinessController mQSSquishinessController;
|
||||
@@ -116,8 +112,7 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
|
||||
private final MediaHost mQqsMediaHost;
|
||||
private final QSFragmentComponent.Factory mQsComponentFactory;
|
||||
private final QSFragmentDisableFlagsLogger mQsFragmentDisableFlagsLogger;
|
||||
private final QSTileHost mHost;
|
||||
private final FeatureFlags mFeatureFlags;
|
||||
private final QSLogger mLogger;
|
||||
private final FooterActionsController mFooterActionsController;
|
||||
private final FooterActionsViewModel.Factory mFooterActionsViewModelFactory;
|
||||
private final ListeningAndVisibilityLifecycleOwner mListeningAndVisibilityLifecycleOwner;
|
||||
@@ -150,11 +145,6 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
|
||||
*/
|
||||
private boolean mTransitioningToFullShade;
|
||||
|
||||
/**
|
||||
* Whether the next Quick settings
|
||||
*/
|
||||
private boolean mAnimateNextQsUpdate;
|
||||
|
||||
private final DumpManager mDumpManager;
|
||||
|
||||
/**
|
||||
@@ -178,14 +168,13 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
|
||||
|
||||
@Inject
|
||||
public QSFragment(RemoteInputQuickSettingsDisabler remoteInputQsDisabler,
|
||||
QSTileHost qsTileHost,
|
||||
SysuiStatusBarStateController statusBarStateController, CommandQueue commandQueue,
|
||||
@Named(QS_PANEL) MediaHost qsMediaHost,
|
||||
@Named(QUICK_QS_PANEL) MediaHost qqsMediaHost,
|
||||
KeyguardBypassController keyguardBypassController,
|
||||
QSFragmentComponent.Factory qsComponentFactory,
|
||||
QSFragmentDisableFlagsLogger qsFragmentDisableFlagsLogger,
|
||||
FalsingManager falsingManager, DumpManager dumpManager, FeatureFlags featureFlags,
|
||||
DumpManager dumpManager, QSLogger qsLogger,
|
||||
FooterActionsController footerActionsController,
|
||||
FooterActionsViewModel.Factory footerActionsViewModelFactory) {
|
||||
mRemoteInputQuickSettingsDisabler = remoteInputQsDisabler;
|
||||
@@ -193,13 +182,11 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
|
||||
mQqsMediaHost = qqsMediaHost;
|
||||
mQsComponentFactory = qsComponentFactory;
|
||||
mQsFragmentDisableFlagsLogger = qsFragmentDisableFlagsLogger;
|
||||
mLogger = qsLogger;
|
||||
commandQueue.observe(getLifecycle(), this);
|
||||
mHost = qsTileHost;
|
||||
mFalsingManager = falsingManager;
|
||||
mBypassController = keyguardBypassController;
|
||||
mStatusBarStateController = statusBarStateController;
|
||||
mDumpManager = dumpManager;
|
||||
mFeatureFlags = featureFlags;
|
||||
mFooterActionsController = footerActionsController;
|
||||
mFooterActionsViewModelFactory = footerActionsViewModelFactory;
|
||||
mListeningAndVisibilityLifecycleOwner = new ListeningAndVisibilityLifecycleOwner();
|
||||
@@ -716,8 +703,10 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
|
||||
private void setAlphaAnimationProgress(float progress) {
|
||||
final View view = getView();
|
||||
if (progress == 0 && view.getVisibility() != View.INVISIBLE) {
|
||||
mLogger.logVisibility("QS fragment", View.INVISIBLE);
|
||||
view.setVisibility(View.INVISIBLE);
|
||||
} else if (progress > 0 && view.getVisibility() != View.VISIBLE) {
|
||||
mLogger.logVisibility("QS fragment", View.VISIBLE);
|
||||
view.setVisibility((View.VISIBLE));
|
||||
}
|
||||
view.setAlpha(interpolateAlphaAnimationProgress(progress));
|
||||
@@ -914,7 +903,6 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
|
||||
getView().getViewTreeObserver().removeOnPreDrawListener(this);
|
||||
getView().animate()
|
||||
.translationY(0f)
|
||||
.setStartDelay(mDelay)
|
||||
.setDuration(StackStateAnimator.ANIMATION_DURATION_GO_TO_FULL_SHADE)
|
||||
.setInterpolator(Interpolators.FAST_OUT_SLOW_IN)
|
||||
.setListener(mAnimateHeaderSlidingInListener)
|
||||
|
||||
@@ -17,15 +17,14 @@
|
||||
package com.android.systemui.qs.logging
|
||||
|
||||
import android.service.quicksettings.Tile
|
||||
import android.view.View
|
||||
import com.android.systemui.log.dagger.QSLog
|
||||
import com.android.systemui.plugins.log.ConstantStringsLogger
|
||||
import com.android.systemui.plugins.log.ConstantStringsLoggerImpl
|
||||
import com.android.systemui.plugins.log.LogBuffer
|
||||
import com.android.systemui.plugins.log.LogLevel
|
||||
import com.android.systemui.plugins.log.LogLevel.DEBUG
|
||||
import com.android.systemui.plugins.log.LogLevel.ERROR
|
||||
import com.android.systemui.plugins.log.LogLevel.VERBOSE
|
||||
import com.android.systemui.plugins.log.LogMessage
|
||||
import com.android.systemui.plugins.qs.QSTile
|
||||
import com.android.systemui.statusbar.StatusBarState
|
||||
import com.google.errorprone.annotations.CompileTimeConstant
|
||||
@@ -332,4 +331,25 @@ class QSLogger @Inject constructor(@QSLog private val buffer: LogBuffer) :
|
||||
else -> "wrong state"
|
||||
}
|
||||
}
|
||||
|
||||
fun logVisibility(viewName: String, @View.Visibility visibility: Int) {
|
||||
buffer.log(
|
||||
TAG,
|
||||
DEBUG,
|
||||
{
|
||||
str1 = viewName
|
||||
str2 = toVisibilityString(visibility)
|
||||
},
|
||||
{ "$str1 visibility: $str2" }
|
||||
)
|
||||
}
|
||||
|
||||
private fun toVisibilityString(visibility: Int): String {
|
||||
return when (visibility) {
|
||||
View.VISIBLE -> "VISIBLE"
|
||||
View.INVISIBLE -> "INVISIBLE"
|
||||
View.GONE -> "GONE"
|
||||
else -> "undefined"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,14 +52,13 @@ import com.android.systemui.R;
|
||||
import com.android.systemui.SysuiBaseFragmentTest;
|
||||
import com.android.systemui.animation.ShadeInterpolation;
|
||||
import com.android.systemui.dump.DumpManager;
|
||||
import com.android.systemui.flags.FakeFeatureFlags;
|
||||
import com.android.systemui.media.controls.ui.MediaHost;
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
import com.android.systemui.qs.customize.QSCustomizerController;
|
||||
import com.android.systemui.qs.dagger.QSFragmentComponent;
|
||||
import com.android.systemui.qs.external.TileServiceRequestController;
|
||||
import com.android.systemui.qs.footer.ui.binder.FooterActionsViewBinder;
|
||||
import com.android.systemui.qs.footer.ui.viewmodel.FooterActionsViewModel;
|
||||
import com.android.systemui.qs.logging.QSLogger;
|
||||
import com.android.systemui.settings.FakeDisplayTracker;
|
||||
import com.android.systemui.statusbar.CommandQueue;
|
||||
import com.android.systemui.statusbar.StatusBarState;
|
||||
@@ -86,7 +85,6 @@ public class QSFragmentTest extends SysuiBaseFragmentTest {
|
||||
@Mock private MediaHost mQSMediaHost;
|
||||
@Mock private MediaHost mQQSMediaHost;
|
||||
@Mock private KeyguardBypassController mBypassController;
|
||||
@Mock private FalsingManager mFalsingManager;
|
||||
@Mock private TileServiceRequestController.Builder mTileServiceRequestControllerBuilder;
|
||||
@Mock private TileServiceRequestController mTileServiceRequestController;
|
||||
@Mock private QSCustomizerController mQsCustomizerController;
|
||||
@@ -503,11 +501,9 @@ public class QSFragmentTest extends SysuiBaseFragmentTest {
|
||||
setUpMedia();
|
||||
setUpOther();
|
||||
|
||||
FakeFeatureFlags featureFlags = new FakeFeatureFlags();
|
||||
return new QSFragment(
|
||||
new RemoteInputQuickSettingsDisabler(
|
||||
context, commandQueue, mock(ConfigurationController.class)),
|
||||
mock(QSTileHost.class),
|
||||
mStatusBarStateController,
|
||||
commandQueue,
|
||||
mQSMediaHost,
|
||||
@@ -515,9 +511,8 @@ public class QSFragmentTest extends SysuiBaseFragmentTest {
|
||||
mBypassController,
|
||||
mQsComponentFactory,
|
||||
mock(QSFragmentDisableFlagsLogger.class),
|
||||
mFalsingManager,
|
||||
mock(DumpManager.class),
|
||||
featureFlags,
|
||||
mock(QSLogger.class),
|
||||
mock(FooterActionsController.class),
|
||||
mFooterActionsViewModelFactory);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user