package com.automattic.simplenote.simperium; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import com.simperium.client.AuthProvider; import com.simperium.client.ChannelProvider; import com.simperium.client.ClientFactory; import com.simperium.android.GhostStore; import com.simperium.android.PersistentStore; /** * Refactoring as much of the android specific components of the client * and decoupling different parts of the API. */ public class MockAndroidClient implements ClientFactory { public static final String DEFAULT_DATABASE_NAME = "simperium-store"; protected Context mContext; protected SQLiteDatabase mDatabase; public MockChannelProvider channelProvider = new MockChannelProvider(); public MockAuthProvider authProvider = new MockAuthProvider(); public MockAndroidClient(Context context){ mContext = context; mDatabase = mContext.openOrCreateDatabase(DEFAULT_DATABASE_NAME, 0, null); } @Override public AuthProvider buildAuthProvider(String appId, String appSecret){ return authProvider; } @Override public ChannelProvider buildChannelProvider(String appId){ // Simperium Bucket API return channelProvider; } @Override public PersistentStore buildStorageProvider(){ return new PersistentStore(mDatabase); } @Override public GhostStore buildGhostStorageProvider(){ return new GhostStore(mDatabase); } @Override public MockExecutor.Immediate buildExecutor(){ return MockExecutor.immediate(); } }