blob: 6c390afc8dda7d3fdc65fdaea8d1412652f79cc9 [file] [log] [blame]
// Copyright 2017 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.chrome.browser.feedback;
/**
* Used by various components to provide a set of feedback data that can be gathered asynchronously.
* Note that if the owner times out, {@link #getFeedback()} might be called even if
* this source isn't ready. At that point this source should do it's best to provide what data it
* can.
*/
public interface AsyncFeedbackSource extends FeedbackSource {
/**
* Starts the feedback collection process for this source. This source should notify
* {@code callback} when the collection is finished.
* @param callback The callback to notify when the collection is finished.
*/
void start(Runnable callback);
/**
* @return Whether or not this source is ready to provide feedback.
*/
boolean isReady();
}