mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-12 10:49:06 +01:00
46 lines
1.5 KiB
Java
46 lines
1.5 KiB
Java
package org.briarproject.plugins.droidtooth;
|
|
|
|
import java.security.SecureRandom;
|
|
import java.util.concurrent.Executor;
|
|
|
|
import org.briarproject.api.TransportId;
|
|
import org.briarproject.api.android.AndroidExecutor;
|
|
import org.briarproject.api.plugins.duplex.DuplexPlugin;
|
|
import org.briarproject.api.plugins.duplex.DuplexPluginCallback;
|
|
import org.briarproject.api.plugins.duplex.DuplexPluginFactory;
|
|
import org.briarproject.api.system.Clock;
|
|
import org.briarproject.system.SystemClock;
|
|
|
|
import android.content.Context;
|
|
|
|
public class DroidtoothPluginFactory implements DuplexPluginFactory {
|
|
|
|
private static final int MAX_LATENCY = 30 * 1000; // 30 seconds
|
|
private static final int POLLING_INTERVAL = 3 * 60 * 1000; // 3 minutes
|
|
|
|
private final Executor ioExecutor;
|
|
private final AndroidExecutor androidExecutor;
|
|
private final Context appContext;
|
|
private final SecureRandom secureRandom;
|
|
private final Clock clock;
|
|
|
|
public DroidtoothPluginFactory(Executor ioExecutor,
|
|
AndroidExecutor androidExecutor, Context appContext,
|
|
SecureRandom secureRandom) {
|
|
this.ioExecutor = ioExecutor;
|
|
this.androidExecutor = androidExecutor;
|
|
this.appContext = appContext;
|
|
this.secureRandom = secureRandom;
|
|
clock = new SystemClock();
|
|
}
|
|
|
|
public TransportId getId() {
|
|
return DroidtoothPlugin.ID;
|
|
}
|
|
|
|
public DuplexPlugin createPlugin(DuplexPluginCallback callback) {
|
|
return new DroidtoothPlugin(ioExecutor, androidExecutor, appContext,
|
|
secureRandom, clock, callback, MAX_LATENCY, POLLING_INTERVAL);
|
|
}
|
|
}
|