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

Commit 79433166 authored by Selim Cinek's avatar Selim Cinek Committed by Android (Google) Code Review
Browse files

Merge changes I2af07b57,Ic0a774e8,Ica3d21ff,Id4c3c901

* changes:
  FalsingManager Quick settings fix
  Fixed a bug where the panel could be too small in certain cases
  Fixed a bug where the margins where not updated correctly
  Fixed the handling of the expand on the lockscreen
parents ec741671 9c952df9
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1666,6 +1666,7 @@ public class RemoteViews implements Parcelable, Filter {
            ViewGroup.LayoutParams layoutParams = target.getLayoutParams();
            if (layoutParams instanceof ViewGroup.MarginLayoutParams) {
                ((ViewGroup.MarginLayoutParams) layoutParams).setMarginEnd(end);
                target.setLayoutParams(layoutParams);
            }
        }

+27 −10
Original line number Diff line number Diff line
@@ -130,6 +130,7 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView
    private final int mLowPriorityColor;
    private boolean mIsBelowSpeedBump;
    private FalsingManager mFalsingManager;
    private boolean mTrackTouch;

    public ActivatableNotificationView(Context context, AttributeSet attrs) {
        super(context, attrs);
@@ -175,12 +176,27 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView
    };

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        if (mDimmed) {
    public boolean dispatchTouchEvent(MotionEvent event) {
        if (mDimmed && !mActivated) {
            return handleTouchEventDimmed(event);
        } else {
            return super.onTouchEvent(event);
            return super.dispatchTouchEvent(event);
        }
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        boolean result;
        if (mDimmed && mActivated) {
            result = handleTouchEventDimmed(event);
        } else {
            result = super.onTouchEvent(event);
        }
        if (mActivated && result && event.getAction() == MotionEvent.ACTION_UP) {
            mFalsingManager.onNotificationDoubleTap();
            removeCallbacks(mTapTimeoutRunnable);
        }
        return result;
    }

    @Override
@@ -206,14 +222,15 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView
            case MotionEvent.ACTION_DOWN:
                mDownX = event.getX();
                mDownY = event.getY();
                mTrackTouch = true;
                if (mDownY > getActualHeight()) {
                    return false;
                    mTrackTouch = false;
                }
                break;
            case MotionEvent.ACTION_MOVE:
                if (!isWithinTouchSlop(event)) {
                    makeInactive(true /* animate */);
                    return false;
                    mTrackTouch = false;
                }
                break;
            case MotionEvent.ACTION_UP:
@@ -222,23 +239,23 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView
                        makeActive();
                        postDelayed(mTapTimeoutRunnable, DOUBLETAP_TIMEOUT_MS);
                    } else {
                        mFalsingManager.onNotificationDoubleTap();
                        boolean performed = performClick();
                        if (performed) {
                            removeCallbacks(mTapTimeoutRunnable);
                        if (!performClick()) {
                            return false;
                        }
                    }
                } else {
                    makeInactive(true /* animate */);
                    mTrackTouch = false;
                }
                break;
            case MotionEvent.ACTION_CANCEL:
                makeInactive(true /* animate */);
                mTrackTouch = false;
                break;
            default:
                break;
        }
        return true;
        return mTrackTouch;
    }

    private void makeActive() {
+8 −1
Original line number Diff line number Diff line
@@ -116,7 +116,8 @@ import static com.android.keyguard.KeyguardHostView.OnDismissAction;

public abstract class BaseStatusBar extends SystemUI implements
        CommandQueue.Callbacks, ActivatableNotificationView.OnActivatedListener,
        ExpandableNotificationRow.ExpansionLogger, NotificationData.Environment {
        ExpandableNotificationRow.ExpansionLogger, NotificationData.Environment,
        ExpandableNotificationRow.OnExpandClickListener {
    public static final String TAG = "StatusBar";
    public static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
    public static final boolean MULTIUSER_DEBUG = false;
@@ -1298,9 +1299,14 @@ public abstract class BaseStatusBar extends SystemUI implements
            // Since the number of notifications is determined based on the height of the view, we
            // need to update them.
            updateRowStates();
            mStackScroller.onHeightChanged(null, false);
        }
    }

    @Override
    public void onExpandClicked(View clickedView, boolean nowExpanded) {
    }

    protected class H extends Handler {
        public void handleMessage(Message m) {
            switch (m.what) {
@@ -1381,6 +1387,7 @@ public abstract class BaseStatusBar extends SystemUI implements
                    parent, false);
            row.setExpansionLogger(this, entry.notification.getKey());
            row.setGroupManager(mGroupManager);
            row.setOnExpandClickListener(this);
        }

        workAroundBadLayerDrawableOpacity(row);
+15 −1
Original line number Diff line number Diff line
@@ -104,14 +104,20 @@ public class ExpandableNotificationRow extends ActivatableNotificationView {
    private boolean mIconAnimationRunning;
    private boolean mShowNoBackground;
    private ExpandableNotificationRow mNotificationParent;
    private OnExpandClickListener mOnExpandClickListener;
    private OnClickListener mExpandClickListener = new OnClickListener() {
        @Override
        public void onClick(View v) {
            if (mGroupManager.isSummaryOfGroup(mStatusBarNotification)) {
                mGroupManager.toggleGroupExpansion(mStatusBarNotification);
                mOnExpandClickListener.onExpandClicked(ExpandableNotificationRow.this,
                        mGroupManager.isGroupExpanded(mStatusBarNotification));
            } else {
                setUserExpanded(!isExpanded());
                boolean nowExpanded = !isExpanded();
                setUserExpanded(nowExpanded);
                notifyHeightChanged(true);
                mOnExpandClickListener.onExpandClicked(ExpandableNotificationRow.this,
                        nowExpanded);
            }
        }
    };
@@ -421,6 +427,10 @@ public class ExpandableNotificationRow extends ActivatableNotificationView {
        mPrivateLayout.setSubTextVisible(visible);
    }

    public void setOnExpandClickListener(OnExpandClickListener onExpandClickListener) {
        mOnExpandClickListener = onExpandClickListener;
    }

    public interface ExpansionLogger {
        public void logNotificationExpansion(String key, boolean userAction, boolean expanded);
    }
@@ -986,4 +996,8 @@ public class ExpandableNotificationRow extends ActivatableNotificationView {
            mLogger.logNotificationExpansion(mLoggingKey, userAction, nowExpanded) ;
        }
    }

    public interface OnExpandClickListener {
        void onExpandClicked(View clickedView, boolean nowExpanded);
    }
}
+1 −9
Original line number Diff line number Diff line
@@ -955,15 +955,7 @@ public class NotificationPanelView extends PanelView implements
                mQsTracking = false;
                mTrackingPointer = -1;
                trackMovement(event);
                float fraction = getQsExpansionFraction();
                if ((fraction != 0f || y >= mInitialTouchY)
                        && (fraction != 1f || y <= mInitialTouchY)) {
                    flingQsWithCurrentVelocity(y,
                            event.getActionMasked() == MotionEvent.ACTION_CANCEL);
                } else {
                    logQsSwipeDown(y);
                    mScrollYOverride = -1;
                }
                flingQsWithCurrentVelocity(y, event.getActionMasked() == MotionEvent.ACTION_CANCEL);
                if (mVelocityTracker != null) {
                    mVelocityTracker.recycle();
                    mVelocityTracker = null;
Loading