ShadowCookieSyncManager.java revision 32fa4fc29ce30047ce5c3c00e3eea5cf1c27b056
1package com.xtremelabs.robolectric.shadows; 2 3import android.content.Context; 4import android.webkit.CookieSyncManager; 5 6import com.xtremelabs.robolectric.Robolectric; 7import com.xtremelabs.robolectric.internal.Implementation; 8import com.xtremelabs.robolectric.internal.Implements; 9 10/** 11 * Shadows the {@code android.webkit.CookieSyncManager} class. 12 */ 13@Implements(CookieSyncManager.class) 14public class ShadowCookieSyncManager { 15 16 private static CookieSyncManager sRef; 17 18 private boolean synced = false; 19 20 @Implementation 21 public static synchronized CookieSyncManager createInstance( Context ctx ) { 22 23 if( sRef == null ) { 24 sRef = Robolectric.newInstanceOf( CookieSyncManager.class ); 25 } 26 27 return sRef; 28 } 29 30 @Implementation 31 public static CookieSyncManager getInstance() { 32 if( sRef == null ) { throw new IllegalStateException( "createInstance must be called first" ); } 33 return sRef; 34 } 35 36 @Implementation 37 public void sync() { synced = true; } 38 39 public boolean synced() { return synced; } 40} 41