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

Commit aac93259 authored by Selim Cinek's avatar Selim Cinek
Browse files

Added the heads up scrim back

Also fixed a bug where the notification panel would
keep a hardware layer.
Also improved the interal structure of the HeadsUpManager

Change-Id: I635e4a89b0a32573c26515cc3e65e142d77593ec
parent e53e6bbb
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -46,6 +46,13 @@
        android:layout_height="match_parent"
        android:importantForAccessibility="no" />

    <com.android.systemui.statusbar.AlphaOptimizedView
        android:id="@+id/heads_up_scrim"
        android:layout_width="match_parent"
        android:layout_height="@dimen/heads_up_scrim_height"
        android:background="@drawable/heads_up_scrim"
        android:importantForAccessibility="no"/>

    <include layout="@layout/status_bar"
        android:layout_width="match_parent"
        android:layout_height="@dimen/status_bar_height" />
+1 −0
Original line number Diff line number Diff line
@@ -330,6 +330,7 @@
         keyguard_clock_height_fraction_* for the difference between min and max.-->
    <dimen name="keyguard_clock_notifications_margin_min">24dp</dimen>
    <dimen name="keyguard_clock_notifications_margin_max">36dp</dimen>
    <dimen name="heads_up_scrim_height">250dp</dimen>

    <!-- The minimum amount the user needs to swipe to go to the camera / phone. -->
    <dimen name="keyguard_min_swipe_amount">110dp</dimen>
+2 −0
Original line number Diff line number Diff line
@@ -37,6 +37,8 @@
    <item type="id" name="doze_saved_filter_tag"/>
    <item type="id" name="qs_icon_tag"/>
    <item type="id" name="scrim"/>
    <item type="id" name="hun_scrim_alpha_start"/>
    <item type="id" name="hun_scrim_alpha_end"/>
    <item type="id" name="notification_power"/>
    <item type="id" name="notification_screenshot"/>
    <item type="id" name="notification_hidden"/>
+9 −4
Original line number Diff line number Diff line
@@ -1520,6 +1520,9 @@ public class NotificationPanelView extends PanelView implements
        float alpha;
        if (mExpandingFromHeadsUp || mHeadsUpManager.hasPinnedHeadsUp()) {
            alpha = 1f;
            if (mNotificationStackScroller.getLayerType() == LAYER_TYPE_HARDWARE) {
                mNotificationStackScroller.setLayerType(LAYER_TYPE_NONE, null);
            }
        } else {
            alpha = (getNotificationsTopY() + mNotificationStackScroller.getItemHeight())
                    / (mQsMinExpansionHeight + mNotificationStackScroller.getBottomStackPeekSize()
@@ -2155,9 +2158,11 @@ public class NotificationPanelView extends PanelView implements
    }

    @Override
    public void OnHeadsUpPinned(ExpandableNotificationRow headsUp) {
    public void OnHeadsUpPinnedChanged(ExpandableNotificationRow headsUp, boolean isHeadsUp) {
        if (isHeadsUp) {
            mNotificationStackScroller.generateHeadsUpAnimation(headsUp, true);
        }
    }

    @Override
    public void OnHeadsUpStateChanged(NotificationData.Entry entry, boolean isHeadsUp) {
+7 −4
Original line number Diff line number Diff line
@@ -73,7 +73,6 @@ import android.util.DisplayMetrics;
import android.util.EventLog;
import android.util.Log;
import android.view.Display;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.MotionEvent;
@@ -101,13 +100,13 @@ import com.android.systemui.EventLogConstants;
import com.android.systemui.EventLogTags;
import com.android.systemui.Prefs;
import com.android.systemui.R;
import com.android.systemui.assist.AssistGestureManager;
import com.android.systemui.doze.DozeHost;
import com.android.systemui.doze.DozeLog;
import com.android.systemui.keyguard.KeyguardViewMediator;
import com.android.systemui.qs.QSPanel;
import com.android.systemui.recents.ScreenPinningRequest;
import com.android.systemui.statusbar.ActivatableNotificationView;
import com.android.systemui.assist.AssistGestureManager;
import com.android.systemui.statusbar.BackDropView;
import com.android.systemui.statusbar.BaseStatusBar;
import com.android.systemui.statusbar.CommandQueue;
@@ -702,7 +701,11 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,

        ScrimView scrimBehind = (ScrimView) mStatusBarWindow.findViewById(R.id.scrim_behind);
        ScrimView scrimInFront = (ScrimView) mStatusBarWindow.findViewById(R.id.scrim_in_front);
        mScrimController = new ScrimController(scrimBehind, scrimInFront, mScrimSrcModeEnabled);
        View headsUpScrim = mStatusBarWindow.findViewById(R.id.heads_up_scrim);
        mScrimController = new ScrimController(scrimBehind, scrimInFront, headsUpScrim,
                mScrimSrcModeEnabled);
        mHeadsUpManager.addListener(mScrimController);
        mStackScroller.setScrimController(mScrimController);
        mScrimController.setBackDropView(mBackdrop);
        mStatusBarView.setScrimController(mScrimController);
        mDozeScrimController = new DozeScrimController(mScrimController, context);
@@ -1846,7 +1849,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
    }

    @Override
    public void OnHeadsUpPinned(ExpandableNotificationRow headsUp) {
    public void OnHeadsUpPinnedChanged(ExpandableNotificationRow headsUp, boolean isHeadsUp) {
    }

    @Override
Loading