package com.v7lin.android.env.webkit;
import android.content.Context;
import android.os.Build;
import android.webkit.CookieManager;
import android.webkit.CookieSyncManager;
/**
*
*
* @author v7lin Email:v7lin@qq.com
*/
@SuppressWarnings("deprecation")
class CookieManagerCompat {
interface CookieManagerCompatImpl {
public void setAcceptCookie(Context context, boolean accept);
public void setAcceptFileSchemeCookies(boolean accept);
}
static class EarlyCookieManagerCompatImpl implements CookieManagerCompatImpl {
@Override
public void setAcceptCookie(Context context, boolean accept) {
CookieSyncManager.getInstance();
CookieManager.getInstance().setAcceptCookie(accept);
}
@Override
public void setAcceptFileSchemeCookies(boolean accept) {
}
}
static class HoneyCombMr1CookieManagerCompatImpl extends EarlyCookieManagerCompatImpl {
@Override
public void setAcceptFileSchemeCookies(boolean accept) {
CookieManagerCompatHoneyCombMr1.setAcceptFileSchemeCookies(accept);
}
}
static final CookieManagerCompatImpl IMPL;
static {
final int version = Build.VERSION.SDK_INT;
if (version >= Build.VERSION_CODES.HONEYCOMB_MR1) {
IMPL = new HoneyCombMr1CookieManagerCompatImpl();
} else {
IMPL = new EarlyCookieManagerCompatImpl();
}
}
public static void setAcceptCookie(Context context, boolean accept) {
IMPL.setAcceptCookie(context, accept);
}
public static void setAcceptFileSchemeCookies(boolean accept) {
IMPL.setAcceptFileSchemeCookies(accept);
}
}