mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-15 20:29:52 +01:00
Modified the project structure, removed module extension and went instead for a non-complete core dependency graph
This commit is contained in:
@@ -6,15 +6,13 @@ import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.os.Message;
|
||||
|
||||
import org.briarproject.api.android.PlatformExecutor;
|
||||
import org.briarproject.android.api.AndroidExecutor;
|
||||
|
||||
import java.util.concurrent.Callable;
|
||||
import java.util.concurrent.Future;
|
||||
import java.util.concurrent.FutureTask;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
class AndroidExecutorImpl implements PlatformExecutor {
|
||||
class AndroidExecutorImpl implements AndroidExecutor {
|
||||
|
||||
private final Handler handler;
|
||||
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
package org.briarproject.system;
|
||||
|
||||
import android.app.Application;
|
||||
|
||||
import org.briarproject.android.api.AndroidExecutor;
|
||||
import org.briarproject.api.system.LocationUtils;
|
||||
import org.briarproject.api.system.SeedProvider;
|
||||
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
|
||||
@Module
|
||||
public class AndroidSystemModule {
|
||||
|
||||
@Provides
|
||||
public SeedProvider provideSeedProvider(Application app) {
|
||||
return new AndroidSeedProvider(app);
|
||||
}
|
||||
|
||||
@Provides
|
||||
public LocationUtils provideLocationUtils(Application app) {
|
||||
return new AndroidLocationUtils(app);
|
||||
}
|
||||
|
||||
@Provides
|
||||
public AndroidExecutor providePlatformExecutor(Application app) {
|
||||
return new AndroidExecutorImpl(app);
|
||||
}
|
||||
}
|
||||
@@ -1,78 +0,0 @@
|
||||
package org.briarproject.system;
|
||||
|
||||
import android.app.Application;
|
||||
import android.content.Context;
|
||||
|
||||
import org.briarproject.PlatformModule;
|
||||
import org.briarproject.android.ApplicationScope;
|
||||
import org.briarproject.api.android.PlatformExecutor;
|
||||
import org.briarproject.api.crypto.SecretKey;
|
||||
import org.briarproject.api.db.DatabaseConfig;
|
||||
import org.briarproject.api.ui.UiCallback;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
public class PlatformModuleExtension extends PlatformModule {
|
||||
|
||||
private final UiCallback uiCallback;
|
||||
private final Application app;
|
||||
|
||||
public PlatformModuleExtension(Application app) {
|
||||
this.app = app;
|
||||
// Use a dummy UI callback
|
||||
uiCallback = new UiCallback() {
|
||||
|
||||
public int showChoice(String[] options, String... message) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
public boolean showConfirmationMessage(String... message) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
public void showMessage(String... message) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public UiCallback provideUICallback() {
|
||||
return uiCallback;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ApplicationScope
|
||||
public DatabaseConfig provideDatabaseConfig() {
|
||||
final File dir = app.getApplicationContext().getDir("db", Context.MODE_PRIVATE);
|
||||
return new DatabaseConfig() {
|
||||
|
||||
private volatile SecretKey key = null;
|
||||
|
||||
public boolean databaseExists() {
|
||||
return dir.isDirectory() && dir.listFiles().length > 0;
|
||||
}
|
||||
|
||||
public File getDatabaseDirectory() {
|
||||
return dir;
|
||||
}
|
||||
|
||||
public void setEncryptionKey(SecretKey key) {
|
||||
this.key = key;
|
||||
}
|
||||
|
||||
public SecretKey getEncryptionKey() {
|
||||
return key;
|
||||
}
|
||||
|
||||
public long getMaxSize() {
|
||||
return Long.MAX_VALUE;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlatformExecutor providePlatformExecutor() {
|
||||
return new AndroidExecutorImpl(app);
|
||||
}
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
package org.briarproject.system;
|
||||
|
||||
|
||||
import android.app.Application;
|
||||
|
||||
import org.briarproject.api.system.Clock;
|
||||
import org.briarproject.api.system.LocationUtils;
|
||||
import org.briarproject.api.system.SeedProvider;
|
||||
import org.briarproject.api.system.Timer;
|
||||
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
|
||||
public class SystemModuleExtension extends SystemModule {
|
||||
|
||||
private final Application app;
|
||||
|
||||
public SystemModuleExtension(final Application app) {
|
||||
this.app = app;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SeedProvider provideSeedProvider() {
|
||||
return new AndroidSeedProvider(app);
|
||||
}
|
||||
|
||||
@Override
|
||||
public LocationUtils provideLocationUtils() {
|
||||
return new AndroidLocationUtils(app);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user