193a35b93dc582e38ff8ee5979754a16b4bf4da0cSam Blitzstein/*
293a35b93dc582e38ff8ee5979754a16b4bf4da0cSam Blitzstein * Copyright (C) 2013 The Android Open Source Project
393a35b93dc582e38ff8ee5979754a16b4bf4da0cSam Blitzstein *
493a35b93dc582e38ff8ee5979754a16b4bf4da0cSam Blitzstein * Licensed under the Apache License, Version 2.0 (the "License");
593a35b93dc582e38ff8ee5979754a16b4bf4da0cSam Blitzstein * you may not use this file except in compliance with the License.
693a35b93dc582e38ff8ee5979754a16b4bf4da0cSam Blitzstein * You may obtain a copy of the License at
793a35b93dc582e38ff8ee5979754a16b4bf4da0cSam Blitzstein *
893a35b93dc582e38ff8ee5979754a16b4bf4da0cSam Blitzstein *      http://www.apache.org/licenses/LICENSE-2.0
993a35b93dc582e38ff8ee5979754a16b4bf4da0cSam Blitzstein *
1093a35b93dc582e38ff8ee5979754a16b4bf4da0cSam Blitzstein * Unless required by applicable law or agreed to in writing, software
1193a35b93dc582e38ff8ee5979754a16b4bf4da0cSam Blitzstein * distributed under the License is distributed on an "AS IS" BASIS,
1293a35b93dc582e38ff8ee5979754a16b4bf4da0cSam Blitzstein * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1393a35b93dc582e38ff8ee5979754a16b4bf4da0cSam Blitzstein * See the License for the specific language governing permissions and
1493a35b93dc582e38ff8ee5979754a16b4bf4da0cSam Blitzstein * limitations under the License.
1593a35b93dc582e38ff8ee5979754a16b4bf4da0cSam Blitzstein */
1693a35b93dc582e38ff8ee5979754a16b4bf4da0cSam Blitzstein
1793a35b93dc582e38ff8ee5979754a16b4bf4da0cSam Blitzsteinpackage com.android.bitmap;
1893a35b93dc582e38ff8ee5979754a16b4bf4da0cSam Blitzstein
1940662f4b39e795d9c64502b13036e7c37fa2d373Sam Blitzsteinpublic interface BitmapCache extends PooledCache<RequestKey, ReusableBitmap> {
2093a35b93dc582e38ff8ee5979754a16b4bf4da0cSam Blitzstein
2193a35b93dc582e38ff8ee5979754a16b4bf4da0cSam Blitzstein    /**
2293a35b93dc582e38ff8ee5979754a16b4bf4da0cSam Blitzstein     * Notify the cache when it should start and stop blocking for cache misses.
2393a35b93dc582e38ff8ee5979754a16b4bf4da0cSam Blitzstein     * If {@link #setBlocking(true)} has been called and if the pool is empty, {@link #poll()}
2493a35b93dc582e38ff8ee5979754a16b4bf4da0cSam Blitzstein     * should block until the pool is repopulated, or until {@link #setBlocking(false)} is called.
2593a35b93dc582e38ff8ee5979754a16b4bf4da0cSam Blitzstein     */
2693a35b93dc582e38ff8ee5979754a16b4bf4da0cSam Blitzstein    void setBlocking(boolean blocking);
2793a35b93dc582e38ff8ee5979754a16b4bf4da0cSam Blitzstein
2893a35b93dc582e38ff8ee5979754a16b4bf4da0cSam Blitzstein}
29