package org.openintents.filemanager.test; import android.support.test.espresso.IdlingResource; import org.openintents.filemanager.FileManagerActivity; import org.openintents.filemanager.IntentFilterActivity; import org.openintents.filemanager.lists.PickFileListFragment; import org.openintents.filemanager.lists.SimpleFileListFragment; public class DirectoryScannerIdlingResource implements IdlingResource { private final SimpleFileListFragment fragment; private ResourceCallback callback; public DirectoryScannerIdlingResource(FileManagerActivity activity) { fragment = (SimpleFileListFragment) activity.getSupportFragmentManager().findFragmentByTag(FileManagerActivity.FRAGMENT_TAG); } public DirectoryScannerIdlingResource(IntentFilterActivity activity) { fragment = (SimpleFileListFragment) activity.getSupportFragmentManager().findFragmentByTag(PickFileListFragment.class.getName()); } @Override public String getName() { return DirectoryScannerIdlingResource.class.getName(); } @Override public boolean isIdleNow() { boolean idle = !fragment.isLoading(); if (idle && callback != null) { callback.onTransitionToIdle(); } return idle; } @Override public void registerIdleTransitionCallback(ResourceCallback callback) { this.callback = callback; fragment.setResourceCallback(callback); } }