/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
package org.mozilla.android.sync.test.helpers;
import org.mozilla.gecko.sync.repositories.RepositorySession;
import org.mozilla.gecko.sync.repositories.delegates.RepositorySessionCreationDelegate;
public class DefaultSessionCreationDelegate extends DefaultDelegate implements
RepositorySessionCreationDelegate {
@Override
public void onSessionCreateFailed(Exception ex) {
performNotify("Session creation failed", ex);
}
@Override
public void onSessionCreated(RepositorySession session) {
performNotify("Should not have been created.", null);
}
@Override
public RepositorySessionCreationDelegate deferredCreationDelegate() {
final RepositorySessionCreationDelegate self = this;
return new RepositorySessionCreationDelegate() {
@Override
public void onSessionCreated(final RepositorySession session) {
new Thread(new Runnable() {
@Override
public void run() {
self.onSessionCreated(session);
}
}).start();
}
@Override
public void onSessionCreateFailed(final Exception ex) {
new Thread(new Runnable() {
@Override
public void run() {
self.onSessionCreateFailed(ex);
}
}).start();
}
@Override
public RepositorySessionCreationDelegate deferredCreationDelegate() {
return this;
}
};
}
}