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

Commit b741b754 authored by Hawkwood Glazier's avatar Hawkwood Glazier
Browse files

Switch to small clock in split shade in certain edge scenarios

The large weather clock can overlap the notification shelf when it
switches to the left side in AOD. This is avoided by swapping the clock
into the small version for this specific scenario.

Bug: 283103625
Test: Manually checked swapping clock during AOD transition for jank
Change-Id: Iea694b9e14d0f5183dacb73044c20d70213accea
parent f91a331f
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -314,6 +314,14 @@ public class KeyguardStatusViewController extends ViewController<KeyguardStatusV
        }
    }

    /**
     * Returns true if the large clock will block the notification shelf in AOD
     */
    public boolean isLargeClockBlockingNotificationShelf() {
        ClockController clock = mKeyguardClockSwitchController.getClock();
        return clock != null && clock.getLargeClock().getConfig().getHasCustomWeatherDataDisplay();
    }

    /**
     * Updates the alignment of the KeyguardStatusView and animates the transition if requested.
     */
+6 −0
Original line number Diff line number Diff line
@@ -1570,6 +1570,12 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump
            // When media is visible, it overlaps with the large clock. Use small clock instead.
            return SMALL;
        }
        // To prevent the weather clock from overlapping with the notification shelf on AOD, we use
        // the small clock here
        if (mKeyguardStatusViewController.isLargeClockBlockingNotificationShelf()
                && hasVisibleNotifications() && isOnAod()) {
            return SMALL;
        }
        return LARGE;
    }