Merge "Add SwipeHelper dump to better understand the error state." into udc-dev
This commit is contained in:
@@ -20,6 +20,7 @@ import static androidx.dynamicanimation.animation.DynamicAnimation.TRANSLATION_X
|
|||||||
import static androidx.dynamicanimation.animation.FloatPropertyCompat.createFloatPropertyCompat;
|
import static androidx.dynamicanimation.animation.FloatPropertyCompat.createFloatPropertyCompat;
|
||||||
|
|
||||||
import static com.android.systemui.classifier.Classifier.NOTIFICATION_DISMISS;
|
import static com.android.systemui.classifier.Classifier.NOTIFICATION_DISMISS;
|
||||||
|
import static com.android.systemui.statusbar.notification.NotificationUtils.logKey;
|
||||||
|
|
||||||
import android.animation.Animator;
|
import android.animation.Animator;
|
||||||
import android.animation.AnimatorListenerAdapter;
|
import android.animation.AnimatorListenerAdapter;
|
||||||
@@ -54,9 +55,10 @@ import com.android.wm.shell.animation.FlingAnimationUtils;
|
|||||||
import com.android.wm.shell.animation.PhysicsAnimator;
|
import com.android.wm.shell.animation.PhysicsAnimator;
|
||||||
import com.android.wm.shell.animation.PhysicsAnimator.SpringConfig;
|
import com.android.wm.shell.animation.PhysicsAnimator.SpringConfig;
|
||||||
|
|
||||||
|
import java.io.PrintWriter;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
public class SwipeHelper implements Gefingerpoken {
|
public class SwipeHelper implements Gefingerpoken, Dumpable {
|
||||||
static final String TAG = "com.android.systemui.SwipeHelper";
|
static final String TAG = "com.android.systemui.SwipeHelper";
|
||||||
private static final boolean DEBUG_INVALIDATE = false;
|
private static final boolean DEBUG_INVALIDATE = false;
|
||||||
private static final boolean CONSTRAIN_SWIPE = true;
|
private static final boolean CONSTRAIN_SWIPE = true;
|
||||||
@@ -844,6 +846,31 @@ public class SwipeHelper implements Gefingerpoken {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void dump(@NonNull PrintWriter pw, @NonNull String[] args) {
|
||||||
|
pw.append("mTouchedView=").print(mTouchedView);
|
||||||
|
if (mTouchedView instanceof ExpandableNotificationRow) {
|
||||||
|
pw.append(" key=").println(logKey((ExpandableNotificationRow) mTouchedView));
|
||||||
|
} else {
|
||||||
|
pw.println();
|
||||||
|
}
|
||||||
|
pw.append("mIsSwiping=").println(mIsSwiping);
|
||||||
|
pw.append("mSnappingChild=").println(mSnappingChild);
|
||||||
|
pw.append("mLongPressSent=").println(mLongPressSent);
|
||||||
|
pw.append("mInitialTouchPos=").println(mInitialTouchPos);
|
||||||
|
pw.append("mTranslation=").println(mTranslation);
|
||||||
|
pw.append("mCanCurrViewBeDimissed=").println(mCanCurrViewBeDimissed);
|
||||||
|
pw.append("mMenuRowIntercepting=").println(mMenuRowIntercepting);
|
||||||
|
pw.append("mDisableHwLayers=").println(mDisableHwLayers);
|
||||||
|
pw.append("mDismissPendingMap: ").println(mDismissPendingMap.size());
|
||||||
|
if (!mDismissPendingMap.isEmpty()) {
|
||||||
|
mDismissPendingMap.forEach((view, animator) -> {
|
||||||
|
pw.append(" ").print(view);
|
||||||
|
pw.append(": ").println(animator);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public interface Callback {
|
public interface Callback {
|
||||||
View getChildAtPosition(MotionEvent ev);
|
View getChildAtPosition(MotionEvent ev);
|
||||||
|
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ import com.android.internal.annotations.VisibleForTesting;
|
|||||||
import com.android.internal.jank.InteractionJankMonitor;
|
import com.android.internal.jank.InteractionJankMonitor;
|
||||||
import com.android.systemui.SwipeHelper;
|
import com.android.systemui.SwipeHelper;
|
||||||
import com.android.systemui.dagger.qualifiers.Main;
|
import com.android.systemui.dagger.qualifiers.Main;
|
||||||
|
import com.android.systemui.dump.DumpManager;
|
||||||
import com.android.systemui.flags.FeatureFlags;
|
import com.android.systemui.flags.FeatureFlags;
|
||||||
import com.android.systemui.plugins.FalsingManager;
|
import com.android.systemui.plugins.FalsingManager;
|
||||||
import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin;
|
import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin;
|
||||||
@@ -545,14 +546,17 @@ class NotificationSwipeHelper extends SwipeHelper implements NotificationSwipeAc
|
|||||||
private final FeatureFlags mFeatureFlags;
|
private final FeatureFlags mFeatureFlags;
|
||||||
private NotificationCallback mNotificationCallback;
|
private NotificationCallback mNotificationCallback;
|
||||||
private NotificationMenuRowPlugin.OnMenuEventListener mOnMenuEventListener;
|
private NotificationMenuRowPlugin.OnMenuEventListener mOnMenuEventListener;
|
||||||
|
private DumpManager mDumpManager;
|
||||||
private NotificationRoundnessManager mNotificationRoundnessManager;
|
private NotificationRoundnessManager mNotificationRoundnessManager;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
Builder(@Main Resources resources, ViewConfiguration viewConfiguration,
|
Builder(@Main Resources resources, ViewConfiguration viewConfiguration,
|
||||||
|
DumpManager dumpManager,
|
||||||
FalsingManager falsingManager, FeatureFlags featureFlags,
|
FalsingManager falsingManager, FeatureFlags featureFlags,
|
||||||
NotificationRoundnessManager notificationRoundnessManager) {
|
NotificationRoundnessManager notificationRoundnessManager) {
|
||||||
mResources = resources;
|
mResources = resources;
|
||||||
mViewConfiguration = viewConfiguration;
|
mViewConfiguration = viewConfiguration;
|
||||||
|
mDumpManager = dumpManager;
|
||||||
mFalsingManager = falsingManager;
|
mFalsingManager = falsingManager;
|
||||||
mFeatureFlags = featureFlags;
|
mFeatureFlags = featureFlags;
|
||||||
mNotificationRoundnessManager = notificationRoundnessManager;
|
mNotificationRoundnessManager = notificationRoundnessManager;
|
||||||
@@ -570,9 +574,12 @@ class NotificationSwipeHelper extends SwipeHelper implements NotificationSwipeAc
|
|||||||
}
|
}
|
||||||
|
|
||||||
NotificationSwipeHelper build() {
|
NotificationSwipeHelper build() {
|
||||||
return new NotificationSwipeHelper(mResources, mViewConfiguration, mFalsingManager,
|
NotificationSwipeHelper swipeHelper = new NotificationSwipeHelper(
|
||||||
|
mResources, mViewConfiguration, mFalsingManager,
|
||||||
mFeatureFlags, mNotificationCallback, mOnMenuEventListener,
|
mFeatureFlags, mNotificationCallback, mOnMenuEventListener,
|
||||||
mNotificationRoundnessManager);
|
mNotificationRoundnessManager);
|
||||||
|
mDumpManager.registerDumpable(swipeHelper);
|
||||||
|
return swipeHelper;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user