Skip to content

Commit

Permalink
two engines in one app
Browse files Browse the repository at this point in the history
  • Loading branch information
foobnix committed Oct 13, 2022
1 parent 0518a51 commit 13f199c
Show file tree
Hide file tree
Showing 57 changed files with 174 additions and 35 deletions.
4 changes: 2 additions & 2 deletions Builder/jni/Android-1.11.mk
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ LOCAL_C_INCLUDES := \
$(TOP_LOCAL_PATH)

LOCAL_CFLAGS += -DHAVE_ANDROID
LOCAL_MODULE := mypdf
LOCAL_MODULE := libLibrera_111

LOCAL_SRC_FILES := \
ebookdroidjni.c \
Expand All @@ -41,7 +41,7 @@ LOCAL_SRC_FILES := \
libmupdf-1.11.c


LOCAL_STATIC_LIBRARIES := djvu hqx mupdf_core mupdf_thirdparty
LOCAL_STATIC_LIBRARIES := djvu hqx mupdf_core mupdf_thirdparty antiword libmobi
LOCAL_LDLIBS := -lm -llog -ljnigraphics

include $(BUILD_SHARED_LIBRARY)
4 changes: 2 additions & 2 deletions Builder/jni/Android-master.mk
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ LOCAL_C_INCLUDES := \
$(TOP_LOCAL_PATH)

LOCAL_CFLAGS := -DHAVE_ANDROID
LOCAL_MODULE := mypdf
LOCAL_MODULE := libLibrera_1204

LOCAL_SRC_FILES := \
ebookdroidjni.c \
Expand All @@ -39,7 +39,7 @@ LOCAL_SRC_FILES := \
libmupdf-1.20.2.c


LOCAL_STATIC_LIBRARIES := djvu hqx mupdf_java
LOCAL_STATIC_LIBRARIES := djvu hqx mupdf_java antiword libmobi

LOCAL_LDLIBS = -ljnigraphics
LOCAL_LDLIBS += -llog
Expand Down
2 changes: 1 addition & 1 deletion Builder/jni/MuPDF-1.20.2.mk
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ LOCAL_C_INCLUDES := $(MUPDF_PATH)/include

LOCAL_CFLAGS += -ffunction-sections -fdata-sections
LOCAL_CFLAGS += -D_FILE_OFFSET_BITS=32
#LOCAL_CFLAGS += -DTOFU_NOTO
LOCAL_CFLAGS += -DTOFU_NOTO
LOCAL_CFLAGS += -DTOFU_CJK
#LOCAL_CFLAGS += -DTOFU_SIL
LOCAL_CFLAGS += -DAA_BITS=8
Expand Down
2 changes: 1 addition & 1 deletion Builder/jni/libantiword-1.3.1/Android.mk
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,4 @@ LOCAL_SRC_FILES := \
LOCAL_LDLIBS := -llog


include $(BUILD_SHARED_LIBRARY)
include $(BUILD_STATIC_LIBRARY)
2 changes: 1 addition & 1 deletion Builder/jni/libmobi-0.11/Android.mk
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,4 @@ LOCAL_CFLAGS += -DUSE_XMLWRITER

LOCAL_LDLIBS := -lz

include $(BUILD_SHARED_LIBRARY)
include $(BUILD_STATIC_LIBRARY)
2 changes: 1 addition & 1 deletion Builder/jni/libmupdf-1.20.2.c
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ static void mupdf_free_document(renderdocument_t* doc) {
JNIEXPORT jint JNICALL
Java_org_ebookdroid_droids_mupdf_codec_MuPdfDocument_getMupdfVersion(JNIEnv *env,
jclass clazz) {
return 122;
return 1204;
}


Expand Down
32 changes: 32 additions & 0 deletions Builder/link_merge.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#!/usr/bin/env bash

./link_to_mupdf_1.11.sh
./link_to_mupdf_master.sh

MASTER=/home/dev/git/LibreraReader/Builder/mupdf-master/platform/librera
OLD=/home/dev/git/LibreraReader/Builder/mupdf-1.11/platform/librera/libs

cp -a $OLD $MASTER

cd ../

./gradlew clean incVersion

./gradlew assembleLibreraRelease
./gradlew assembleProRelease
./gradlew assembleFdroidRelease

./gradlew copyApks -Pbeta
./gradlew -stop

cd Builder

rm /home/dev/Dropbox/FREE_PDF_APK/testing/*-arm*
rm /home/dev/Dropbox/FREE_PDF_APK/testing/*-x86*

rm /home/dev/Nextcloud/LibreraBeta/*-arm*
rm /home/dev/Nextcloud/LibreraBeta/*-x86*

./remove_all.sh
./install_all.sh
./clear-cache.sh
2 changes: 1 addition & 1 deletion Builder/src/main/java/translations/SyncTranslations.java
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ public static List<String> getAllLangCodes(String path) {

@Override
public boolean accept(File dir, String name) {
if (name.contains("large") || name.contains("v14") || name.contains("v21")) {
if (name.contains("large") || name.contains("v14") || name.contains("v21") || name.contains("v29")) {
return false;
}
if (name.contains("values-")) {
Expand Down
6 changes: 3 additions & 3 deletions app/gradle.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#Mon Oct 10 12:10:20 EEST 2022
appVersionNumberIndex=71
#Thu Oct 13 11:26:46 EEST 2022
appVersionNumberIndex=74
appDB=8
appVersionNumberBase=8.6
appCodeNumber=4918
appCodeNumber=4930
3 changes: 3 additions & 0 deletions app/src/main/java/com/foobnix/ext/DjvuExtract.java
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@ public static EbookMeta getBookMetaInformation(String unZipPath) {
CodecDocument doc = null;
try {
doc = codecContex.openDocument(unZipPath, "");
if (doc == null) {
return EbookMeta.Empty();
}
} catch (RuntimeException e) {
LOG.e(e);
return EbookMeta.Empty();
Expand Down
43 changes: 37 additions & 6 deletions app/src/main/java/com/foobnix/pdf/info/AppsConfig.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.foobnix.pdf.info;

import android.content.Context;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.os.Build;
Expand All @@ -12,6 +13,10 @@
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GoogleApiAvailability;

import org.ebookdroid.droids.mupdf.codec.MuPdfDocument;

import java.util.Arrays;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

Expand All @@ -20,16 +25,42 @@ public class AppsConfig {
public static final String PRO_LIBRERA_READER = "com.foobnix.pro.pdf.reader";
public static final String LIBRERA_READER = "com.foobnix.pdf.reader";
public static final boolean ADS_ON_PAGE = false;
public static final boolean IS_FDROID = BuildConfig.FLAVOR.equals("fdroid") || BuildConfig.FLAVOR.equals("huawei");
public static final boolean IS_LOG = BuildConfig.FLAVOR.equals("alpha") || BuildConfig.FLAVOR.equals("beta");
public static final boolean IS_ENABLE_1_PAGE_SEARCH = true;
public final static ExecutorService executorService = Executors.newFixedThreadPool(2);
public final static String ENGINE_Librera_111 = "Librera_111";
public static int MUPDF_VERSION = 0;
public static int MUPDF_1_11 = 111;
public static boolean isDOCXSupported = Build.VERSION.SDK_INT >= 26;
public static boolean isCloudsEnable = false;
public static boolean IS_NO_ADS = false;
public static List<String> ENGINES = Arrays.asList(ENGINE_Librera_111, "Librera_1204");

public static final boolean IS_FDROID = BuildConfig.FLAVOR.equals("fdroid") || BuildConfig.FLAVOR.equals("huawei");
public static final boolean IS_LOG = BuildConfig.FLAVOR.equals("alpha") || BuildConfig.FLAVOR.equals("beta");
public static final boolean IS_ENABLE_1_PAGE_SEARCH = true;
public static boolean IS_NO_ADS = false;
public static void loadEngine(Context c) {
String engine = getCurrentEngine(c);
try {
System.loadLibrary(engine);
AppsConfig.MUPDF_VERSION = MuPdfDocument.getMupdfVersion();
LOG.d("Load-library version ", engine);
} catch (UnsatisfiedLinkError e) {
LOG.e(e);
setEngine(c, ENGINE_Librera_111);
System.loadLibrary(engine);
AppsConfig.MUPDF_VERSION = MuPdfDocument.getMupdfVersion();
LOG.d("Load-library version ", engine);
}

public final static ExecutorService executorService = Executors.newFixedThreadPool(2);
}

public static void setEngine(Context c, String engine) {
SharedPreferences sp = c.getSharedPreferences("Engine", Context.MODE_PRIVATE);
sp.edit().putString("version", engine).commit();
}

public static String getCurrentEngine(Context c) {
return c.getSharedPreferences("Engine", Context.MODE_PRIVATE).getString("version", ENGINE_Librera_111);
}


public static boolean isPDF_DRAW_ENABLE() {
Expand Down Expand Up @@ -60,7 +91,7 @@ public static boolean checkIsProInstalled(final Context a) {
if (AppState.get().isEnableAccessibility) {
return true;
}
if(Apps.isAccessibilityEnable(a)){
if (Apps.isAccessibilityEnable(a)) {
return true;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1966,7 +1966,7 @@ public void hideShowEditIcon() {
if (dc != null && passwordProtected) {
editTop2.setVisibility(View.GONE);
} else {
if (LibreraApp.MUPDF_VERSION == AppsConfig.MUPDF_1_11) {
if (AppsConfig.MUPDF_VERSION == AppsConfig.MUPDF_1_11) {
editTop2.setVisibility(View.VISIBLE);
} else {
editTop2.setVisibility(View.VISIBLE);
Expand Down
4 changes: 3 additions & 1 deletion app/src/main/java/com/foobnix/ui2/MyContextWrapper.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,18 @@
import com.foobnix.android.utils.LOG;
import com.foobnix.model.AppProfile;
import com.foobnix.model.AppState;
import com.foobnix.pdf.info.AppsConfig;
import com.foobnix.pdf.info.Urls;
import com.foobnix.pdf.info.model.BookCSS;
import com.foobnix.pdf.info.widget.DialogTranslateFromTo;

import org.ebookdroid.droids.mupdf.codec.MuPdfDocument;

import java.util.Locale;

public class MyContextWrapper {



@TargetApi(24)
public static ContextWrapper wrap(Context context) {

Expand Down
22 changes: 19 additions & 3 deletions app/src/main/java/com/foobnix/ui2/fragment/PrefFragment2.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
import android.widget.TextView;
import android.widget.Toast;

import androidx.annotation.NonNull;
import androidx.core.util.Pair;
import androidx.core.view.GravityCompat;
import androidx.drawerlayout.widget.DrawerLayout;
Expand Down Expand Up @@ -92,10 +93,8 @@
import com.foobnix.ui2.BooksService;
import com.foobnix.ui2.MainTabs2;
import com.foobnix.ui2.MyContextWrapper;
//import com.google.android.gms.auth.api.signin.GoogleSignIn;
import com.jmedeisis.draglinearlayout.DragLinearLayout;

import org.ebookdroid.LibreraApp;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;

Expand Down Expand Up @@ -572,7 +571,7 @@ public void run() {

try {
PackageInfo packageInfo = getActivity().getPackageManager().getPackageInfo(getActivity().getPackageName(), 0);
String version = packageInfo.versionName + " (" + LibreraApp.MUPDF_VERSION + "-" + BuildConfig.FLAVOR + ")";
String version = packageInfo.versionName + " (" + AppsConfig.MUPDF_VERSION + "-" + BuildConfig.FLAVOR + ")";
if (Dips.isEInk()) {
version += " INK";
}
Expand Down Expand Up @@ -840,6 +839,23 @@ public boolean onMenuItemClick(MenuItem item) {
}
});


TextView appEngine = inflate.findViewById(R.id.appEngine);
appEngine.setText(AppsConfig.getCurrentEngine(getActivity()));
TxtUtils.underlineTextView(appEngine);
appEngine.setOnClickListener(v -> {
PopupMenu p = new PopupMenu(getContext(), appEngine);
for (String engine : AppsConfig.ENGINES) {
p.getMenu().add(engine).setOnMenuItemClickListener(item -> {
AppsConfig.setEngine(getActivity(), engine);
android.os.Process.killProcess(android.os.Process.myPid());
return false;
});
}
p.show();
});


final TextView hypenLang = inflate.findViewById(R.id.appLang);
hypenLang.setText(DialogTranslateFromTo.getLanuageByCode(AppState.get().appLang));
TxtUtils.underlineTextView(hypenLang);
Expand Down
14 changes: 5 additions & 9 deletions app/src/main/java/org/ebookdroid/LibreraApp.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import android.app.Application;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Build;
import android.os.Environment;
import android.os.StrictMode;
Expand All @@ -20,6 +21,7 @@
import com.foobnix.pdf.info.R;
import com.foobnix.pdf.info.TintUtil;
import com.foobnix.tts.TTSNotification;
import com.foobnix.ui2.MyContextWrapper;
import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.initialization.InitializationStatus;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;
Expand All @@ -32,15 +34,10 @@

public class LibreraApp extends MultiDexApplication {

public final static int MUPDF_VERSION;

public static Context context;

static {
System.loadLibrary("mypdf");
System.loadLibrary("mobi");
System.loadLibrary("antiword");
MUPDF_VERSION = MuPdfDocument.getMupdfVersion();
}


@Override
public void onCreate() {
Expand All @@ -60,8 +57,7 @@ public void onCreate() {
}
super.onCreate();



AppsConfig.loadEngine(this);


context = getApplicationContext();
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/java/org/ebookdroid/droids/FolderContext.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public static File genarateXML(List<FileMeta> items, String base, boolean write)
}

File file;
if (AppsConfig.MUPDF_1_11 == LibreraApp.MUPDF_VERSION) {
if (AppsConfig.MUPDF_1_11 == AppsConfig.MUPDF_VERSION) {
file = new File(CacheZipUtils.ATTACHMENTS_CACHE_DIR, new File(base).getName());
file.mkdirs();
file = new File(file, "book.ldir");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -441,7 +441,7 @@ public TextWord[][] getText() {
return new TextWord[0][0];
}

if (LibreraApp.MUPDF_VERSION == AppsConfig.MUPDF_1_11) {
if (AppsConfig.MUPDF_VERSION == AppsConfig.MUPDF_1_11) {
return getText_111();
} else {
return getText_116();
Expand Down
20 changes: 20 additions & 0 deletions app/src/main/res/layout/fragment_preferences.xml
Original file line number Diff line number Diff line change
Expand Up @@ -487,6 +487,26 @@
android:text="@string/light" />
</LinearLayout>

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dip">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="135dp"
android:text="@string/engine"
android:textStyle="bold" />

<TextView
android:id="@+id/appEngine"
style="@style/textLink"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Librera_111" />
</LinearLayout>

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
Expand Down
1 change: 1 addition & 0 deletions app/src/main/res/values-ar/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -647,4 +647,5 @@
<string name="synced_books">الكتب المتزامنة</string>
<string name="smart_reflow">إعادة التدفق الذكي</string>
<string name="user_styles">أساليب العضو</string>
<string name="engine">محرك</string>
</resources>
1 change: 1 addition & 0 deletions app/src/main/res/values-bg/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -647,4 +647,5 @@
<string name="synced_books">Синхронизирани книги</string>
<string name="smart_reflow">Интелигентно преформатиране</string>
<string name="user_styles">Дефинирани от потребителя</string>
<string name="engine">Двигател</string>
</resources>
1 change: 1 addition & 0 deletions app/src/main/res/values-cs/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -647,4 +647,5 @@
<string name="synced_books">Synchronizované knihy</string>
<string name="smart_reflow">Chytré přeformátování</string>
<string name="user_styles">Uživatelsky definované</string>
<string name="engine">Motor</string>
</resources>
Loading

0 comments on commit 13f199c

Please sign in to comment.