From c7996156ed0b5402afd40d0af03b4efa6e80dad0 Mon Sep 17 00:00:00 2001 From: M66B Date: Mon, 17 Apr 2023 18:24:27 +0200 Subject: [PATCH] Prevent crash --- .../java/eu/faircode/email/ApplicationEx.java | 39 +++++++++++++------ 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ApplicationEx.java b/app/src/main/java/eu/faircode/email/ApplicationEx.java index 8740a19958..281dd76857 100644 --- a/app/src/main/java/eu/faircode/email/ApplicationEx.java +++ b/app/src/main/java/eu/faircode/email/ApplicationEx.java @@ -328,23 +328,40 @@ public class ApplicationEx extends Application @Override public void onTrimMemory(int level) { - Log.logMemory(this, "Trim memory level=" + level); - Map crumb = new HashMap<>(); - crumb.put("level", Integer.toString(level)); - Log.breadcrumb("trim", crumb); - super.onTrimMemory(level); + try { + /* + java.lang.NoClassDefFoundError: Not a primitive type: '\u0000' + at androidx.core.content.ContextCompat$Api23Impl.getSystemService(Unknown Source:0) + at androidx.core.content.ContextCompat.getSystemService(SourceFile:7) + at eu.faircode.email.Helper.getSystemService(Unknown Source:4) + at eu.faircode.email.Log.logMemory(SourceFile:8) + at eu.faircode.email.ApplicationEx.onTrimMemory(SourceFile:18) + at android.app.ActivityThread.handleTrimMemory(ActivityThread.java:5453) + */ + Log.logMemory(this, "Trim memory level=" + level); + Map crumb = new HashMap<>(); + crumb.put("level", Integer.toString(level)); + Log.breadcrumb("trim", crumb); + super.onTrimMemory(level); + } catch (Throwable ex) { + Log.e(ex); + } } @Override public void onLowMemory() { - Log.logMemory(this, "Low memory"); - Map crumb = new HashMap<>(); - crumb.put("free", Integer.toString(Log.getFreeMemMb())); - Log.breadcrumb("low", crumb); + try { + Log.logMemory(this, "Low memory"); + Map crumb = new HashMap<>(); + crumb.put("free", Integer.toString(Log.getFreeMemMb())); + Log.breadcrumb("low", crumb); - ContactInfo.clearCache(this, false); + ContactInfo.clearCache(this, false); - super.onLowMemory(); + super.onLowMemory(); + } catch (Throwable ex) { + Log.e(ex); + } } static void upgrade(Context context) {