package com.orgzly.android.repos; import android.content.Context; import android.net.Uri; import java.io.File; import java.io.IOException; import java.util.List; /** * Wrapper around {@link com.orgzly.android.repos.LocalDbRepo}. * * Simulates slow network. * * TODO: Use LocalDirRepo instead, remove LocalDbRepo. */ public class MockRepo implements Repo { public static final String SCHEME = "mock"; private static final long SLEEP_FOR_GET_BOOKS = 100; private static final long SLEEP_FOR_RETRIEVE_BOOK = 200; private static final long SLEEP_FOR_STORE_BOOK = 200; private LocalDbRepo localDbRepo; public MockRepo(Context context, String url) { localDbRepo = new LocalDbRepo(context, url); } @Override public boolean requiresConnection() { return false; } @Override public Uri getUri() { return localDbRepo.getUri(); } @Override public List<VersionedRook> getBooks() throws IOException { try { Thread.sleep(SLEEP_FOR_GET_BOOKS); } catch (InterruptedException e) { } return localDbRepo.getBooks(); } @Override public VersionedRook retrieveBook(Uri uri, File file) throws IOException { try { Thread.sleep(SLEEP_FOR_RETRIEVE_BOOK); } catch (InterruptedException e) { } return localDbRepo.retrieveBook(uri, file); } @Override public VersionedRook storeBook(File file, String fileName) throws IOException { try { Thread.sleep(SLEEP_FOR_STORE_BOOK); } catch (InterruptedException e) { } return localDbRepo.storeBook(file, fileName); } @Override public VersionedRook renameBook(Uri fromUri, String name) throws IOException { try { Thread.sleep(SLEEP_FOR_STORE_BOOK); } catch (InterruptedException e) { } return localDbRepo.renameBook(fromUri, name); } @Override public void delete(Uri uri) throws IOException { } }