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

Commit 2f0df8ae authored by Selim Cinek's avatar Selim Cinek
Browse files

Fixed several bugs with redaction.

The Notification row was in most cases directly referring to
the private layout which lead to numerous bugs.

Bug: 15107339
Bug: 15536865
Bug: 15181880
Change-Id: Id1021eb853d67db168c9471d7dacbe5265c4ba2f
parent 7d447726
Loading
Loading
Loading
Loading
+15 −5
Original line number Diff line number Diff line
@@ -209,7 +209,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView {
    }

    public int getMaxExpandHeight() {
        return mMaxExpandHeight;
        return mShowingPublic ? mRowMinHeight : mMaxExpandHeight;
    }

    /**
@@ -221,30 +221,35 @@ public class ExpandableNotificationRow extends ActivatableNotificationView {

    @Override
    public boolean isContentExpandable() {
        return mPrivateLayout.isContentExpandable();
        NotificationContentView showingLayout = getShowingLayout();
        return showingLayout.isContentExpandable();
    }

    @Override
    public void setActualHeight(int height, boolean notifyListeners) {
        mPrivateLayout.setActualHeight(height);
        mPublicLayout.setActualHeight(height);
        invalidate();
        super.setActualHeight(height, notifyListeners);
    }

    @Override
    public int getMaxHeight() {
        return mPrivateLayout.getMaxHeight();
        NotificationContentView showingLayout = getShowingLayout();
        return showingLayout.getMaxHeight();
    }

    @Override
    public int getMinHeight() {
        return mPrivateLayout.getMinHeight();
        NotificationContentView showingLayout = getShowingLayout();
        return showingLayout.getMinHeight();
    }

    @Override
    public void setClipTopAmount(int clipTopAmount) {
        super.setClipTopAmount(clipTopAmount);
        mPrivateLayout.setClipTopAmount(clipTopAmount);
        mPublicLayout.setClipTopAmount(clipTopAmount);
    }

    public boolean isBelowSpeedBump() {
@@ -256,11 +261,16 @@ public class ExpandableNotificationRow extends ActivatableNotificationView {
    }

    public void notifyContentUpdated() {
        mPublicLayout.notifyContentUpdated();
        mPrivateLayout.notifyContentUpdated();
    }

    public boolean isShowingLayoutLayouted() {
        View showingLayout = mShowingPublic ? mPublicLayout : mPrivateLayout;
        NotificationContentView showingLayout = getShowingLayout();
        return showingLayout.getWidth() != 0;
    }

    private NotificationContentView getShowingLayout() {
        return mShowingPublic ? mPublicLayout : mPrivateLayout;
    }
}
+2 −2
Original line number Diff line number Diff line
@@ -106,7 +106,7 @@ public class NotificationContentView extends FrameLayout {

    private void selectLayout() {
        if (mActualHeight <= mSmallHeight || mExpandedChild == null) {
            if (mContractedChild.getVisibility() != View.VISIBLE) {
            if (mContractedChild != null && mContractedChild.getVisibility() != View.VISIBLE) {
                mContractedChild.setVisibility(View.VISIBLE);
            }
            if (mExpandedChild != null && mExpandedChild.getVisibility() != View.INVISIBLE) {
@@ -116,7 +116,7 @@ public class NotificationContentView extends FrameLayout {
            if (mExpandedChild.getVisibility() != View.VISIBLE) {
                mExpandedChild.setVisibility(View.VISIBLE);
            }
            if (mContractedChild.getVisibility() != View.INVISIBLE) {
            if (mContractedChild != null && mContractedChild.getVisibility() != View.INVISIBLE) {
                mContractedChild.setVisibility(View.INVISIBLE);
            }
        }