• Matt Jones's avatar
    Expose LayoutManager as UnownedUserData · 343aa665
    Matt Jones authored
    This patch adds a LayoutManagerProvider with a static method to access
    the activity's LayoutManager. This patch has a fair amount of
    indirection to keep certain apis internal and the public api clean.
    
    LayoutManagerAppUtils: A utility class only exposed to app or glue
    code to attach the LayoutManager to the window. This exists in its own
    build target with ManagedLayoutManager.
    
    ManagedLayoutManager: Another app/glue code api for lifecycle
    management. This extends LayoutManager and includes other external
    signals that would not otherwise be exposed through the LayoutManager
    interface.
    
    LayoutManagerProvider: This is the main access point for clients
    wanting an instance of the LayoutManager.
    
    LayoutManagerProvider.Unowned: A package-protected interface for
    obscuring attach and detach method implementations in the public api.
    
    Bug: 1161560, 1167255
    Change-Id: Ie9561cd6d9dafcca8acac54a85c3c7bc27ca085e
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2634003Reviewed-by: default avatarTommy Nyquist <nyquist@chromium.org>
    Reviewed-by: default avatarDavid Trainor <dtrainor@chromium.org>
    Reviewed-by: default avatarMei Liang <meiliang@chromium.org>
    Commit-Queue: Matthew Jones <mdjones@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#846268}
    343aa665
BUILD.gn 2.57 KB