diff --git a/.github/workflows/android_main.yml b/.github/workflows/android_main.yml index 89f516cc7686..a15a6f5318f8 100644 --- a/.github/workflows/android_main.yml +++ b/.github/workflows/android_main.yml @@ -67,15 +67,6 @@ jobs: path: app/build/reports/lint-results-*.html if-no-files-found: error - - name: Artifact dotconan2 - uses: actions/upload-artifact@v4 - with: - name: dotconan2 - path: ~/.conan2 - if-no-files-found: error - compression-level: 0 - include-hidden-files: true - test: runs-on: ubuntu-22.04 needs: build @@ -118,10 +109,13 @@ jobs: - name: install ndk run: echo "y" | sudo ${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager --install "ndk;${{ env.ndk_version }}" - - uses: actions/download-artifact@v4 - with: - name: dotconan2 - path: ~/.conan2 + - name: conan remote + run: | + conan remote remove "*" + conan remote add odr https://artifactory.opendocument.app/artifactory/api/conan/conan + conan remote add conancenter https://center2.conan.io + - name: conan profile + run: conan profile detect - name: Enable KVM group perms run: | diff --git a/app/src/androidTest/java/at/tomtasche/reader/test/CoreTest.java b/app/src/androidTest/java/at/tomtasche/reader/test/CoreTest.java index 06b5efce24f6..06f450b65132 100644 --- a/app/src/androidTest/java/at/tomtasche/reader/test/CoreTest.java +++ b/app/src/androidTest/java/at/tomtasche/reader/test/CoreTest.java @@ -24,9 +24,14 @@ @LargeTest @RunWith(AndroidJUnit4.class) public class CoreTest { - private File m_testFile; + @Before + public void initializeCore() { + Context appCtx = InstrumentationRegistry.getInstrumentation().getTargetContext(); + CoreWrapper.initialize(appCtx); + } + @Before public void extractTestFile() throws IOException { Context appCtx = InstrumentationRegistry.getInstrumentation().getTargetContext(); @@ -58,17 +63,15 @@ private static void copy(InputStream src, File dst) throws IOException { @Test public void test() { - CoreWrapper core = new CoreWrapper(); - File cacheDir = InstrumentationRegistry.getInstrumentation().getTargetContext().getCacheDir(); - File htmlFile = new File(cacheDir, "html"); + File outputDir = new File(cacheDir, "output"); CoreWrapper.CoreOptions coreOptions = new CoreWrapper.CoreOptions(); coreOptions.inputPath = m_testFile.getAbsolutePath(); - coreOptions.outputPath = htmlFile.getPath(); + coreOptions.outputPath = outputDir.getPath(); coreOptions.editable = true; - CoreWrapper.CoreResult coreResult = core.parse(coreOptions); + CoreWrapper.CoreResult coreResult = CoreWrapper.parse(coreOptions); Assert.assertEquals(0, coreResult.errorCode); File resultFile = new File(cacheDir, "result"); @@ -76,7 +79,7 @@ public void test() { String htmlDiff = "{\"modifiedText\":{\"3\":\"This is a simple test document to demonstrate the DocumentLoadewwwwr example!\"}}"; - CoreWrapper.CoreResult result = core.backtranslate(coreOptions, htmlDiff); + CoreWrapper.CoreResult result = CoreWrapper.backtranslate(coreOptions, htmlDiff); Assert.assertEquals(0, coreResult.errorCode); } } diff --git a/app/src/androidTest/java/at/tomtasche/reader/test/MainActivityTests.java b/app/src/androidTest/java/at/tomtasche/reader/test/MainActivityTests.java index 2b9fd3a116bd..706b8a96cc6b 100644 --- a/app/src/androidTest/java/at/tomtasche/reader/test/MainActivityTests.java +++ b/app/src/androidTest/java/at/tomtasche/reader/test/MainActivityTests.java @@ -50,7 +50,6 @@ @LargeTest @RunWith(AndroidJUnit4.class) public class MainActivityTests { - private IdlingResource m_idlingResource; private static final Map s_testFiles = new ArrayMap<>(); @@ -185,6 +184,4 @@ public void testPDF() { .perform(click()); }); } - - } diff --git a/app/src/main/java/at/tomtasche/reader/background/CoreWrapper.java b/app/src/main/java/at/tomtasche/reader/background/CoreWrapper.java index b7f4e5e6226d..d151b9e370ba 100644 --- a/app/src/main/java/at/tomtasche/reader/background/CoreWrapper.java +++ b/app/src/main/java/at/tomtasche/reader/background/CoreWrapper.java @@ -9,13 +9,11 @@ import java.util.List; public class CoreWrapper { - static { System.loadLibrary("odr-core"); } public static class GlobalParams { - public String coreDataPath; public String fontconfigDataPath; public String popplerDataPath; @@ -33,10 +31,10 @@ public static void initialize(Context context) { AssetExtractor ae = new AssetExtractor(context.getAssets()); ae.setOverwrite(); - ae.extract(assetsDirectory, "odrcore"); - ae.extract(assetsDirectory, "fontconfig"); - ae.extract(assetsDirectory, "poppler"); - ae.extract(assetsDirectory, "pdf2htmlex"); + ae.extract(assetsDirectory, "core/odrcore"); + ae.extract(assetsDirectory, "core/fontconfig"); + ae.extract(assetsDirectory, "core/poppler"); + ae.extract(assetsDirectory, "core/pdf2htmlex"); CoreWrapper.GlobalParams globalParams = new CoreWrapper.GlobalParams(); globalParams.coreDataPath = odrCoreDataDirectory.getAbsolutePath(); @@ -47,7 +45,6 @@ public static void initialize(Context context) { } public static class CoreOptions { - public boolean ooxml; public boolean txt; public boolean pdf; @@ -68,27 +65,21 @@ public static CoreResult parse(CoreOptions options) { switch (result.errorCode) { case 0: break; - case -1: result.exception = new CoreCouldNotOpenException(); break; - case -2: result.exception = new CoreEncryptedException(); break; - case -3: result.exception = new CoreUnknownErrorException(); break; - case -4: result.exception = new CoreCouldNotTranslateException(); break; - case -5: result.exception = new CoreUnexpectedFormatException(); break; - default: result.exception = new CoreUnexpectedErrorCodeException(); } @@ -140,7 +131,6 @@ public static void close() { public static native void stopServer(); public static class CoreResult { - public int errorCode; public Exception exception; @@ -168,5 +158,4 @@ public static class CoreUnknownErrorException extends RuntimeException {} public static class CoreCouldNotEditException extends RuntimeException {} public static class CoreCouldNotSaveException extends RuntimeException {} - }