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

Commit fb20ca7f authored by Lyn Han's avatar Lyn Han Committed by Automerger Merge Worker
Browse files

Merge "Make AmbientState injectable" into sc-dev am: e89f8f97

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/13430528

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I50607128845448117c7d8f3e0583c7ae8f41a7ef
parents 08bcdc5f e89f8f97
Loading
Loading
Loading
Loading
+6 −0
Original line number Original line Diff line number Diff line
@@ -69,6 +69,8 @@ import com.android.systemui.statusbar.notification.row.ChannelEditorDialogContro
import com.android.systemui.statusbar.notification.row.NotificationGutsManager;
import com.android.systemui.statusbar.notification.row.NotificationGutsManager;
import com.android.systemui.statusbar.notification.row.OnUserInteractionCallback;
import com.android.systemui.statusbar.notification.row.OnUserInteractionCallback;
import com.android.systemui.statusbar.notification.row.PriorityOnboardingDialogController;
import com.android.systemui.statusbar.notification.row.PriorityOnboardingDialogController;
import com.android.systemui.statusbar.notification.stack.NotificationSectionsManager;
import com.android.systemui.statusbar.notification.stack.StackScrollAlgorithm;
import com.android.systemui.statusbar.phone.StatusBar;
import com.android.systemui.statusbar.phone.StatusBar;
import com.android.systemui.statusbar.policy.HeadsUpManager;
import com.android.systemui.statusbar.policy.HeadsUpManager;
import com.android.systemui.util.leak.LeakDetector;
import com.android.systemui.util.leak.LeakDetector;
@@ -89,6 +91,10 @@ import dagger.Provides;
 */
 */
@Module(includes = { NotificationSectionHeadersModule.class })
@Module(includes = { NotificationSectionHeadersModule.class })
public interface NotificationsModule {
public interface NotificationsModule {
    @Binds
    StackScrollAlgorithm.SectionProvider bindSectionProvider(
            NotificationSectionsManager impl);

    /** Provides an instance of {@link NotificationEntryManager} */
    /** Provides an instance of {@link NotificationEntryManager} */
    @SysUISingleton
    @SysUISingleton
    @Provides
    @Provides
+6 −1
Original line number Original line Diff line number Diff line
@@ -22,6 +22,7 @@ import android.content.Context;
import android.util.MathUtils;
import android.util.MathUtils;


import com.android.systemui.R;
import com.android.systemui.R;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.statusbar.NotificationShelf;
import com.android.systemui.statusbar.NotificationShelf;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
@@ -30,9 +31,12 @@ import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow
import com.android.systemui.statusbar.notification.row.ExpandableView;
import com.android.systemui.statusbar.notification.row.ExpandableView;
import com.android.systemui.statusbar.notification.stack.StackScrollAlgorithm.SectionProvider;
import com.android.systemui.statusbar.notification.stack.StackScrollAlgorithm.SectionProvider;


import javax.inject.Inject;

/**
/**
 * A global state to track all input states for the algorithm.
 * A global state to track all input states for the algorithm.
 */
 */
@SysUISingleton
public class AmbientState {
public class AmbientState {


    private static final float MAX_PULSE_HEIGHT = 100000f;
    private static final float MAX_PULSE_HEIGHT = 100000f;
@@ -83,6 +87,7 @@ public class AmbientState {
    /** Tracks the state from AlertingNotificationManager#hasNotifications() */
    /** Tracks the state from AlertingNotificationManager#hasNotifications() */
    private boolean mHasAlertEntries;
    private boolean mHasAlertEntries;


    @Inject
    public AmbientState(
    public AmbientState(
            Context context,
            Context context,
            @NonNull SectionProvider sectionProvider) {
            @NonNull SectionProvider sectionProvider) {
@@ -98,7 +103,7 @@ public class AmbientState {
        mBaseZHeight = getBaseHeight(mZDistanceBetweenElements);
        mBaseZHeight = getBaseHeight(mZDistanceBetweenElements);
    }
    }


    void setIsShadeOpening(boolean isOpening) {
    public void setIsShadeOpening(boolean isOpening) {
        mIsShadeOpening = isOpening;
        mIsShadeOpening = isOpening;
    }
    }


+3 −6
Original line number Original line Diff line number Diff line
@@ -491,7 +491,8 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
            NotificationSectionsManager notificationSectionsManager,
            NotificationSectionsManager notificationSectionsManager,
            GroupMembershipManager groupMembershipManager,
            GroupMembershipManager groupMembershipManager,
            GroupExpansionManager groupExpansionManager,
            GroupExpansionManager groupExpansionManager,
            SysuiStatusBarStateController statusbarStateController
            SysuiStatusBarStateController statusbarStateController,
            AmbientState ambientState
    ) {
    ) {
        super(context, attrs, 0, 0);
        super(context, attrs, 0, 0);
        Resources res = getResources();
        Resources res = getResources();
@@ -500,7 +501,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
        mSectionsManager.initialize(this, LayoutInflater.from(context));
        mSectionsManager.initialize(this, LayoutInflater.from(context));
        mSections = mSectionsManager.createSectionsForBuckets();
        mSections = mSectionsManager.createSectionsForBuckets();


        mAmbientState = new AmbientState(context, mSectionsManager);
        mAmbientState = ambientState;
        mBgColor = Utils.getColorAttr(mContext, android.R.attr.colorBackgroundFloating)
        mBgColor = Utils.getColorAttr(mContext, android.R.attr.colorBackgroundFloating)
                .getDefaultColor();
                .getDefaultColor();
        int minHeight = res.getDimensionPixelSize(R.dimen.notification_min_height);
        int minHeight = res.getDimensionPixelSize(R.dimen.notification_min_height);
@@ -549,10 +550,6 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
        }
        }
    }
    }


    void setIsShadeOpening(boolean isOpening) {
        mAmbientState.setIsShadeOpening(isOpening);
    }

    void setSectionPadding(float margin) {
    void setSectionPadding(float margin) {
        mAmbientState.setSectionPadding(margin);
        mAmbientState.setSectionPadding(margin);
        requestChildrenUpdate();
        requestChildrenUpdate();
+0 −4
Original line number Original line Diff line number Diff line
@@ -271,10 +271,6 @@ public class NotificationStackScrollLayoutController {
        }
        }
    };
    };


    public void setIsShadeOpening(boolean isOpening) {
        mView.setIsShadeOpening(isOpening);
    }

    public void setSectionPadding(float padding) {
    public void setSectionPadding(float padding) {
        mView.setSectionPadding(padding);
        mView.setSectionPadding(padding);
    }
    }
+5 −7
Original line number Original line Diff line number Diff line
@@ -120,6 +120,7 @@ import com.android.systemui.statusbar.notification.collection.render.ShadeViewMa
import com.android.systemui.statusbar.notification.row.ActivatableNotificationView;
import com.android.systemui.statusbar.notification.row.ActivatableNotificationView;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
import com.android.systemui.statusbar.notification.row.ExpandableView;
import com.android.systemui.statusbar.notification.row.ExpandableView;
import com.android.systemui.statusbar.notification.stack.AmbientState;
import com.android.systemui.statusbar.notification.stack.AnimationProperties;
import com.android.systemui.statusbar.notification.stack.AnimationProperties;
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout;
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout;
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController;
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController;
@@ -552,10 +553,12 @@ public class NotificationPanelViewController extends PanelViewController {
            AuthController authController,
            AuthController authController,
            QSDetailDisplayer qsDetailDisplayer,
            QSDetailDisplayer qsDetailDisplayer,
            ScrimController scrimController,
            ScrimController scrimController,
            MediaDataManager mediaDataManager) {
            MediaDataManager mediaDataManager,
            AmbientState ambientState) {
        super(view, falsingManager, dozeLog, keyguardStateController,
        super(view, falsingManager, dozeLog, keyguardStateController,
                (SysuiStatusBarStateController) statusBarStateController, vibratorHelper,
                (SysuiStatusBarStateController) statusBarStateController, vibratorHelper,
                latencyTracker, flingAnimationUtilsBuilder.get(), statusBarTouchableRegionManager);
                latencyTracker, flingAnimationUtilsBuilder.get(), statusBarTouchableRegionManager,
                ambientState);
        mView = view;
        mView = view;
        mMetricsLogger = metricsLogger;
        mMetricsLogger = metricsLogger;
        mActivityManager = activityManager;
        mActivityManager = activityManager;
@@ -2410,11 +2413,6 @@ public class NotificationPanelViewController extends PanelViewController {
        setListening(true);
        setListening(true);
    }
    }


    @Override
    protected void setIsShadeOpening(boolean isOpening) {
        mNotificationStackScrollLayoutController.setIsShadeOpening(isOpening);
    }

    @Override
    @Override
    public void setSectionPadding(float padding) {
    public void setSectionPadding(float padding) {
        if (padding == mSectionPadding) {
        if (padding == mSectionPadding) {
Loading