• Andrew Xu's avatar
    Polish hotseat animation during overview transition · e4a5a0a2
    Andrew Xu authored
    When hotseat enters extended mode from home launcher mode, hotseat's
    bounds undergo the following changes:
    (1) The origin of the hotseat bounds moves to left.
    (2) The hotseat bounds become wider.
    
    Meanwhile, the hotseat background's origin is related to hotseat bounds.
    Denote the background origin by |background_origin|; denote the hotseat
    bounds by |bounds_rect|. Then  background_origin|.x is calculated
    roughly by the equation below:
    (1) |padding_inset| := (|bounds_rect|.width - space_taken_by_icons) / 2
    (2) |background_origin|.x := padding_inset + |bounds_rect|.x
    
    |bounds_rect|.x becomes smaller while |padding_inset| becomes bigger. It
    is the reason why the hotseat bounds move back and forth.
    
    In this CL, the custom layer element is created for the transition
    between home launcher mode and extended mode. It ensures that the
    hotseat background varies linearly in screen coordinates.
    
    Bug: 1042911
    Change-Id: Id91ce3ecf2bbee8509a3f794c6e943c6bf1d6ef3
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2225590
    Commit-Queue: Andrew Xu <andrewxu@chromium.org>
    Reviewed-by: default avatarXiyuan Xia <xiyuan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#776552}
    e4a5a0a2
scrollable_shelf_view.h 23.6 KB