first compile-clean attempt to integrate the layered I/O subsystem with the existing UI

This commit is contained in:
Sebastian Stenzel
2016-01-26 20:17:33 +01:00
parent e4d626eef5
commit c56d0b7d4a
42 changed files with 539 additions and 430 deletions
@@ -2,12 +2,10 @@ package org.cryptomator.filesystem.crypto;
import javax.inject.Singleton;
import org.cryptomator.crypto.engine.impl.CryptoEngineModule;
import dagger.Component;
@Singleton
@Component(modules = CryptoEngineModule.class)
@Component(modules = CryptoFileSystemModule.class)
interface CryptoFileSystemComponent {
CryptoFileSystemFactory cryptoFileSystemFactory();
@@ -5,6 +5,7 @@ import javax.inject.Provider;
import javax.inject.Singleton;
import org.cryptomator.crypto.engine.Cryptor;
import org.cryptomator.crypto.engine.InvalidPassphraseException;
import org.cryptomator.filesystem.FileSystem;
import org.cryptomator.filesystem.Folder;
import org.cryptomator.filesystem.blockaligned.BlockAlignedFileSystemFactory;
@@ -24,7 +25,7 @@ public class CryptoFileSystemFactory {
this.blockAlignedFileSystemFactory = blockAlignedFileSystemFactory;
}
public FileSystem get(Folder root, CharSequence passphrase, CryptoFileSystemDelegate delegate) {
public FileSystem get(Folder root, CharSequence passphrase, CryptoFileSystemDelegate delegate) throws InvalidPassphraseException {
final FileSystem nameShorteningFs = shorteningFileSystemFactory.get(root);
final FileSystem cryptoFs = new CryptoFileSystem(nameShorteningFs, cryptorProvider.get(), delegate, passphrase);
return blockAlignedFileSystemFactory.get(cryptoFs);
@@ -0,0 +1,10 @@
package org.cryptomator.filesystem.crypto;
import org.cryptomator.crypto.engine.impl.CryptoEngineModule;
import dagger.Module;
@Module(includes = CryptoEngineModule.class)
public class CryptoFileSystemModule {
}