161 lines
5.0 KiB
Java
161 lines
5.0 KiB
Java
|
/*
|
||
|
* Copyright (C) 2008 The Android Open Source Project
|
||
|
*
|
||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
* you may not use this file except in compliance with the License.
|
||
|
* You may obtain a copy of the License at
|
||
|
*
|
||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||
|
*
|
||
|
* Unless required by applicable law or agreed to in writing, software
|
||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
* See the License for the specific language governing permissions and
|
||
|
* limitations under the License.
|
||
|
*/
|
||
|
|
||
|
package android.webkit;
|
||
|
|
||
|
import android.webkit.CacheManager.CacheResult;
|
||
|
import android.webkit.PluginData;
|
||
|
import android.webkit.UrlInterceptHandler;
|
||
|
|
||
|
import java.util.Iterator;
|
||
|
import java.util.LinkedList;
|
||
|
import java.util.Map;
|
||
|
|
||
|
/**
|
||
|
* @deprecated This class was intended to be used by Gears. Since Gears was
|
||
|
* deprecated, so is this class.
|
||
|
*/
|
||
|
@Deprecated
|
||
|
public final class UrlInterceptRegistry {
|
||
|
|
||
|
private final static String LOGTAG = "intercept";
|
||
|
|
||
|
private static boolean mDisabled = false;
|
||
|
|
||
|
private static LinkedList mHandlerList;
|
||
|
|
||
|
private static synchronized LinkedList getHandlers() {
|
||
|
if(mHandlerList == null)
|
||
|
mHandlerList = new LinkedList<UrlInterceptHandler>();
|
||
|
return mHandlerList;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* set the flag to control whether url intercept is enabled or disabled
|
||
|
*
|
||
|
* @param disabled true to disable the cache
|
||
|
*
|
||
|
* @deprecated This class was intended to be used by Gears. Since Gears was
|
||
|
* deprecated, so is this class.
|
||
|
*/
|
||
|
@Deprecated
|
||
|
public static synchronized void setUrlInterceptDisabled(boolean disabled) {
|
||
|
mDisabled = disabled;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* get the state of the url intercept, enabled or disabled
|
||
|
*
|
||
|
* @return return if it is disabled
|
||
|
*
|
||
|
* @deprecated This class was intended to be used by Gears. Since Gears was
|
||
|
* deprecated, so is this class.
|
||
|
*/
|
||
|
@Deprecated
|
||
|
public static synchronized boolean urlInterceptDisabled() {
|
||
|
return mDisabled;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Register a new UrlInterceptHandler. This handler will be called
|
||
|
* before any that were previously registered.
|
||
|
*
|
||
|
* @param handler The new UrlInterceptHandler object
|
||
|
* @return true if the handler was not previously registered.
|
||
|
*
|
||
|
* @deprecated This class was intended to be used by Gears. Since Gears was
|
||
|
* deprecated, so is this class.
|
||
|
*/
|
||
|
@Deprecated
|
||
|
public static synchronized boolean registerHandler(
|
||
|
UrlInterceptHandler handler) {
|
||
|
if (!getHandlers().contains(handler)) {
|
||
|
getHandlers().addFirst(handler);
|
||
|
return true;
|
||
|
} else {
|
||
|
return false;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Unregister a previously registered UrlInterceptHandler.
|
||
|
*
|
||
|
* @param handler A previously registered UrlInterceptHandler.
|
||
|
* @return true if the handler was found and removed from the list.
|
||
|
*
|
||
|
* @deprecated This class was intended to be used by Gears. Since Gears was
|
||
|
* deprecated, so is this class.
|
||
|
*/
|
||
|
@Deprecated
|
||
|
public static synchronized boolean unregisterHandler(
|
||
|
UrlInterceptHandler handler) {
|
||
|
return getHandlers().remove(handler);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Given an url, returns the CacheResult of the first
|
||
|
* UrlInterceptHandler interested, or null if none are.
|
||
|
*
|
||
|
* @return A CacheResult containing surrogate content.
|
||
|
*
|
||
|
* @deprecated This class was intended to be used by Gears. Since Gears was
|
||
|
* deprecated, so is this class.
|
||
|
*/
|
||
|
@Deprecated
|
||
|
public static synchronized CacheResult getSurrogate(
|
||
|
String url, Map<String, String> headers) {
|
||
|
if (urlInterceptDisabled()) {
|
||
|
return null;
|
||
|
}
|
||
|
Iterator iter = getHandlers().listIterator();
|
||
|
while (iter.hasNext()) {
|
||
|
UrlInterceptHandler handler = (UrlInterceptHandler) iter.next();
|
||
|
CacheResult result = handler.service(url, headers);
|
||
|
if (result != null) {
|
||
|
return result;
|
||
|
}
|
||
|
}
|
||
|
return null;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Given an url, returns the PluginData of the first
|
||
|
* UrlInterceptHandler interested, or null if none are or if
|
||
|
* intercepts are disabled.
|
||
|
*
|
||
|
* @return A PluginData instance containing surrogate content.
|
||
|
*
|
||
|
* @deprecated This class was intended to be used by Gears. Since Gears was
|
||
|
* deprecated, so is this class.
|
||
|
*/
|
||
|
@Deprecated
|
||
|
public static synchronized PluginData getPluginData(
|
||
|
String url, Map<String, String> headers) {
|
||
|
if (urlInterceptDisabled()) {
|
||
|
return null;
|
||
|
}
|
||
|
Iterator iter = getHandlers().listIterator();
|
||
|
while (iter.hasNext()) {
|
||
|
UrlInterceptHandler handler = (UrlInterceptHandler) iter.next();
|
||
|
PluginData data = handler.getPluginData(url, headers);
|
||
|
if (data != null) {
|
||
|
return data;
|
||
|
}
|
||
|
}
|
||
|
return null;
|
||
|
}
|
||
|
}
|