/*
 * 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.annotation.Nullable;
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;

@hide
Deprecated:This class was intended to be used by Gears. Since Gears was deprecated, so is this class.
/** * @hide * @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
Params:
  • disabled – true to disable the cache
@hide
Deprecated:This class was intended to be used by Gears. Since Gears was deprecated, so is this class.
/** * set the flag to control whether url intercept is enabled or disabled * * @param disabled {@code true} to disable the cache * * @hide * @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
Returns:return if it is disabled
@hide
Deprecated:This class was intended to be used by Gears. Since Gears was deprecated, so is this class.
/** * get the state of the url intercept, enabled or disabled * * @return return if it is disabled * * @hide * @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.
Params:
  • handler – The new UrlInterceptHandler object
Returns:true if the handler was not previously registered.
@hide
Deprecated:This class was intended to be used by Gears. Since Gears was deprecated, so is this class.
/** * Register a new UrlInterceptHandler. This handler will be called * before any that were previously registered. * * @param handler The new UrlInterceptHandler object * @return {@code true} if the handler was not previously registered. * * @hide * @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.
Params:
  • handler – A previously registered UrlInterceptHandler.
Returns:true if the handler was found and removed from the list.
@hide
Deprecated:This class was intended to be used by Gears. Since Gears was deprecated, so is this class.
/** * Unregister a previously registered UrlInterceptHandler. * * @param handler A previously registered UrlInterceptHandler. * @return {@code true} if the handler was found and removed from the list. * * @hide * @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.
Returns:A CacheResult containing surrogate content.
@hide
Deprecated:This class was intended to be used by Gears. Since Gears was deprecated, so is this class.
/** * Given an url, returns the CacheResult of the first * UrlInterceptHandler interested, or {@code null} if none are. * * @return A CacheResult containing surrogate content. * * @hide * @deprecated This class was intended to be used by Gears. Since Gears was * deprecated, so is this class. */
@Deprecated @Nullable 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.
Returns:A PluginData instance containing surrogate content.
@hide
Deprecated:This class was intended to be used by Gears. Since Gears was deprecated, so is this class.
/** * Given an url, returns the PluginData of the first * UrlInterceptHandler interested, or {@code null} if none are or if * intercepts are disabled. * * @return A PluginData instance containing surrogate content. * * @hide * @deprecated This class was intended to be used by Gears. Since Gears was * deprecated, so is this class. */
@Deprecated @Nullable 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; } }