diff --git a/app/conanfile.txt b/app/conanfile.txt index 6f6aeadb0e29..25a55409714e 100644 --- a/app/conanfile.txt +++ b/app/conanfile.txt @@ -8,4 +8,4 @@ CMakeDeps [options] odrcore/*:shared=False odrcore/*:with_pdf2htmlEX=True -odrcore/*:with_wvWare=False +odrcore/*:with_wvWare=True diff --git a/app/src/main/java/at/tomtasche/reader/background/FileLoader.java b/app/src/main/java/at/tomtasche/reader/background/FileLoader.java index c03642cddd2d..15cbdc976210 100644 --- a/app/src/main/java/at/tomtasche/reader/background/FileLoader.java +++ b/app/src/main/java/at/tomtasche/reader/background/FileLoader.java @@ -19,7 +19,6 @@ public abstract class FileLoader { public enum LoaderType { CORE, - WVWARE, ONLINE, RAW, METADATA diff --git a/app/src/main/java/at/tomtasche/reader/background/LoaderService.java b/app/src/main/java/at/tomtasche/reader/background/LoaderService.java index ddc8e5059b85..79822d7aea9b 100644 --- a/app/src/main/java/at/tomtasche/reader/background/LoaderService.java +++ b/app/src/main/java/at/tomtasche/reader/background/LoaderService.java @@ -35,7 +35,6 @@ public class LoaderService extends Service implements FileLoader.FileLoaderListe private MetadataLoader metadataLoader; private CoreLoader coreLoader; - private WvwareDocLoader wvwareDocLoader; private RawLoader rawLoader; private OnlineLoader onlineLoader; @@ -62,9 +61,6 @@ public synchronized void onCreate() { coreLoader = new CoreLoader(context, configManager, true, true); coreLoader.initialize(this, mainHandler, backgroundHandler, analyticsManager, crashManager); - wvwareDocLoader = new WvwareDocLoader(context); - wvwareDocLoader.initialize(this, mainHandler, backgroundHandler, analyticsManager, crashManager); - rawLoader = new RawLoader(context); rawLoader.initialize(this, mainHandler, backgroundHandler, analyticsManager, crashManager); @@ -116,9 +112,6 @@ public synchronized void loadWithType(FileLoader.LoaderType loaderType, FileLoad case CORE: loader = coreLoader; break; - case WVWARE: - loader = wvwareDocLoader; - break; case ONLINE: loader = onlineLoader; break; @@ -176,9 +169,7 @@ public void onError(FileLoader.Result result, Throwable error) { if (result.loaderType == FileLoader.LoaderType.CORE) { analyticsManager.report("load_odf_error", FirebaseAnalytics.Param.CONTENT_TYPE, options.fileType); - if (wvwareDocLoader.isSupported(options)) { - loadWithType(FileLoader.LoaderType.WVWARE, options); - } else if (rawLoader.isSupported(options)) { + if (rawLoader.isSupported(options)) { loadWithType(FileLoader.LoaderType.RAW, options); } else { if (currentListener != null) { @@ -268,10 +259,6 @@ public void onDestroy() { coreLoader.close(); } - if (wvwareDocLoader != null) { - wvwareDocLoader.close(); - } - if (rawLoader != null) { rawLoader.close(); } diff --git a/app/src/main/java/at/tomtasche/reader/background/WvwareDocLoader.java b/app/src/main/java/at/tomtasche/reader/background/WvwareDocLoader.java deleted file mode 100644 index 11212b2ab75b..000000000000 --- a/app/src/main/java/at/tomtasche/reader/background/WvwareDocLoader.java +++ /dev/null @@ -1,60 +0,0 @@ -package at.tomtasche.reader.background; - -import android.content.Context; -import android.net.Uri; - -import com.viliussutkus89.android.wvware.wvWare; - -import java.io.File; - -public class WvwareDocLoader extends FileLoader { - - public WvwareDocLoader(Context context) { - super(context, LoaderType.WVWARE); - } - - @Override - public boolean isSupported(Options options) { - return options.fileType.startsWith("application/msword"); - } - - @Override - public void loadSync(Options options) { - final Result result = new Result(); - result.options = options; - result.loaderType = type; - - try { - File cacheFile = AndroidFileCache.getCacheFile(context, options.cacheUri); - File cacheDirectory = AndroidFileCache.getCacheDirectory(cacheFile); - - wvWare docConverter = new wvWare(context).setInputDOC(cacheFile); - if (options.password != null) { - docConverter.setPassword(options.password); - } - - File output = docConverter.convertToHTML(); - - File htmlFile = new File(cacheDirectory, "doc.html"); - StreamUtil.copy(output, htmlFile); - - // library does not delete output files automatically - output.delete(); - - Uri finalUri = Uri.fromFile(htmlFile); - - options.fileType = "application/msword"; - - result.partTitles.add(null); - result.partUris.add(finalUri); - - callOnSuccess(result); - } catch (Throwable e) { - if (e instanceof wvWare.PasswordRequiredException || e instanceof wvWare.WrongPasswordException) { - e = new EncryptedDocumentException(); - } - - callOnError(result, e); - } - } -} diff --git a/app/src/main/java/at/tomtasche/reader/ui/activity/DocumentFragment.java b/app/src/main/java/at/tomtasche/reader/ui/activity/DocumentFragment.java index 139397f28a9a..8fc0b55ce042 100644 --- a/app/src/main/java/at/tomtasche/reader/ui/activity/DocumentFragment.java +++ b/app/src/main/java/at/tomtasche/reader/ui/activity/DocumentFragment.java @@ -402,7 +402,7 @@ public void onLoadSuccess(FileLoader.Result result) { if (result.loaderType == FileLoader.LoaderType.RAW || result.loaderType == FileLoader.LoaderType.ONLINE) { offerReopen(activity, options, R.string.toast_hint_unsupported_file, false); - } else if (result.loaderType == FileLoader.LoaderType.CORE || result.loaderType == FileLoader.LoaderType.WVWARE) { + } else if (result.loaderType == FileLoader.LoaderType.CORE) { offerUpload(activity, options, false); } @@ -476,8 +476,6 @@ public void onEncrypted(FileLoader.Result result) { if (result.loaderType == FileLoader.LoaderType.CORE) { loadWithType(FileLoader.LoaderType.CORE, options); - } else if (result.loaderType == FileLoader.LoaderType.WVWARE) { - loadWithType(FileLoader.LoaderType.WVWARE, options); } else { throw new RuntimeException("encryption not supported for type: " + result.loaderType); } @@ -504,8 +502,6 @@ public void onUnsupported(FileLoader.Result result) { } else { offerReopen(activity, options, R.string.toast_error_illegal_file_reopen, true); } - } else if (result.loaderType == FileLoader.LoaderType.WVWARE) { - offerUpload(activity, options, true); } else if (result.loaderType == FileLoader.LoaderType.ONLINE) { offerReopen(activity, options, R.string.toast_error_illegal_file_reopen, true); }