All Downloads are FREE. Search and download functionalities are using the official Maven repository.

src.com.android.clockwork.wifi.WifiBackoff Maven / Gradle / Ivy

package com.android.clockwork.wifi;

import com.android.internal.util.IndentingPrintWriter;

/**
 * Basic interface for Wifi Backoff.
 *
 * To enter Wifi Backoff, it must first be scheduled via a call to scheduleBackoff.
 * Once it has been scheduled, an implementation-specific deadline must pass before
 * Wifi Backoff becomes active.
 *
 * At any point, Wifi Backoff may be canceled. This will either take Wifi Backoff out of its
 * active state, or it will cancel any scheduled Wifi Backoff deadlines.
 */
public interface WifiBackoff {

    interface Listener {
        /**
         * Callback when Wifi Backoff becomes active or inactive.
         */
        void onWifiBackoffChanged();
    }

    void setListener(Listener listener);

    /**
     * Returns whether Wifi Backoff is active.
     *
     * Wifi Backoff is active when a previously-scheduled backoff reaches its deadline.
     *
     * @return true if wifi backoff is active; false otherwise
     */
    boolean isInBackoff();

    /**
     * Schedule to enter backoff after some deadline. The deadline is implementation-specific.
     *
     * This method must be idempotent.
     */
    void scheduleBackoff();

    /**
     * Exit Wifi Backoff if Wifi Backoff is active, or cancel any scheduled backoffs.
     *
     * This method must be idempotent.
     */
    void cancelBackoff();

    void dump(IndentingPrintWriter ipw);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy