blob: f9816a5de07f757146fe75e2647b59dfbd204a44 [file] [log] [blame]
// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.ui;
import android.view.View;
import org.chromium.base.Callback;
/**
* Interface to support asynchronous inflation of views.
* @param <T> The view type.
*/
public interface ViewProvider<T> {
/**
* Starts inflating the view.
*/
void inflate();
/**
* Add a callback that would be run (on the UI thread) once the {@link View} encapsulated by
* this provider is inflated. The callback runs immediately (blocking) if the view has
* already been inflated.
*/
void whenLoaded(Callback<T> callback);
}