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

Commit d8dacaf6 authored by Ioana Alexandru's avatar Ioana Alexandru Committed by Android (Google) Code Review
Browse files

Merge "Remove unused fields in ExpandableNotificationRow" into main

parents 8f6127ad 1b908c53
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@ import androidx.test.filters.SmallTest;

import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.systemui.animation.AnimatorTestRule;
import com.android.systemui.flags.FakeFeatureFlags;
import com.android.systemui.flags.FakeFeatureFlagsClassic;
import com.android.systemui.statusbar.NotificationMediaManager;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
import com.android.systemui.statusbar.notification.row.NotificationTestHelper;
@@ -49,7 +49,7 @@ public class ExpandHelperTest extends SysuiTestCase {
    @Rule
    public final AnimatorTestRule mAnimatorTestRule = new AnimatorTestRule(this);

    private final FakeFeatureFlags mFeatureFlags = new FakeFeatureFlags();
    private final FakeFeatureFlagsClassic mFeatureFlags = new FakeFeatureFlagsClassic();
    private ExpandableNotificationRow mRow;
    private ExpandHelper mExpandHelper;
    private ExpandHelper.Callback mCallback;
+2 −6
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@ import com.android.internal.logging.MetricsLogger
import com.android.internal.logging.UiEventLogger
import com.android.internal.statusbar.IStatusBarService
import com.android.systemui.SysuiTestCase
import com.android.systemui.flags.FeatureFlags
import com.android.systemui.flags.FeatureFlagsClassic
import com.android.systemui.log.logcatLogBuffer
import com.android.systemui.plugins.FalsingManager
import com.android.systemui.plugins.PluginManager
@@ -57,9 +57,7 @@ import com.android.systemui.util.mockito.eq
import com.android.systemui.util.mockito.mock
import com.android.systemui.util.mockito.withArgCaptor
import com.android.systemui.util.time.SystemClock
import com.android.systemui.wmshell.BubblesManager
import com.google.android.msdl.domain.MSDLPlayer
import java.util.Optional
import junit.framework.Assert
import org.junit.After
import org.junit.Before
@@ -103,9 +101,8 @@ class ExpandableNotificationRowControllerTest : SysuiTestCase() {
    private val gutsManager: NotificationGutsManager = mock()
    private val onUserInteractionCallback: OnUserInteractionCallback = mock()
    private val falsingManager: FalsingManager = mock()
    private val featureFlags: FeatureFlags = mock()
    private val featureFlags: FeatureFlagsClassic = mock()
    private val peopleNotificationIdentifier: PeopleNotificationIdentifier = mock()
    private val bubblesManager: BubblesManager = mock()
    private val settingsController: NotificationSettingsController = mock()
    private val dragController: ExpandableNotificationRowDragController = mock()
    private val dismissibilityProvider: NotificationDismissibilityProvider = mock()
@@ -147,7 +144,6 @@ class ExpandableNotificationRowControllerTest : SysuiTestCase() {
                falsingManager,
                featureFlags,
                peopleNotificationIdentifier,
                Optional.of(bubblesManager),
                settingsController,
                dragController,
                dismissibilityProvider,
+8 −33
Original line number Diff line number Diff line
@@ -25,7 +25,6 @@ import static com.android.systemui.log.LogBufferHelperKt.logcatLogBuffer;
import static com.android.systemui.statusbar.NotificationEntryHelper.modifyRanking;
import static com.android.systemui.util.Assert.runWithCurrentThreadAsMainThread;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
@@ -59,8 +58,8 @@ import com.android.internal.statusbar.IStatusBarService;
import com.android.keyguard.TestScopeProvider;
import com.android.systemui.TestableDependency;
import com.android.systemui.classifier.FalsingManagerFake;
import com.android.systemui.flags.FakeFeatureFlags;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.flags.FakeFeatureFlagsClassic;
import com.android.systemui.flags.FeatureFlagsClassic;
import com.android.systemui.media.controls.util.MediaFeatureFlag;
import com.android.systemui.media.dialog.MediaOutputDialogManager;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
@@ -71,7 +70,6 @@ import com.android.systemui.statusbar.NotificationShadeWindowController;
import com.android.systemui.statusbar.SmartReplyController;
import com.android.systemui.statusbar.notification.ColorUpdateLogger;
import com.android.systemui.statusbar.notification.ConversationNotificationProcessor;
import com.android.systemui.statusbar.notification.SourceType;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder;
import com.android.systemui.statusbar.notification.collection.notifcollection.CommonNotifCollection;
@@ -79,6 +77,7 @@ import com.android.systemui.statusbar.notification.collection.notifcollection.No
import com.android.systemui.statusbar.notification.collection.provider.NotificationDismissibilityProvider;
import com.android.systemui.statusbar.notification.collection.render.GroupExpansionManager;
import com.android.systemui.statusbar.notification.collection.render.GroupMembershipManager;
import com.android.systemui.statusbar.notification.headsup.HeadsUpManager;
import com.android.systemui.statusbar.notification.icon.IconBuilder;
import com.android.systemui.statusbar.notification.icon.IconManager;
import com.android.systemui.statusbar.notification.people.PeopleNotificationIdentifier;
@@ -89,7 +88,6 @@ import com.android.systemui.statusbar.notification.row.NotificationRowContentBin
import com.android.systemui.statusbar.notification.row.shared.NotificationRowContentBinderRefactor;
import com.android.systemui.statusbar.notification.stack.NotificationChildrenContainerLogger;
import com.android.systemui.statusbar.phone.KeyguardBypassController;
import com.android.systemui.statusbar.notification.headsup.HeadsUpManager;
import com.android.systemui.statusbar.policy.InflatedSmartReplyState;
import com.android.systemui.statusbar.policy.InflatedSmartReplyViewHolder;
import com.android.systemui.statusbar.policy.SmartReplyConstants;
@@ -99,7 +97,6 @@ import com.android.systemui.util.concurrency.FakeExecutor;
import com.android.systemui.util.time.FakeSystemClock;
import com.android.systemui.util.time.SystemClock;
import com.android.systemui.util.time.SystemClockImpl;
import com.android.systemui.wmshell.BubblesManager;
import com.android.systemui.wmshell.BubblesTestActivity;

import kotlin.coroutines.CoroutineContext;
@@ -109,7 +106,6 @@ import kotlinx.coroutines.test.TestScope;
import org.mockito.ArgumentCaptor;

import java.util.Objects;
import java.util.Optional;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.Executor;
import java.util.concurrent.TimeUnit;
@@ -149,7 +145,7 @@ public class NotificationTestHelper {
    private final NotificationDismissibilityProvider mDismissibilityProvider;
    public final Runnable mFutureDismissalRunnable;
    private @InflationFlag int mDefaultInflationFlags;
    private final FakeFeatureFlags mFeatureFlags;
    private final FakeFeatureFlagsClassic mFeatureFlags;
    private final SystemClock mSystemClock;
    private final RowInflaterTaskLogger mRowInflaterTaskLogger;
    private final TestScope mTestScope = TestScopeProvider.getTestScope();
@@ -167,17 +163,17 @@ public class NotificationTestHelper {
            Context context,
            TestableDependency dependency,
            @Nullable TestableLooper testLooper) {
        this(context, dependency, testLooper, new FakeFeatureFlags());
        this(context, dependency, testLooper, new FakeFeatureFlagsClassic());
    }

    public NotificationTestHelper(
            Context context,
            TestableDependency dependency,
            @Nullable TestableLooper testLooper,
            @NonNull FakeFeatureFlags featureFlags) {
            @NonNull FakeFeatureFlagsClassic featureFlags) {
        mContext = context;
        mFeatureFlags = Objects.requireNonNull(featureFlags);
        dependency.injectTestDependency(FeatureFlags.class, mFeatureFlags);
        dependency.injectTestDependency(FeatureFlagsClassic.class, mFeatureFlags);
        dependency.injectMockDependency(NotificationMediaManager.class);
        dependency.injectMockDependency(NotificationShadeWindowController.class);
        dependency.injectMockDependency(MediaOutputDialogManager.class);
@@ -279,24 +275,6 @@ public class NotificationTestHelper {
        return mDismissibilityProvider;
    }

    /**
     * Creates a generic row with rounded border.
     *
     * @return a generic row with the set roundness.
     * @throws Exception
     */
    public ExpandableNotificationRow createRowWithRoundness(
            float topRoundness,
            float bottomRoundness,
            SourceType sourceType
    ) throws Exception {
        ExpandableNotificationRow row = createRow();
        row.requestRoundness(topRoundness, bottomRoundness, sourceType, /*animate = */ false);
        assertEquals(topRoundness, row.getTopRoundness(), /* delta = */ 0f);
        assertEquals(bottomRoundness, row.getBottomRoundness(), /* delta = */ 0f);
        return row;
    }

    /**
     * Creates a generic row.
     *
@@ -400,9 +378,8 @@ public class NotificationTestHelper {
                null /* groupKey */,
                makeBubbleMetadata(null /* deleteIntent */, false /* autoExpand */));
        n.flags |= FLAG_FSI_REQUESTED_BUT_DENIED;
        ExpandableNotificationRow row = generateRow(n, PKG, UID, USER_HANDLE,
        return generateRow(n, PKG, UID, USER_HANDLE,
                mDefaultInflationFlags, IMPORTANCE_HIGH);
        return row;
    }


@@ -668,7 +645,6 @@ public class NotificationTestHelper {
                mStatusBarStateController,
                mPeopleNotificationIdentifier,
                mOnUserInteractionCallback,
                Optional.of(mock(BubblesManager.class)),
                mock(NotificationGutsManager.class),
                mDismissibilityProvider,
                mock(MetricsLogger.class),
@@ -676,7 +652,6 @@ public class NotificationTestHelper {
                mock(ColorUpdateLogger.class),
                mock(SmartReplyConstants.class),
                mock(SmartReplyController.class),
                mFeatureFlags,
                mock(IStatusBarService.class),
                mock(UiEventLogger.class));

+3 −7
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@ import android.testing.TestableLooper.RunWithLooper
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase
import com.android.systemui.flags.FakeFeatureFlags
import com.android.systemui.flags.FakeFeatureFlagsClassic
import com.android.systemui.statusbar.notification.row.NotificationTestHelper
import com.android.systemui.util.mockito.mock
import junit.framework.Assert.assertEquals
@@ -18,7 +18,7 @@ import org.junit.runner.RunWith
@RunWith(AndroidJUnit4::class)
@RunWithLooper
class NotificationTargetsHelperTest : SysuiTestCase() {
    private val featureFlags = FakeFeatureFlags()
    private val featureFlags = FakeFeatureFlagsClassic()
    lateinit var notificationTestHelper: NotificationTestHelper
    private val sectionsManager: NotificationSectionsManager = mock()
    private val stackScrollLayout: NotificationStackScrollLayout = mock()
@@ -90,11 +90,7 @@ class NotificationTargetsHelperTest : SysuiTestCase() {
                )

        val expected =
            RoundableTargets(
                before = children.attachedChildren[1],
                swiped = swiped,
                after = null,
            )
            RoundableTargets(before = children.attachedChildren[1], swiped = swiped, after = null)
        assertEquals(expected, actual)
    }
}
+8 −37
Original line number Diff line number Diff line
@@ -79,7 +79,6 @@ import com.android.internal.util.ContrastColorUtil;
import com.android.internal.widget.CachingIconView;
import com.android.internal.widget.CallLayout;
import com.android.systemui.Flags;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.flags.RefactorFlag;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.PluginListener;
@@ -130,14 +129,12 @@ import com.android.systemui.statusbar.policy.dagger.RemoteInputViewSubcomponent;
import com.android.systemui.util.Compile;
import com.android.systemui.util.DumpUtilsKt;
import com.android.systemui.util.ListenerSet;
import com.android.systemui.wmshell.BubblesManager;

import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.concurrent.TimeUnit;
import java.util.function.BooleanSupplier;
import java.util.function.Consumer;
@@ -151,7 +148,6 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
        NotificationFadeAware.FadeOptimizedNotification {

    private static final String TAG = "ExpandableNotifRow";
    private static final boolean DEBUG = Compile.IS_DEBUG && Log.isLoggable(TAG, Log.DEBUG);
    private static final boolean DEBUG_ONMEASURE =
            Compile.IS_DEBUG && Log.isLoggable(TAG, Log.VERBOSE);
    private static final int MENU_VIEW_INDEX = 0;
@@ -186,12 +182,10 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
    private LayoutListener mLayoutListener;
    private RowContentBindStage mRowContentBindStage;
    private PeopleNotificationIdentifier mPeopleNotificationIdentifier;
    private Optional<BubblesManager> mBubblesManagerOptional;
    private MetricsLogger mMetricsLogger;
    private NotificationChildrenContainerLogger mChildrenContainerLogger;
    private ColorUpdateLogger mColorUpdateLogger;
    private NotificationDismissibilityProvider mDismissibilityProvider;
    private FeatureFlags mFeatureFlags;
    private int mIconTransformContentShift;
    private int mMaxHeadsUpHeightBeforeN;
    private int mMaxHeadsUpHeightBeforeP;
@@ -342,7 +336,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
     */
    private boolean mIgnoreLockscreenConstraints;

    private OnClickListener mExpandClickListener = new OnClickListener() {
    private final OnClickListener mExpandClickListener = new OnClickListener() {
        @Override
        public void onClick(View v) {
            toggleExpansionState(v, /* shouldLogExpandClickMetric = */true);
@@ -431,13 +425,10 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
    @Nullable
    private Runnable mOnIntrinsicHeightReachedRunnable;

    private float mTopRoundnessDuringLaunchAnimation;
    private float mBottomRoundnessDuringLaunchAnimation;
    private float mSmallRoundness;
    private final float mSmallRoundness;

    private ListenerSet<DismissButtonTargetVisibilityListener>
            mDismissButtonTargetVisibilityListeners
            = new ListenerSet();
    private final ListenerSet<DismissButtonTargetVisibilityListener>
            mDismissButtonTargetVisibilityListeners = new ListenerSet<>();

    public NotificationContentView[] getLayouts() {
        return Arrays.copyOf(mLayouts, mLayouts.length);
@@ -788,7 +779,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
        if (targetVisible != null) {
            for (DismissButtonTargetVisibilityListener listener :
                    mDismissButtonTargetVisibilityListeners) {
                listener.onTargetVisibilityChanged(targetVisible.booleanValue());
                listener.onTargetVisibilityChanged(targetVisible);
            }
        }

@@ -2024,7 +2015,6 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
            StatusBarStateController statusBarStateController,
            PeopleNotificationIdentifier peopleNotificationIdentifier,
            OnUserInteractionCallback onUserInteractionCallback,
            Optional<BubblesManager> bubblesManagerOptional,
            NotificationGutsManager gutsManager,
            NotificationDismissibilityProvider dismissibilityProvider,
            MetricsLogger metricsLogger,
@@ -2032,7 +2022,6 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
            ColorUpdateLogger colorUpdateLogger,
            SmartReplyConstants smartReplyConstants,
            SmartReplyController smartReplyController,
            FeatureFlags featureFlags,
            IStatusBarService statusBarService,
            UiEventLogger uiEventLogger) {
        mEntry = entry;
@@ -2067,13 +2056,11 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
            );
        }
        mOnUserInteractionCallback = onUserInteractionCallback;
        mBubblesManagerOptional = bubblesManagerOptional;
        mNotificationGutsManager = gutsManager;
        mMetricsLogger = metricsLogger;
        mChildrenContainerLogger = childrenContainerLogger;
        mColorUpdateLogger = colorUpdateLogger;
        mDismissibilityProvider = dismissibilityProvider;
        mFeatureFlags = featureFlags;
        setHapticFeedbackEnabled(!Flags.msdlFeedback());
    }

@@ -2470,10 +2457,6 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
                : View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS);
    }

    public CharSequence getActiveRemoteInputText() {
        return mPrivateLayout.getActiveRemoteInputText();
    }

    /**
     * Reset the translation with an animation.
     */
@@ -2548,7 +2531,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
            return getTranslationX();
        }

        if (mTranslateableViews != null && mTranslateableViews.size() > 0) {
        if (mTranslateableViews != null && !mTranslateableViews.isEmpty()) {
            // All of the views in the list should have same translation, just use first one.
            return mTranslateableViews.get(0).getTranslationX();
        }
@@ -2683,7 +2666,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
        int clipTopAmount = (int) MathUtils.lerp(startClipTopAmount, 0, params.getProgress());
        if (mNotificationParent != null) {
            float parentTranslationY = mNotificationParent.getTranslationY();
            top -= parentTranslationY;
            top -= (int) parentTranslationY;
            mNotificationParent.setTranslationZ(translationZ);

            // When the expanding notification is below its parent, the parent must be clipped
@@ -2710,9 +2693,6 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
        float absoluteCenterX = getLocationOnScreen()[0] + getWidth() / 2f - getTranslationX();
        setTranslationX(params.getCenterX() - absoluteCenterX);

        final float maxRadius = getMaxRadius();
        mTopRoundnessDuringLaunchAnimation = params.getTopCornerRadius() / maxRadius;
        mBottomRoundnessDuringLaunchAnimation = params.getBottomCornerRadius() / maxRadius;
        invalidateOutline();

        mBackgroundNormal.setExpandAnimationSize(params.getWidth(), actualHeight);
@@ -2922,7 +2902,6 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
        }
    }


    @Override
    public int getHeightWithoutLockscreenConstraints() {
        mIgnoreLockscreenConstraints = true;
@@ -3248,7 +3227,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
        notifyHeightChanged(/* needsAnimation= */ false);
    }

    public void setChildrenExpanded(boolean expanded, boolean animate) {
    public void setChildrenExpanded(boolean expanded) {
        mChildrenExpanded = expanded;
        if (mChildrenContainer != null) {
            mChildrenContainer.setChildrenExpanded(expanded);
@@ -3900,10 +3879,6 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
        return mEntry.getSbn().getNotification().isMediaNotification();
    }

    public boolean isGroupNotFullyVisible() {
        return getClipTopAmount() > 0 || getTranslationY() < 0;
    }

    public void setAboveShelf(boolean aboveShelf) {
        boolean wasAboveShelf = isAboveShelf();
        mAboveShelf = aboveShelf;
@@ -4132,10 +4107,6 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
        mTargetPoint = p;
    }

    public Point getTargetPoint() {
        return mTargetPoint;
    }

    /** Update the minimum roundness based on current state */
    private void updateBaseRoundness() {
        if (isChildInGroup()) {
Loading