Merge "Clean up most Shade package warnings" into tm-qpr-dev

This commit is contained in:
TreeHugger Robot
2022-08-04 00:35:16 +00:00
committed by Android (Google) Code Review
7 changed files with 51 additions and 85 deletions

View File

@@ -44,7 +44,6 @@ import android.animation.Animator;
import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorListenerAdapter;
import android.animation.ValueAnimator; import android.animation.ValueAnimator;
import android.annotation.NonNull; import android.annotation.NonNull;
import android.app.ActivityManager;
import android.app.Fragment; import android.app.Fragment;
import android.app.StatusBarManager; import android.app.StatusBarManager;
import android.content.ContentResolver; import android.content.ContentResolver;
@@ -288,7 +287,6 @@ public final class NotificationPanelViewController extends PanelViewController {
private final NotificationPanelView mView; private final NotificationPanelView mView;
private final VibratorHelper mVibratorHelper; private final VibratorHelper mVibratorHelper;
private final MetricsLogger mMetricsLogger; private final MetricsLogger mMetricsLogger;
private final ActivityManager mActivityManager;
private final ConfigurationController mConfigurationController; private final ConfigurationController mConfigurationController;
private final Provider<FlingAnimationUtils.Builder> mFlingAnimationUtilsBuilder; private final Provider<FlingAnimationUtils.Builder> mFlingAnimationUtilsBuilder;
private final NotificationStackScrollLayoutController mNotificationStackScrollLayoutController; private final NotificationStackScrollLayoutController mNotificationStackScrollLayoutController;
@@ -341,14 +339,14 @@ public final class NotificationPanelViewController extends PanelViewController {
private final RecordingController mRecordingController; private final RecordingController mRecordingController;
private final PanelEventsEmitter mPanelEventsEmitter; private final PanelEventsEmitter mPanelEventsEmitter;
private boolean mSplitShadeEnabled; private boolean mSplitShadeEnabled;
// The bottom padding reserved for elements of the keyguard measuring notifications /** The bottom padding reserved for elements of the keyguard measuring notifications. */
private float mKeyguardNotificationBottomPadding; private float mKeyguardNotificationBottomPadding;
/** /**
* The top padding from where notification should start in lockscreen. * The top padding from where notification should start in lockscreen.
* Should be static also during animations and should match the Y of the first notification. * Should be static also during animations and should match the Y of the first notification.
*/ */
private float mKeyguardNotificationTopPadding; private float mKeyguardNotificationTopPadding;
// Current max allowed keyguard notifications determined by measuring the panel /** Current max allowed keyguard notifications determined by measuring the panel. */
private int mMaxAllowedKeyguardNotifications; private int mMaxAllowedKeyguardNotifications;
private KeyguardQsUserSwitchController mKeyguardQsUserSwitchController; private KeyguardQsUserSwitchController mKeyguardQsUserSwitchController;
@@ -728,7 +726,6 @@ public final class NotificationPanelViewController extends PanelViewController {
AccessibilityManager accessibilityManager, @DisplayId int displayId, AccessibilityManager accessibilityManager, @DisplayId int displayId,
KeyguardUpdateMonitor keyguardUpdateMonitor, KeyguardUpdateMonitor keyguardUpdateMonitor,
MetricsLogger metricsLogger, MetricsLogger metricsLogger,
ActivityManager activityManager,
ConfigurationController configurationController, ConfigurationController configurationController,
Provider<FlingAnimationUtils.Builder> flingAnimationUtilsBuilder, Provider<FlingAnimationUtils.Builder> flingAnimationUtilsBuilder,
StatusBarTouchableRegionManager statusBarTouchableRegionManager, StatusBarTouchableRegionManager statusBarTouchableRegionManager,
@@ -798,7 +795,6 @@ public final class NotificationPanelViewController extends PanelViewController {
panelExpansionStateManager, panelExpansionStateManager,
ambientState, ambientState,
interactionJankMonitor, interactionJankMonitor,
keyguardUnlockAnimationController,
systemClock); systemClock);
mView = view; mView = view;
mVibratorHelper = vibratorHelper; mVibratorHelper = vibratorHelper;
@@ -808,7 +804,6 @@ public final class NotificationPanelViewController extends PanelViewController {
mQRCodeScannerController = qrCodeScannerController; mQRCodeScannerController = qrCodeScannerController;
mControlsComponent = controlsComponent; mControlsComponent = controlsComponent;
mMetricsLogger = metricsLogger; mMetricsLogger = metricsLogger;
mActivityManager = activityManager;
mConfigurationController = configurationController; mConfigurationController = configurationController;
mFlingAnimationUtilsBuilder = flingAnimationUtilsBuilder; mFlingAnimationUtilsBuilder = flingAnimationUtilsBuilder;
mMediaHierarchyManager = mediaHierarchyManager; mMediaHierarchyManager = mediaHierarchyManager;
@@ -3969,7 +3964,7 @@ public final class NotificationPanelViewController extends PanelViewController {
* notification data being displayed. In the new notification pipeline, this is handled in * notification data being displayed. In the new notification pipeline, this is handled in
* {@link ShadeViewManager}. * {@link ShadeViewManager}.
*/ */
public void updateNotificationViews(String reason) { public void updateNotificationViews() {
mNotificationStackScrollLayoutController.updateFooter(); mNotificationStackScrollLayoutController.updateFooter();
mNotificationIconAreaController.updateNotificationIcons(createVisibleEntriesList()); mNotificationIconAreaController.updateNotificationIcons(createVisibleEntriesList());
@@ -4426,7 +4421,7 @@ public final class NotificationPanelViewController extends PanelViewController {
NotificationStackScrollLayout.OnEmptySpaceClickListener { NotificationStackScrollLayout.OnEmptySpaceClickListener {
@Override @Override
public void onEmptySpaceClicked(float x, float y) { public void onEmptySpaceClicked(float x, float y) {
onEmptySpaceClick(x); onEmptySpaceClick();
} }
} }

View File

@@ -89,7 +89,6 @@ public class NotificationShadeWindowControllerImpl implements NotificationShadeW
Dumpable, ConfigurationListener { Dumpable, ConfigurationListener {
private static final String TAG = "NotificationShadeWindowController"; private static final String TAG = "NotificationShadeWindowController";
private static final boolean DEBUG = false;
private final Context mContext; private final Context mContext;
private final WindowManager mWindowManager; private final WindowManager mWindowManager;
@@ -190,7 +189,7 @@ public class NotificationShadeWindowControllerImpl implements NotificationShadeW
return; return;
} }
} }
mCallbacks.add(new WeakReference<StatusBarWindowCallback>(callback)); mCallbacks.add(new WeakReference<>(callback));
} }
@Override @Override

View File

@@ -18,6 +18,8 @@ package com.android.systemui.shade;
import static android.view.WindowInsets.Type.systemBars; import static android.view.WindowInsets.Type.systemBars;
import static com.android.systemui.statusbar.phone.CentralSurfaces.DEBUG;
import android.annotation.ColorInt; import android.annotation.ColorInt;
import android.annotation.DrawableRes; import android.annotation.DrawableRes;
import android.annotation.LayoutRes; import android.annotation.LayoutRes;
@@ -52,14 +54,12 @@ import android.widget.FrameLayout;
import com.android.internal.view.FloatingActionMode; import com.android.internal.view.FloatingActionMode;
import com.android.internal.widget.floatingtoolbar.FloatingToolbar; import com.android.internal.widget.floatingtoolbar.FloatingToolbar;
import com.android.systemui.R; import com.android.systemui.R;
import com.android.systemui.statusbar.phone.CentralSurfaces;
/** /**
* Combined keyguard and notification panel view. Also holding backdrop and scrims. * Combined keyguard and notification panel view. Also holding backdrop and scrims.
*/ */
public class NotificationShadeWindowView extends FrameLayout { public class NotificationShadeWindowView extends FrameLayout {
public static final String TAG = "NotificationShadeWindowView"; public static final String TAG = "NotificationShadeWindowView";
public static final boolean DEBUG = CentralSurfaces.DEBUG;
private int mRightInset = 0; private int mRightInset = 0;
private int mLeftInset = 0; private int mLeftInset = 0;
@@ -221,7 +221,7 @@ public class NotificationShadeWindowView extends FrameLayout {
} }
} }
class LayoutParams extends FrameLayout.LayoutParams { private static class LayoutParams extends FrameLayout.LayoutParams {
public boolean ignoreRightInset; public boolean ignoreRightInset;
@@ -243,7 +243,7 @@ public class NotificationShadeWindowView extends FrameLayout {
public ActionMode startActionModeForChild(View originalView, ActionMode.Callback callback, public ActionMode startActionModeForChild(View originalView, ActionMode.Callback callback,
int type) { int type) {
if (type == ActionMode.TYPE_FLOATING) { if (type == ActionMode.TYPE_FLOATING) {
return startActionMode(originalView, callback, type); return startActionMode(originalView, callback);
} }
return super.startActionModeForChild(originalView, callback, type); return super.startActionModeForChild(originalView, callback, type);
} }
@@ -258,13 +258,9 @@ public class NotificationShadeWindowView extends FrameLayout {
final FloatingActionMode mode = final FloatingActionMode mode =
new FloatingActionMode(mContext, callback, originatingView, mFloatingToolbar); new FloatingActionMode(mContext, callback, originatingView, mFloatingToolbar);
mFloatingActionModeOriginatingView = originatingView; mFloatingActionModeOriginatingView = originatingView;
mFloatingToolbarPreDrawListener = mFloatingToolbarPreDrawListener = () -> {
new ViewTreeObserver.OnPreDrawListener() {
@Override
public boolean onPreDraw() {
mode.updateViewLocationInWindow(); mode.updateViewLocationInWindow();
return true; return true;
}
}; };
return mode; return mode;
} }
@@ -292,10 +288,10 @@ public class NotificationShadeWindowView extends FrameLayout {
} }
private ActionMode startActionMode( private ActionMode startActionMode(
View originatingView, ActionMode.Callback callback, int type) { View originatingView, ActionMode.Callback callback) {
ActionMode.Callback2 wrappedCallback = new ActionModeCallback2Wrapper(callback); ActionMode.Callback2 wrappedCallback = new ActionModeCallback2Wrapper(callback);
ActionMode mode = createFloatingActionMode(originatingView, wrappedCallback); ActionMode mode = createFloatingActionMode(originatingView, wrappedCallback);
if (mode != null && wrappedCallback.onCreateActionMode(mode, mode.getMenu())) { if (wrappedCallback.onCreateActionMode(mode, mode.getMenu())) {
setHandledFloatingActionMode(mode); setHandledFloatingActionMode(mode);
} else { } else {
mode = null; mode = null;
@@ -382,7 +378,7 @@ public class NotificationShadeWindowView extends FrameLayout {
/** /**
* Minimal window to satisfy FloatingToolbar. * Minimal window to satisfy FloatingToolbar.
*/ */
private Window mFakeWindow = new Window(mContext) { private final Window mFakeWindow = new Window(mContext) {
@Override @Override
public void takeSurface(SurfaceHolder.Callback2 callback) { public void takeSurface(SurfaceHolder.Callback2 callback) {
} }

View File

@@ -48,13 +48,12 @@ public class NotificationsQuickSettingsContainer extends ConstraintLayout
private View mStackScroller; private View mStackScroller;
private View mKeyguardStatusBar; private View mKeyguardStatusBar;
private ArrayList<View> mDrawingOrderedChildren = new ArrayList<>(); private final ArrayList<View> mDrawingOrderedChildren = new ArrayList<>();
private ArrayList<View> mLayoutDrawingOrder = new ArrayList<>(); private final ArrayList<View> mLayoutDrawingOrder = new ArrayList<>();
private final Comparator<View> mIndexComparator = Comparator.comparingInt(this::indexOfChild); private final Comparator<View> mIndexComparator = Comparator.comparingInt(this::indexOfChild);
private Consumer<WindowInsets> mInsetsChangedListener = insets -> {}; private Consumer<WindowInsets> mInsetsChangedListener = insets -> {};
private Consumer<QS> mQSFragmentAttachedListener = qs -> {}; private Consumer<QS> mQSFragmentAttachedListener = qs -> {};
private QS mQs; private QS mQs;
private View mQSScrollView;
private View mQSContainer; private View mQSContainer;
@Nullable @Nullable
@@ -76,7 +75,6 @@ public class NotificationsQuickSettingsContainer extends ConstraintLayout
public void onFragmentViewCreated(String tag, Fragment fragment) { public void onFragmentViewCreated(String tag, Fragment fragment) {
mQs = (QS) fragment; mQs = (QS) fragment;
mQSFragmentAttachedListener.accept(mQs); mQSFragmentAttachedListener.accept(mQs);
mQSScrollView = mQs.getView().findViewById(R.id.expanded_qs_scroll_view);
mQSContainer = mQs.getView().findViewById(R.id.quick_settings_container); mQSContainer = mQs.getView().findViewById(R.id.quick_settings_container);
} }

View File

@@ -49,10 +49,6 @@ public abstract class PanelView extends FrameLayout {
super(context, attrs, defStyleAttr); super(context, attrs, defStyleAttr);
} }
public PanelView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
}
public void setOnTouchListener(PanelViewController.TouchHandler touchHandler) { public void setOnTouchListener(PanelViewController.TouchHandler touchHandler) {
super.setOnTouchListener(touchHandler); super.setOnTouchListener(touchHandler);
mTouchHandler = touchHandler; mTouchHandler = touchHandler;

View File

@@ -19,11 +19,11 @@ package com.android.systemui.shade;
import static android.view.View.INVISIBLE; import static android.view.View.INVISIBLE;
import static android.view.View.VISIBLE; import static android.view.View.VISIBLE;
import static com.android.internal.jank.InteractionJankMonitor.CUJ_NOTIFICATION_SHADE_EXPAND_COLLAPSE;
import static com.android.systemui.classifier.Classifier.BOUNCER_UNLOCK; import static com.android.systemui.classifier.Classifier.BOUNCER_UNLOCK;
import static com.android.systemui.classifier.Classifier.GENERIC; import static com.android.systemui.classifier.Classifier.GENERIC;
import static com.android.systemui.classifier.Classifier.QUICK_SETTINGS; import static com.android.systemui.classifier.Classifier.QUICK_SETTINGS;
import static com.android.systemui.classifier.Classifier.UNLOCK; import static com.android.systemui.classifier.Classifier.UNLOCK;
import static com.android.systemui.shade.PanelView.DEBUG;
import static java.lang.Float.isNaN; import static java.lang.Float.isNaN;
@@ -53,7 +53,6 @@ import com.android.systemui.R;
import com.android.systemui.animation.Interpolators; import com.android.systemui.animation.Interpolators;
import com.android.systemui.classifier.Classifier; import com.android.systemui.classifier.Classifier;
import com.android.systemui.doze.DozeLog; import com.android.systemui.doze.DozeLog;
import com.android.systemui.keyguard.KeyguardUnlockAnimationController;
import com.android.systemui.plugins.FalsingManager; import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.statusbar.NotificationShadeWindowController; import com.android.systemui.statusbar.NotificationShadeWindowController;
import com.android.systemui.statusbar.StatusBarState; import com.android.systemui.statusbar.StatusBarState;
@@ -77,7 +76,6 @@ import java.io.PrintWriter;
import java.util.List; import java.util.List;
public abstract class PanelViewController { public abstract class PanelViewController {
public static final boolean DEBUG = PanelView.DEBUG;
public static final String TAG = PanelView.class.getSimpleName(); public static final String TAG = PanelView.class.getSimpleName();
public static final float FLING_MAX_LENGTH_SECONDS = 0.6f; public static final float FLING_MAX_LENGTH_SECONDS = 0.6f;
public static final float FLING_SPEED_UP_FACTOR = 0.6f; public static final float FLING_SPEED_UP_FACTOR = 0.6f;
@@ -97,7 +95,7 @@ public abstract class PanelViewController {
protected boolean mTouchSlopExceededBeforeDown; protected boolean mTouchSlopExceededBeforeDown;
private float mMinExpandHeight; private float mMinExpandHeight;
private boolean mPanelUpdateWhenAnimatorEnds; private boolean mPanelUpdateWhenAnimatorEnds;
private boolean mVibrateOnOpening; private final boolean mVibrateOnOpening;
protected boolean mIsLaunchAnimationRunning; protected boolean mIsLaunchAnimationRunning;
private int mFixedDuration = NO_FIXED_DURATION; private int mFixedDuration = NO_FIXED_DURATION;
protected float mOverExpansion; protected float mOverExpansion;
@@ -144,7 +142,6 @@ public abstract class PanelViewController {
private int mTouchSlop; private int mTouchSlop;
private float mSlopMultiplier; private float mSlopMultiplier;
protected boolean mHintAnimationRunning; protected boolean mHintAnimationRunning;
private boolean mOverExpandedBeforeFling;
private boolean mTouchAboveFalsingThreshold; private boolean mTouchAboveFalsingThreshold;
private int mUnlockFalsingThreshold; private int mUnlockFalsingThreshold;
private boolean mTouchStartedInEmptyArea; private boolean mTouchStartedInEmptyArea;
@@ -155,9 +152,9 @@ public abstract class PanelViewController {
private ValueAnimator mHeightAnimator; private ValueAnimator mHeightAnimator;
private final VelocityTracker mVelocityTracker = VelocityTracker.obtain(); private final VelocityTracker mVelocityTracker = VelocityTracker.obtain();
private FlingAnimationUtils mFlingAnimationUtils; private final FlingAnimationUtils mFlingAnimationUtils;
private FlingAnimationUtils mFlingAnimationUtilsClosing; private final FlingAnimationUtils mFlingAnimationUtilsClosing;
private FlingAnimationUtils mFlingAnimationUtilsDismissing; private final FlingAnimationUtils mFlingAnimationUtilsDismissing;
private final LatencyTracker mLatencyTracker; private final LatencyTracker mLatencyTracker;
private final FalsingManager mFalsingManager; private final FalsingManager mFalsingManager;
private final DozeLog mDozeLog; private final DozeLog mDozeLog;
@@ -178,9 +175,9 @@ public abstract class PanelViewController {
/** /**
* Whether or not the PanelView can be expanded or collapsed with a drag. * Whether or not the PanelView can be expanded or collapsed with a drag.
*/ */
private boolean mNotificationsDragEnabled; private final boolean mNotificationsDragEnabled;
private Interpolator mBounceInterpolator; private final Interpolator mBounceInterpolator;
protected KeyguardBottomAreaView mKeyguardBottomArea; protected KeyguardBottomAreaView mKeyguardBottomArea;
/** /**
@@ -201,7 +198,6 @@ public abstract class PanelViewController {
protected final AmbientState mAmbientState; protected final AmbientState mAmbientState;
protected final LockscreenGestureLogger mLockscreenGestureLogger; protected final LockscreenGestureLogger mLockscreenGestureLogger;
private final PanelExpansionStateManager mPanelExpansionStateManager; private final PanelExpansionStateManager mPanelExpansionStateManager;
private final TouchHandler mTouchHandler;
private final InteractionJankMonitor mInteractionJankMonitor; private final InteractionJankMonitor mInteractionJankMonitor;
protected final SystemClock mSystemClock; protected final SystemClock mSystemClock;
@@ -229,8 +225,6 @@ public abstract class PanelViewController {
return mAmbientState; return mAmbientState;
} }
private KeyguardUnlockAnimationController mKeyguardUnlockAnimationController;
public PanelViewController( public PanelViewController(
PanelView view, PanelView view,
FalsingManager falsingManager, FalsingManager falsingManager,
@@ -247,9 +241,7 @@ public abstract class PanelViewController {
PanelExpansionStateManager panelExpansionStateManager, PanelExpansionStateManager panelExpansionStateManager,
AmbientState ambientState, AmbientState ambientState,
InteractionJankMonitor interactionJankMonitor, InteractionJankMonitor interactionJankMonitor,
KeyguardUnlockAnimationController keyguardUnlockAnimationController,
SystemClock systemClock) { SystemClock systemClock) {
mKeyguardUnlockAnimationController = keyguardUnlockAnimationController;
keyguardStateController.addCallback(new KeyguardStateController.Callback() { keyguardStateController.addCallback(new KeyguardStateController.Callback() {
@Override @Override
public void onKeyguardFadingAwayChanged() { public void onKeyguardFadingAwayChanged() {
@@ -261,7 +253,7 @@ public abstract class PanelViewController {
mStatusBarKeyguardViewManager = statusBarKeyguardViewManager; mStatusBarKeyguardViewManager = statusBarKeyguardViewManager;
mLockscreenGestureLogger = lockscreenGestureLogger; mLockscreenGestureLogger = lockscreenGestureLogger;
mPanelExpansionStateManager = panelExpansionStateManager; mPanelExpansionStateManager = panelExpansionStateManager;
mTouchHandler = createTouchHandler(); TouchHandler touchHandler = createTouchHandler();
mView.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() { mView.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() {
@Override @Override
public void onViewAttachedToWindow(View v) { public void onViewAttachedToWindow(View v) {
@@ -274,7 +266,7 @@ public abstract class PanelViewController {
}); });
mView.addOnLayoutChangeListener(createLayoutChangeListener()); mView.addOnLayoutChangeListener(createLayoutChangeListener());
mView.setOnTouchListener(mTouchHandler); mView.setOnTouchListener(touchHandler);
mView.setOnConfigurationChangedListener(createOnConfigurationChangedListener()); mView.setOnConfigurationChangedListener(createOnConfigurationChangedListener());
mResources = mView.getResources(); mResources = mView.getResources();
@@ -398,7 +390,7 @@ public abstract class PanelViewController {
public void startExpandMotion(float newX, float newY, boolean startTracking, public void startExpandMotion(float newX, float newY, boolean startTracking,
float expandedHeight) { float expandedHeight) {
if (!mHandlingPointerUp && !mStatusBarStateController.isDozing()) { if (!mHandlingPointerUp && !mStatusBarStateController.isDozing()) {
beginJankMonitoring(CUJ_NOTIFICATION_SHADE_EXPAND_COLLAPSE); beginJankMonitoring();
} }
mInitialOffsetOnTouch = expandedHeight; mInitialOffsetOnTouch = expandedHeight;
mInitialTouchY = newY; mInitialTouchY = newY;
@@ -475,7 +467,7 @@ public abstract class PanelViewController {
} else if (!mCentralSurfaces.isBouncerShowing() } else if (!mCentralSurfaces.isBouncerShowing()
&& !mStatusBarKeyguardViewManager.isShowingAlternateAuthOrAnimating() && !mStatusBarKeyguardViewManager.isShowingAlternateAuthOrAnimating()
&& !mKeyguardStateController.isKeyguardGoingAway()) { && !mKeyguardStateController.isKeyguardGoingAway()) {
boolean expands = onEmptySpaceClick(mInitialTouchX); boolean expands = onEmptySpaceClick();
onTrackingStopped(expands); onTrackingStopped(expands);
} }
mVelocityTracker.clear(); mVelocityTracker.clear();
@@ -670,7 +662,7 @@ public abstract class PanelViewController {
@Override @Override
public void onAnimationStart(Animator animation) { public void onAnimationStart(Animator animation) {
if (!mStatusBarStateController.isDozing()) { if (!mStatusBarStateController.isDozing()) {
beginJankMonitoring(CUJ_NOTIFICATION_SHADE_EXPAND_COLLAPSE); beginJankMonitoring();
} }
} }
@@ -702,10 +694,8 @@ public abstract class PanelViewController {
mIsSpringBackAnimation = true; mIsSpringBackAnimation = true;
ValueAnimator animator = ValueAnimator.ofFloat(mOverExpansion, 0); ValueAnimator animator = ValueAnimator.ofFloat(mOverExpansion, 0);
animator.addUpdateListener( animator.addUpdateListener(
animation -> { animation -> setOverExpansionInternal((float) animation.getAnimatedValue(),
setOverExpansionInternal((float) animation.getAnimatedValue(), false /* isFromGesture */));
false /* isFromGesture */);
});
animator.setDuration(SHADE_OPEN_SPRING_BACK_DURATION); animator.setDuration(SHADE_OPEN_SPRING_BACK_DURATION);
animator.setInterpolator(Interpolators.FAST_OUT_SLOW_IN); animator.setInterpolator(Interpolators.FAST_OUT_SLOW_IN);
animator.addListener(new AnimatorListenerAdapter() { animator.addListener(new AnimatorListenerAdapter() {
@@ -731,10 +721,10 @@ public abstract class PanelViewController {
setAnimator(null); setAnimator(null);
mKeyguardStateController.notifyPanelFlingEnd(); mKeyguardStateController.notifyPanelFlingEnd();
if (!cancelled) { if (!cancelled) {
endJankMonitoring(CUJ_NOTIFICATION_SHADE_EXPAND_COLLAPSE); endJankMonitoring();
notifyExpandingFinished(); notifyExpandingFinished();
} else { } else {
cancelJankMonitoring(CUJ_NOTIFICATION_SHADE_EXPAND_COLLAPSE); cancelJankMonitoring();
} }
updatePanelExpansionAndVisibility(); updatePanelExpansionAndVisibility();
} }
@@ -773,13 +763,6 @@ public abstract class PanelViewController {
setExpandedHeight(currentMaxPanelHeight); setExpandedHeight(currentMaxPanelHeight);
} }
private float getStackHeightFraction(float height) {
final float gestureFraction = height / getMaxPanelHeight();
final float stackHeightFraction = Interpolators.ACCELERATE_DECELERATE
.getInterpolation(gestureFraction);
return stackHeightFraction;
}
public void setExpandedHeightInternal(float h) { public void setExpandedHeightInternal(float h) {
if (isNaN(h)) { if (isNaN(h)) {
Log.wtf(TAG, "ExpandedHeight set to NaN"); Log.wtf(TAG, "ExpandedHeight set to NaN");
@@ -911,13 +894,8 @@ public abstract class PanelViewController {
return !isFullyCollapsed() && !mTracking && !mClosing; return !isFullyCollapsed() && !mTracking && !mClosing;
} }
private final Runnable mFlingCollapseRunnable = new Runnable() { private final Runnable mFlingCollapseRunnable = () -> fling(0, false /* expand */,
@Override mNextCollapseSpeedUpFactor, false /* expandBecauseOfFalsing */);
public void run() {
fling(0, false /* expand */, mNextCollapseSpeedUpFactor,
false /* expandBecauseOfFalsing */);
}
};
public void expand(final boolean animate) { public void expand(final boolean animate) {
if (!isFullyCollapsed() && !isCollapsing()) { if (!isFullyCollapsed() && !isCollapsing()) {
@@ -950,7 +928,7 @@ public abstract class PanelViewController {
mView.getViewTreeObserver().removeOnGlobalLayoutListener(this); mView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
if (mAnimateAfterExpanding) { if (mAnimateAfterExpanding) {
notifyExpandingStarted(); notifyExpandingStarted();
beginJankMonitoring(CUJ_NOTIFICATION_SHADE_EXPAND_COLLAPSE); beginJankMonitoring();
fling(0, true /* expand */); fling(0, true /* expand */);
} else { } else {
setExpandedFraction(1f); setExpandedFraction(1f);
@@ -1150,7 +1128,7 @@ public abstract class PanelViewController {
* *
* @return whether the panel will be expanded after the action performed by this method * @return whether the panel will be expanded after the action performed by this method
*/ */
protected boolean onEmptySpaceClick(float x) { protected boolean onEmptySpaceClick() {
if (mHintAnimationRunning) { if (mHintAnimationRunning) {
return true; return true;
} }
@@ -1432,9 +1410,9 @@ public abstract class PanelViewController {
// mHeightAnimator is null, there is no remaining frame, ends instrumenting. // mHeightAnimator is null, there is no remaining frame, ends instrumenting.
if (mHeightAnimator == null) { if (mHeightAnimator == null) {
if (event.getActionMasked() == MotionEvent.ACTION_UP) { if (event.getActionMasked() == MotionEvent.ACTION_UP) {
endJankMonitoring(CUJ_NOTIFICATION_SHADE_EXPAND_COLLAPSE); endJankMonitoring();
} else { } else {
cancelJankMonitoring(CUJ_NOTIFICATION_SHADE_EXPAND_COLLAPSE); cancelJankMonitoring();
} }
} }
break; break;
@@ -1465,28 +1443,32 @@ public abstract class PanelViewController {
} }
} }
private void beginJankMonitoring(int cuj) { private void beginJankMonitoring() {
if (mInteractionJankMonitor == null) { if (mInteractionJankMonitor == null) {
return; return;
} }
InteractionJankMonitor.Configuration.Builder builder = InteractionJankMonitor.Configuration.Builder builder =
InteractionJankMonitor.Configuration.Builder.withView(cuj, mView) InteractionJankMonitor.Configuration.Builder.withView(
InteractionJankMonitor.CUJ_NOTIFICATION_SHADE_EXPAND_COLLAPSE,
mView)
.setTag(isFullyCollapsed() ? "Expand" : "Collapse"); .setTag(isFullyCollapsed() ? "Expand" : "Collapse");
mInteractionJankMonitor.begin(builder); mInteractionJankMonitor.begin(builder);
} }
private void endJankMonitoring(int cuj) { private void endJankMonitoring() {
if (mInteractionJankMonitor == null) { if (mInteractionJankMonitor == null) {
return; return;
} }
InteractionJankMonitor.getInstance().end(cuj); InteractionJankMonitor.getInstance().end(
InteractionJankMonitor.CUJ_NOTIFICATION_SHADE_EXPAND_COLLAPSE);
} }
private void cancelJankMonitoring(int cuj) { private void cancelJankMonitoring() {
if (mInteractionJankMonitor == null) { if (mInteractionJankMonitor == null) {
return; return;
} }
InteractionJankMonitor.getInstance().cancel(cuj); InteractionJankMonitor.getInstance().cancel(
InteractionJankMonitor.CUJ_NOTIFICATION_SHADE_EXPAND_COLLAPSE);
} }
protected float getExpansionFraction() { protected float getExpansionFraction() {

View File

@@ -527,7 +527,7 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase {
mNotificationShadeWindowController, mNotificationShadeWindowController,
mDozeLog, mDozeParameters, mCommandQueue, mVibratorHelper, mDozeLog, mDozeParameters, mCommandQueue, mVibratorHelper,
mLatencyTracker, mPowerManager, mAccessibilityManager, 0, mUpdateMonitor, mLatencyTracker, mPowerManager, mAccessibilityManager, 0, mUpdateMonitor,
mMetricsLogger, mActivityManager, mConfigurationController, mMetricsLogger, mConfigurationController,
() -> flingAnimationUtilsBuilder, mStatusBarTouchableRegionManager, () -> flingAnimationUtilsBuilder, mStatusBarTouchableRegionManager,
mConversationNotificationManager, mMediaHiearchyManager, mConversationNotificationManager, mMediaHiearchyManager,
mStatusBarKeyguardViewManager, mStatusBarKeyguardViewManager,