Merge "Add logging to QSFragment by implementing Dumpable" into tm-dev

This commit is contained in:
Christian Göllner
2022-03-30 13:49:27 +00:00
committed by Android (Google) Code Review
8 changed files with 89 additions and 17 deletions

View File

@@ -3562,8 +3562,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
pw.println(" udfpsEnrolled=" + isUdfpsEnrolled()); pw.println(" udfpsEnrolled=" + isUdfpsEnrolled());
pw.println(" shouldListenForUdfps=" + shouldListenForFingerprint(true)); pw.println(" shouldListenForUdfps=" + shouldListenForFingerprint(true));
pw.println(" bouncerVisible=" + mBouncer); pw.println(" bouncerVisible=" + mBouncer);
pw.println(" mStatusBarState=" pw.println(" mStatusBarState=" + StatusBarState.toString(mStatusBarState));
+ StatusBarState.toShortString(mStatusBarState));
} }
} }
if (mFaceManager != null && mFaceManager.isHardwareDetected()) { if (mFaceManager != null && mFaceManager.isHardwareDetected()) {

View File

@@ -394,7 +394,7 @@ public class LockIconViewController extends ViewController<LockIconView> impleme
pw.println(" mUserUnlockedWithBiometric: " + mUserUnlockedWithBiometric); pw.println(" mUserUnlockedWithBiometric: " + mUserUnlockedWithBiometric);
pw.println(" mRunningFPS: " + mRunningFPS); pw.println(" mRunningFPS: " + mRunningFPS);
pw.println(" mCanDismissLockScreen: " + mCanDismissLockScreen); pw.println(" mCanDismissLockScreen: " + mCanDismissLockScreen);
pw.println(" mStatusBarState: " + StatusBarState.toShortString(mStatusBarState)); pw.println(" mStatusBarState: " + StatusBarState.toString(mStatusBarState));
pw.println(" mQsExpanded: " + mQsExpanded); pw.println(" mQsExpanded: " + mQsExpanded);
pw.println(" mInterpolatedDarkAmount: " + mInterpolatedDarkAmount); pw.println(" mInterpolatedDarkAmount: " + mInterpolatedDarkAmount);

View File

@@ -185,7 +185,7 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud
super.dump(fd, pw, args); super.dump(fd, pw, args);
pw.println("mShowingUdfpsBouncer=" + mShowingUdfpsBouncer); pw.println("mShowingUdfpsBouncer=" + mShowingUdfpsBouncer);
pw.println("mFaceDetectRunning=" + mFaceDetectRunning); pw.println("mFaceDetectRunning=" + mFaceDetectRunning);
pw.println("mStatusBarState=" + StatusBarState.toShortString(mStatusBarState)); pw.println("mStatusBarState=" + StatusBarState.toString(mStatusBarState));
pw.println("mQsExpanded=" + mQsExpanded); pw.println("mQsExpanded=" + mQsExpanded);
pw.println("mIsBouncerVisible=" + mIsBouncerVisible); pw.println("mIsBouncerVisible=" + mIsBouncerVisible);
pw.println("mInputBouncerHiddenAmount=" + mInputBouncerHiddenAmount); pw.println("mInputBouncerHiddenAmount=" + mInputBouncerHiddenAmount);

View File

@@ -77,7 +77,7 @@ class FalsingCollectorImpl implements FalsingCollector {
new StatusBarStateController.StateListener() { new StatusBarStateController.StateListener() {
@Override @Override
public void onStateChanged(int newState) { public void onStateChanged(int newState) {
logDebug("StatusBarState=" + StatusBarState.toShortString(newState)); logDebug("StatusBarState=" + StatusBarState.toString(newState));
mState = newState; mState = newState;
updateSessionActive(); updateSessionActive();
} }

View File

@@ -26,6 +26,7 @@ import android.content.res.Configuration;
import android.graphics.Rect; import android.graphics.Rect;
import android.os.Bundle; import android.os.Bundle;
import android.os.Trace; import android.os.Trace;
import android.util.IndentingPrintWriter;
import android.util.Log; import android.util.Log;
import android.view.ContextThemeWrapper; import android.view.ContextThemeWrapper;
import android.view.LayoutInflater; import android.view.LayoutInflater;
@@ -38,6 +39,7 @@ import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
import com.android.keyguard.BouncerPanelExpansionCalculator; import com.android.keyguard.BouncerPanelExpansionCalculator;
import com.android.systemui.Dumpable;
import com.android.systemui.R; import com.android.systemui.R;
import com.android.systemui.animation.Interpolators; import com.android.systemui.animation.Interpolators;
import com.android.systemui.animation.ShadeInterpolation; import com.android.systemui.animation.ShadeInterpolation;
@@ -58,13 +60,16 @@ import com.android.systemui.statusbar.policy.RemoteInputQuickSettingsDisabler;
import com.android.systemui.util.LifecycleFragment; import com.android.systemui.util.LifecycleFragment;
import com.android.systemui.util.Utils; import com.android.systemui.util.Utils;
import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.function.Consumer; import java.util.function.Consumer;
import javax.inject.Inject; import javax.inject.Inject;
import javax.inject.Named; import javax.inject.Named;
public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Callbacks, public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Callbacks,
StatusBarStateController.StateListener { StatusBarStateController.StateListener, Dumpable {
private static final String TAG = "QS"; private static final String TAG = "QS";
private static final boolean DEBUG = false; private static final boolean DEBUG = false;
private static final String EXTRA_EXPANDED = "expanded"; private static final String EXTRA_EXPANDED = "expanded";
@@ -135,7 +140,7 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
*/ */
private boolean mAnimateNextQsUpdate; private boolean mAnimateNextQsUpdate;
private DumpManager mDumpManager; private final DumpManager mDumpManager;
/** /**
* Progress of pull down from the center of the lock screen. * Progress of pull down from the center of the lock screen.
@@ -255,6 +260,12 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
mScrollListener = listener; mScrollListener = listener;
} }
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mDumpManager.registerDumpable(getClass().getName(), this);
}
@Override @Override
public void onDestroy() { public void onDestroy() {
super.onDestroy(); super.onDestroy();
@@ -269,6 +280,7 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
if (mContainer != null) { if (mContainer != null) {
mDumpManager.unregisterDumpable(mContainer.getClass().getName()); mDumpManager.unregisterDumpable(mContainer.getClass().getName());
} }
mDumpManager.unregisterDumpable(getClass().getName());
} }
@Override @Override
@@ -793,4 +805,62 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
setKeyguardShowing(newState == StatusBarState.KEYGUARD); setKeyguardShowing(newState == StatusBarState.KEYGUARD);
updateShowCollapsedOnKeyguard(); updateShowCollapsedOnKeyguard();
} }
@Override
public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
IndentingPrintWriter indentingPw = new IndentingPrintWriter(pw, /* singleIndent= */ " ");
indentingPw.println("QSFragment:");
indentingPw.increaseIndent();
indentingPw.println("mQsBounds: " + mQsBounds);
indentingPw.println("mQsExpanded: " + mQsExpanded);
indentingPw.println("mHeaderAnimating: " + mHeaderAnimating);
indentingPw.println("mStackScrollerOverscrolling: " + mStackScrollerOverscrolling);
indentingPw.println("mListening: " + mListening);
indentingPw.println("mLayoutDirection: " + mLayoutDirection);
indentingPw.println("mLastQSExpansion: " + mLastQSExpansion);
indentingPw.println("mLastPanelFraction: " + mLastPanelFraction);
indentingPw.println("mSquishinessFraction: " + mSquishinessFraction);
indentingPw.println("mQsDisabled: " + mQsDisabled);
indentingPw.println("mTemp: " + Arrays.toString(mTemp));
indentingPw.println("mShowCollapsedOnKeyguard: " + mShowCollapsedOnKeyguard);
indentingPw.println("mLastKeyguardAndExpanded: " + mLastKeyguardAndExpanded);
indentingPw.println("mState: " + StatusBarState.toString(mState));
indentingPw.println("mTmpLocation: " + Arrays.toString(mTmpLocation));
indentingPw.println("mLastViewHeight: " + mLastViewHeight);
indentingPw.println("mLastHeaderTranslation: " + mLastHeaderTranslation);
indentingPw.println("mInSplitShade: " + mInSplitShade);
indentingPw.println("mTransitioningToFullShade: " + mTransitioningToFullShade);
indentingPw.println("mFullShadeProgress: " + mFullShadeProgress);
indentingPw.println("mOverScrolling: " + mOverScrolling);
indentingPw.println("isCustomizing: " + mQSCustomizerController.isCustomizing());
View view = getView();
if (view != null) {
indentingPw.println("top: " + view.getTop());
indentingPw.println("y: " + view.getY());
indentingPw.println("translationY: " + view.getTranslationY());
indentingPw.println("alpha: " + view.getAlpha());
indentingPw.println("height: " + view.getHeight());
indentingPw.println("measuredHeight: " + view.getMeasuredHeight());
indentingPw.println("clipBounds: " + view.getClipBounds());
} else {
indentingPw.println("getView(): null");
}
QuickStatusBarHeader header = mHeader;
if (header != null) {
indentingPw.println("headerHeight: " + header.getHeight());
indentingPw.println("Header visibility: " + visibilityToString(header.getVisibility()));
} else {
indentingPw.println("mHeader: null");
}
}
private static String visibilityToString(int visibility) {
if (visibility == View.VISIBLE) {
return "VISIBLE";
}
if (visibility == View.INVISIBLE) {
return "INVISIBLE";
}
return "GONE";
}
} }

View File

@@ -73,7 +73,7 @@ class QSLogger @Inject constructor(
log(DEBUG, { log(DEBUG, {
str1 = tileSpec str1 = tileSpec
int1 = statusBarState int1 = statusBarState
str2 = StatusBarState.toShortString(statusBarState) str2 = StatusBarState.toString(statusBarState)
str3 = toStateString(state) str3 = toStateString(state)
}, { }, {
"[$str1] Tile clicked. StatusBarState=$str2. TileState=$str3" "[$str1] Tile clicked. StatusBarState=$str2. TileState=$str3"
@@ -84,7 +84,7 @@ class QSLogger @Inject constructor(
log(DEBUG, { log(DEBUG, {
str1 = tileSpec str1 = tileSpec
int1 = statusBarState int1 = statusBarState
str2 = StatusBarState.toShortString(statusBarState) str2 = StatusBarState.toString(statusBarState)
str3 = toStateString(state) str3 = toStateString(state)
}, { }, {
"[$str1] Tile long clicked. StatusBarState=$str2. TileState=$str3" "[$str1] Tile long clicked. StatusBarState=$str2. TileState=$str3"
@@ -95,7 +95,7 @@ class QSLogger @Inject constructor(
log(DEBUG, { log(DEBUG, {
str1 = tileSpec str1 = tileSpec
int1 = statusBarState int1 = statusBarState
str2 = StatusBarState.toShortString(statusBarState) str2 = StatusBarState.toString(statusBarState)
str3 = toStateString(state) str3 = toStateString(state)
}, { }, {
"[$str1] Tile long clicked. StatusBarState=$str2. TileState=$str3" "[$str1] Tile long clicked. StatusBarState=$str2. TileState=$str3"

View File

@@ -37,16 +37,19 @@ public class StatusBarState {
*/ */
public static final int SHADE_LOCKED = 2; public static final int SHADE_LOCKED = 2;
public static String toShortString(int x) { /**
switch (x) { * Returns the textual representation of the status bar state.
*/
public static String toString(int state) {
switch (state) {
case SHADE: case SHADE:
return "SHD"; return "SHADE";
case SHADE_LOCKED: case SHADE_LOCKED:
return "SHD_LCK"; return "SHADE_LOCKED";
case KEYGUARD: case KEYGUARD:
return "KGRD"; return "KEYGUARD";
default: default:
return "bad_value_" + x; return "UNKNOWN: " + state;
} }
} }
} }

View File

@@ -508,7 +508,7 @@ public class StatusBarStateControllerImpl implements
* Returns String readable state of status bar from {@link StatusBarState} * Returns String readable state of status bar from {@link StatusBarState}
*/ */
public static String describe(int state) { public static String describe(int state) {
return StatusBarState.toShortString(state); return StatusBarState.toString(state);
} }
@Override @Override