Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 77c4973a authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge changes I98480518,I7d1079c7,I88648ec1,I2fe4a264,Ie5eb840c, ...

* changes:
  Remove RemoteInputManager from rom NSSL
  Remove MetricsLogger from NSSL
  Remove NotificationRoundessManager from NSSL
  Remove ForegroundServicesSectionController from NSSL
  Remove FgServiceDismissalFeatureController from NSSL
  Remove UiEventLogger from NSSL
parents 59601e88 60f04557
Loading
Loading
Loading
Loading
+3 −22
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
import com.android.systemui.statusbar.notification.row.ExpandableView;
import com.android.systemui.statusbar.phone.KeyguardBypassController;
import com.android.systemui.statusbar.policy.HeadsUpManager;
import com.android.systemui.statusbar.policy.OnHeadsUpChangedListener;

import java.util.HashSet;
@@ -34,7 +35,7 @@ import javax.inject.Inject;
 * A class that manages the roundness for notification views
 */
@SysUISingleton
public class NotificationRoundnessManager implements OnHeadsUpChangedListener {
public class NotificationRoundnessManager {

    private final ExpandableView[] mFirstInSectionViews;
    private final ExpandableView[] mLastInSectionViews;
@@ -59,27 +60,7 @@ public class NotificationRoundnessManager implements OnHeadsUpChangedListener {
        mBypassController = keyguardBypassController;
    }

    @Override
    public void onHeadsUpPinned(NotificationEntry headsUp) {
        updateView(headsUp.getRow(), false /* animate */);
    }

    @Override
    public void onHeadsUpUnPinned(NotificationEntry headsUp) {
        updateView(headsUp.getRow(), true /* animate */);
    }

    public void onHeadsupAnimatingAwayChanged(ExpandableNotificationRow row,
            boolean isAnimatingAway) {
        updateView(row, false /* animate */);
    }

    @Override
    public void onHeadsUpStateChanged(NotificationEntry entry, boolean isHeadsUp) {
        updateView(entry.getRow(), false /* animate */);
    }

    private void updateView(ExpandableView view, boolean animate) {
    public void updateView(ExpandableView view, boolean animate) {
        boolean changed = updateViewWithoutCallback(view, animate);
        if (changed) {
            mRoundingChangedCallback.run();
+41 −76
Original line number Diff line number Diff line
@@ -73,9 +73,6 @@ import android.widget.ScrollView;

import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.graphics.ColorUtils;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.UiEvent;
import com.android.internal.logging.UiEventLogger;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.keyguard.KeyguardSliceView;
import com.android.settingslib.Utils;
@@ -95,7 +92,6 @@ import com.android.systemui.statusbar.RemoteInputController;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.SysuiStatusBarStateController;
import com.android.systemui.statusbar.notification.FakeShadowView;
import com.android.systemui.statusbar.notification.ForegroundServiceDismissalFeatureController;
import com.android.systemui.statusbar.notification.NotificationActivityStarter;
import com.android.systemui.statusbar.notification.NotificationUtils;
import com.android.systemui.statusbar.notification.ShadeViewRefactor;
@@ -264,6 +260,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
    protected EmptyShadeView mEmptyShadeView;
    private boolean mDismissAllInProgress;
    private boolean mFadeNotificationsOnDismiss;
    private FooterDismissListener mFooterDismissListener;

    /**
     * Was the scroller scrolled to the top when the down motion was observed?
@@ -318,7 +315,6 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
    private HashSet<ExpandableView> mClearTransientViewsWhenFinished = new HashSet<>();
    private HashSet<Pair<ExpandableNotificationRow, Boolean>> mHeadsUpChangeAnimations
            = new HashSet<>();
    private final NotificationRoundnessManager mRoundnessManager;
    private boolean mTrackingHeadsUp;
    private boolean mForceNoOverlappingRendering;
    private final ArrayList<Pair<ExpandableNotificationRow, Boolean>> mTmpList = new ArrayList<>();
@@ -450,12 +446,9 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
    private int mHeadsUpInset;
    private HeadsUpAppearanceController mHeadsUpAppearanceController;
    private final Rect mTmpRect = new Rect();
    private DismissListener mDismissListener;
    private DismissAllAnimationListener mDismissAllAnimationListener;
    @VisibleForTesting
    protected final MetricsLogger mMetricsLogger = Dependency.get(MetricsLogger.class);
    protected final UiEventLogger mUiEventLogger;
    private final NotificationRemoteInputManager mRemoteInputManager =
            Dependency.get(NotificationRemoteInputManager.class);
    private NotificationRemoteInputManager mRemoteInputManager;

    private final DisplayMetrics mDisplayMetrics = Dependency.get(DisplayMetrics.class);
    private final LockscreenGestureLogger mLockscreenGestureLogger =
@@ -468,7 +461,6 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
    private NotificationPanelViewController mNotificationPanelController;

    private final NotificationSectionsManager mSectionsManager;
    private final ForegroundServiceSectionController mFgsSectionController;
    private ForegroundServiceDungeonView mFgsSectionView;
    private boolean mAnimateBottomOnLayout;
    private float mLastSentAppear;
@@ -529,22 +521,15 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
    public NotificationStackScrollLayout(
            @Named(VIEW_CONTEXT) Context context,
            AttributeSet attrs,
            NotificationRoundnessManager notificationRoundnessManager,
            SysuiStatusBarStateController statusbarStateController,
            NotificationSectionsManager notificationSectionsManager,
            ForegroundServiceSectionController fgsSectionController,
            ForegroundServiceDismissalFeatureController fgsFeatureController,
            GroupMembershipManager groupMembershipManager,
            GroupExpansionManager groupExpansionManager,
            UiEventLogger uiEventLogger
            SysuiStatusBarStateController statusbarStateController
    ) {
        super(context, attrs, 0, 0);
        Resources res = getResources();

        mRoundnessManager = notificationRoundnessManager;
        mFgsSectionController = fgsSectionController;

        mSectionsManager = notificationSectionsManager;

        mSectionsManager.initialize(this, LayoutInflater.from(context));
        mSectionsManager.setOnClearSilentNotifsClickListener(v -> {
            // Leave the shade open if there will be other notifs left over to clear
@@ -589,18 +574,16 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
        mGroupMembershipManager = groupMembershipManager;
        mGroupExpansionManager = groupExpansionManager;
        mStatusbarStateController = statusbarStateController;
        initializeForegroundServiceSection(fgsFeatureController);
        mUiEventLogger = uiEventLogger;
    }

    private void initializeForegroundServiceSection(
            ForegroundServiceDismissalFeatureController featureController) {
        if (featureController.isForegroundServiceDismissalEnabled()) {
            LayoutInflater li = LayoutInflater.from(mContext);
            mFgsSectionView =
                    (ForegroundServiceDungeonView) mFgsSectionController.createView(li);
            addView(mFgsSectionView, -1);
    void initializeForegroundServiceSection(ForegroundServiceDungeonView fgsSectionView) {
        if (mFgsSectionView != null) {
            return;
        }

        mFgsSectionView = fgsSectionView;

        addView(mFgsSectionView, -1);
    }

    void updateDismissRtlSetting(boolean dismissRtl) {
@@ -3222,7 +3205,8 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
            mAnimateNextSectionBoundsChange = false;
        }
        mAmbientState.setLastVisibleBackgroundChild(lastChild);
        mRoundnessManager.updateRoundedChildren(mSections);
        // TODO: Refactor SectionManager and put the RoundnessManager there.
        mController.getNoticationRoundessManager().updateRoundedChildren(mSections);
        mAnimateBottomOnLayout = false;
        invalidate();
    }
@@ -3297,14 +3281,6 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
        requestChildrenUpdate();
    }

    @ShadeViewRefactor(RefactorComponent.ADAPTER)
    void bindRow(ExpandableNotificationRow row) {
        row.setHeadsUpAnimatingAwayListener(animatingAway -> {
            mRoundnessManager.onHeadsupAnimatingAwayChanged(row, animatingAway);
            mHeadsUpAppearanceController.updateHeader(row.getEntry());
        });
    }

    public boolean containsView(View v) {
        return v.getParent() == this;
    }
@@ -5022,7 +4998,6 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
    public void setTrackingHeadsUp(ExpandableNotificationRow row) {
        mAmbientState.setTrackedHeadsUpRow(row);
        mTrackingHeadsUp = row != null;
        mRoundnessManager.setTrackingHeadsUp(row);
    }

    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
@@ -5343,16 +5318,14 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
    }

    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
    public void setHeadsUpAppearanceController(
    void setHeadsUpAppearanceController(
            HeadsUpAppearanceController headsUpAppearanceController) {
        mHeadsUpAppearanceController = headsUpAppearanceController;
    }

    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
    @VisibleForTesting
    void clearNotifications(
            @SelectedRows int selection,
            boolean closeShade) {
    void clearNotifications(@SelectedRows int selection, boolean closeShade) {
        // animate-swipe all dismissable notifications, then animate the shade closed
        int numChildren = getChildCount();

@@ -5393,8 +5366,9 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
            }
        }

        // Log dismiss event even if there's nothing to dismiss
        mUiEventLogger.log(NotificationPanelEvent.fromSelection(selection));
        if (mDismissListener != null) {
            mDismissListener.onDismiss(selection);
        }

        if (viewsToRemove.isEmpty()) {
            if (closeShade) {
@@ -5484,7 +5458,9 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
        FooterView footerView = (FooterView) LayoutInflater.from(mContext).inflate(
                R.layout.status_bar_notification_footer, this, false);
        footerView.setDismissButtonClickListener(v -> {
            mMetricsLogger.action(MetricsEvent.ACTION_DISMISS_ALL_NOTES);
            if (mFooterDismissListener != null) {
                mFooterDismissListener.onDismiss();
            }
            clearNotifications(ROWS_ALL, true /* closeShade */);
        });
        footerView.setManageButtonClickListener(v -> {
@@ -5701,6 +5677,10 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
        return mCheckForLeavebehind;
    }

    void setDismissListener (DismissListener listener) {
        mDismissListener = listener;
    }

    void setDismissAllAnimationListener(DismissAllAnimationListener dismissAllAnimationListener) {
        mDismissAllAnimationListener = dismissAllAnimationListener;
    }
@@ -5709,6 +5689,14 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
        mHighPriorityBeforeSpeedBump = highPriorityBeforeSpeedBump;
    }

    void setFooterDismissListener(FooterDismissListener listener) {
        mFooterDismissListener = listener;
    }

    public void setRemoteInputManager(NotificationRemoteInputManager remoteInputManager) {
        mRemoteInputManager = remoteInputManager;
    }

    /**
     * A listener that is notified when the empty space below the notifications is clicked on
     */
@@ -6312,39 +6300,16 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
    /** Only rows where entry.isHighPriority() is false. */
    public static final int ROWS_GENTLE = 2;

    /**
     * Enum for UiEvent logged from this class
     */
    enum NotificationPanelEvent implements UiEventLogger.UiEventEnum {
        INVALID(0),
        @UiEvent(doc = "User dismissed all notifications from notification panel.")
        DISMISS_ALL_NOTIFICATIONS_PANEL(312),
        @UiEvent(doc = "User dismissed all silent notifications from notification panel.")
        DISMISS_SILENT_NOTIFICATIONS_PANEL(314);
        private final int mId;
        NotificationPanelEvent(int id) {
            mId = id;
        }
        @Override public int getId() {
            return mId;
    interface KeyguardBypassEnabledProvider {
        boolean getBypassEnabled();
    }

        public static UiEventLogger.UiEventEnum fromSelection(@SelectedRows int selection) {
            if (selection == ROWS_ALL) {
                return DISMISS_ALL_NOTIFICATIONS_PANEL;
            }
            if (selection == ROWS_GENTLE) {
                return DISMISS_SILENT_NOTIFICATIONS_PANEL;
            }
            if (NotificationStackScrollLayout.DEBUG) {
                throw new IllegalArgumentException("Unexpected selection" + selection);
            }
            return INVALID;
        }
    interface DismissListener {
        void onDismiss(@SelectedRows int selectedRows);
    }

    interface KeyguardBypassEnabledProvider {
        boolean getBypassEnabled();
    interface FooterDismissListener {
        void onDismiss();
    }

    interface DismissAllAnimationListener {
+93 −24
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@ import android.service.notification.StatusBarNotification;
import android.util.Log;
import android.util.Pair;
import android.view.Display;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
@@ -47,6 +48,8 @@ import android.widget.FrameLayout;

import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.UiEvent;
import com.android.internal.logging.UiEventLogger;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.statusbar.IStatusBarService;
import com.android.internal.statusbar.NotificationVisibility;
@@ -65,16 +68,17 @@ import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.FeatureFlags;
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
import com.android.systemui.statusbar.NotificationLockscreenUserManager.UserChangedListener;
import com.android.systemui.statusbar.NotificationRemoteInputManager;
import com.android.systemui.statusbar.NotificationShelfController;
import com.android.systemui.statusbar.RemoteInputController;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.SysuiStatusBarStateController;
import com.android.systemui.statusbar.notification.ActivityLaunchAnimator;
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
import com.android.systemui.statusbar.notification.ForegroundServiceDismissalFeatureController;
import com.android.systemui.statusbar.notification.NotificationActivityStarter;
import com.android.systemui.statusbar.notification.NotificationEntryListener;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.ShadeViewRefactor;
import com.android.systemui.statusbar.notification.collection.NotifCollection;
import com.android.systemui.statusbar.notification.collection.NotifPipeline;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
@@ -90,6 +94,7 @@ import com.android.systemui.statusbar.notification.logging.NotificationLogger;
import com.android.systemui.statusbar.notification.row.ActivatableNotificationView;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
import com.android.systemui.statusbar.notification.row.ExpandableView;
import com.android.systemui.statusbar.notification.row.ForegroundServiceDungeonView;
import com.android.systemui.statusbar.notification.row.NotificationGuts;
import com.android.systemui.statusbar.notification.row.NotificationGutsManager;
import com.android.systemui.statusbar.notification.row.NotificationSnooze;
@@ -122,6 +127,7 @@ import kotlin.Unit;
@StatusBarComponent.StatusBarScope
public class NotificationStackScrollLayoutController {
    private static final String TAG = "StackScrollerController";
    private static final boolean DEBUG = false;

    private final boolean mAllowLongPress;
    private final NotificationGutsManager mNotificationGutsManager;
@@ -142,6 +148,11 @@ public class NotificationStackScrollLayoutController {
    private final NotifCollection mNotifCollection;
    private final NotificationEntryManager mNotificationEntryManager;
    private final IStatusBarService mIStatusBarService;
    private final UiEventLogger mUiEventLogger;
    private final ForegroundServiceDismissalFeatureController mFgFeatureController;
    private final ForegroundServiceSectionController mFgServicesSectionController;
    private final LayoutInflater mLayoutInflater;
    private final NotificationRemoteInputManager mRemoteInputManager;
    private final KeyguardMediaController mKeyguardMediaController;
    private final SysuiStatusBarStateController mStatusBarStateController;
    private final KeyguardBypassController mKeyguardBypassController;
@@ -156,6 +167,7 @@ public class NotificationStackScrollLayoutController {
    private NotificationSwipeHelper mSwipeHelper;
    private boolean mShowEmptyShadeView;
    private int mBarState;
    private HeadsUpAppearanceController mHeadsUpAppearanceController;

    private final NotificationListContainerImpl mNotificationListContainer =
            new NotificationListContainerImpl();
@@ -504,12 +516,12 @@ public class NotificationStackScrollLayoutController {

                @Override
                public void onHeadsUpPinned(NotificationEntry entry) {

                    mNotificationRoundnessManager.updateView(entry.getRow(), false /* animate */);
                }

                @Override
                public void onHeadsUpUnPinned(NotificationEntry entry) {

                    mNotificationRoundnessManager.updateView(entry.getRow(), true /* animate */);
                }

                @Override
@@ -518,6 +530,7 @@ public class NotificationStackScrollLayoutController {
                    NotificationEntry topEntry = mHeadsUpManager.getTopEntry();
                    mView.setNumHeadsUp(numEntries);
                    mView.setTopHeadsUpEntry(topEntry);
                    mNotificationRoundnessManager.updateView(entry.getRow(), false /* animate */);
                }
            };

@@ -558,7 +571,12 @@ public class NotificationStackScrollLayoutController {
            NotifPipeline notifPipeline,
            NotifCollection notifCollection,
            NotificationEntryManager notificationEntryManager,
            IStatusBarService iStatusBarService) {
            IStatusBarService iStatusBarService,
            UiEventLogger uiEventLogger,
            ForegroundServiceDismissalFeatureController fgFeatureController,
            ForegroundServiceSectionController fgServicesSectionController,
            LayoutInflater layoutInflater,
            NotificationRemoteInputManager remoteInputManager) {
        mAllowLongPress = allowLongPress;
        mNotificationGutsManager = notificationGutsManager;
        mHeadsUpManager = headsUpManager;
@@ -599,6 +617,11 @@ public class NotificationStackScrollLayoutController {
        mNotifCollection = notifCollection;
        mNotificationEntryManager = notificationEntryManager;
        mIStatusBarService = iStatusBarService;
        mUiEventLogger = uiEventLogger;
        mFgFeatureController = fgFeatureController;
        mFgServicesSectionController = fgServicesSectionController;
        mLayoutInflater = layoutInflater;
        mRemoteInputManager = remoteInputManager;
    }

    public void attach(NotificationStackScrollLayout view) {
@@ -607,6 +630,17 @@ public class NotificationStackScrollLayoutController {
        mView.setTouchHandler(new TouchHandler());
        mView.setStatusBar(mStatusBar);
        mView.setDismissAllAnimationListener(this::onAnimationEnd);
        mView.setDismissListener((selection) -> mUiEventLogger.log(
                NotificationPanelEvent.fromSelection(selection)));
        mView.setFooterDismissListener(() ->
                mMetricsLogger.action(MetricsEvent.ACTION_DISMISS_ALL_NOTES));
        mView.setRemoteInputManager(mRemoteInputManager);

        if (mFgFeatureController.isForegroundServiceDismissalEnabled()) {
            mView.initializeForegroundServiceSection(
                    (ForegroundServiceDungeonView) mFgServicesSectionController.createView(
                            mLayoutInflater));
        }

        mSwipeHelper = mNotificationSwipeHelperBuilder
                .setSwipeDirection(SwipeHelper.X)
@@ -633,7 +667,6 @@ public class NotificationStackScrollLayoutController {
        mView.initView(mView.getContext(), mKeyguardBypassController::getBypassEnabled,
                mSwipeHelper);

        mHeadsUpManager.addListener(mNotificationRoundnessManager); // TODO: why is this here?
        mHeadsUpManager.addListener(mOnHeadsUpChangedListener);
        mHeadsUpManager.setAnimationStateHandler(mView::setHeadsUpGoingAwayAnimationsAllowed);
        mDynamicPrivacyController.addListener(mDynamicPrivacyControllerListener);
@@ -707,6 +740,7 @@ public class NotificationStackScrollLayoutController {
    }

    public void setHeadsUpAppearanceController(HeadsUpAppearanceController controller) {
        mHeadsUpAppearanceController = controller;
        mView.setHeadsUpAppearanceController(controller);
    }

@@ -755,6 +789,7 @@ public class NotificationStackScrollLayoutController {

    public void setTrackingHeadsUp(ExpandableNotificationRow expandableNotificationRow) {
        mView.setTrackingHeadsUp(expandableNotificationRow);
        mNotificationRoundnessManager.setTrackingHeadsUp(expandableNotificationRow);
    }

    public void wakeUpFromPulse() {
@@ -1293,6 +1328,37 @@ public class NotificationStackScrollLayoutController {
        return mDynamicPrivacyController.isInLockedDownShade();
    }

    /**
     * Enum for UiEvent logged from this class
     */
    enum NotificationPanelEvent implements UiEventLogger.UiEventEnum {
        INVALID(0),
        @UiEvent(doc = "User dismissed all notifications from notification panel.")
        DISMISS_ALL_NOTIFICATIONS_PANEL(312),
        @UiEvent(doc = "User dismissed all silent notifications from notification panel.")
        DISMISS_SILENT_NOTIFICATIONS_PANEL(314);
        private final int mId;
        NotificationPanelEvent(int id) {
            mId = id;
        }
        @Override public int getId() {
            return mId;
        }

        public static UiEventLogger.UiEventEnum fromSelection(@SelectedRows int selection) {
            if (selection == ROWS_ALL) {
                return DISMISS_ALL_NOTIFICATIONS_PANEL;
            }
            if (selection == NotificationStackScrollLayout.ROWS_GENTLE) {
                return DISMISS_SILENT_NOTIFICATIONS_PANEL;
            }
            if (NotificationStackScrollLayoutController.DEBUG) {
                throw new IllegalArgumentException("Unexpected selection" + selection);
            }
            return INVALID;
        }
    }

    private class NotificationListContainerImpl implements NotificationListContainer {

        @Override
@@ -1408,7 +1474,10 @@ public class NotificationStackScrollLayoutController {

        @Override
        public void bindRow(ExpandableNotificationRow row) {
            mView.bindRow(row);
            row.setHeadsUpAnimatingAwayListener(animatingAway -> {
                mNotificationRoundnessManager.updateView(row, false);
                mHeadsUpAppearanceController.updateHeader(row.getEntry());
            });
        }

        @Override
+4 −4
Original line number Diff line number Diff line
@@ -73,10 +73,10 @@ public class NotificationRoundnessManagerTest extends SysuiTestCase {
                TestableLooper.get(this));
        mFirst = testHelper.createRow();
        mFirst.setHeadsUpAnimatingAwayListener(animatingAway
                -> mRoundnessManager.onHeadsupAnimatingAwayChanged(mFirst, animatingAway));
                -> mRoundnessManager.updateView(mFirst, false));
        mSecond = testHelper.createRow();
        mSecond.setHeadsUpAnimatingAwayListener(animatingAway
                -> mRoundnessManager.onHeadsupAnimatingAwayChanged(mSecond, animatingAway));
                -> mRoundnessManager.updateView(mSecond, false));
        mRoundnessManager.setOnRoundingChangedCallback(mRoundnessCallback);
        mRoundnessManager.setAnimatedChildren(mAnimatedChildren);
        mRoundnessManager.updateRoundedChildren(new NotificationSection[]{
@@ -160,12 +160,12 @@ public class NotificationRoundnessManagerTest extends SysuiTestCase {

        when(testHelper.getStatusBarStateController().isDozing()).thenReturn(true);
        row.setHeadsUp(true);
        mRoundnessManager.onHeadsUpStateChanged(entry, true);
        mRoundnessManager.updateView(entry.getRow(), false);
        Assert.assertEquals(1f, row.getCurrentBottomRoundness(), 0.0f);
        Assert.assertEquals(1f, row.getCurrentTopRoundness(), 0.0f);

        row.setHeadsUp(false);
        mRoundnessManager.onHeadsUpStateChanged(entry, false);
        mRoundnessManager.updateView(entry.getRow(), false);
        Assert.assertEquals(0f, row.getCurrentBottomRoundness(), 0.0f);
        Assert.assertEquals(0f, row.getCurrentTopRoundness(), 0.0f);
    }
+25 −22

File changed.

Preview size limit exceeded, changes collapsed.

Loading