1
0
Fork 0
mirror of https://github.com/M66B/FairEmail.git synced 2025-02-24 23:12:55 +00:00

Prevent crash

This commit is contained in:
M66B 2023-03-29 22:18:49 +02:00
parent b1aeedb115
commit 6b31b76479

View file

@ -1828,52 +1828,68 @@ public class StyleHelper {
.replace("'", "") .replace("'", "")
.replace("\"", "")); .replace("\"", ""));
if (faces.contains("fairemail")) try {
return ResourcesCompat.getFont(context.getApplicationContext(), R.font.fantasy);
if (bundled_fonts) { if (faces.contains("fairemail"))
if (faces.contains("montserrat") || return ResourcesCompat.getFont(context.getApplicationContext(), R.font.fantasy);
faces.contains("gotham") ||
faces.contains("proxima nova"))
return ResourcesCompat.getFont(context.getApplicationContext(), R.font.montserrat);
if (faces.contains("arimo") || if (bundled_fonts) {
faces.contains("arial") || if (faces.contains("montserrat") ||
faces.contains("verdana") || faces.contains("gotham") ||
faces.contains("helvetica") || faces.contains("proxima nova"))
faces.contains("helvetica neue")) return ResourcesCompat.getFont(context.getApplicationContext(), R.font.montserrat);
return ResourcesCompat.getFont(context.getApplicationContext(), R.font.arimo);
if (faces.contains("tinos") || if (faces.contains("arimo") ||
faces.contains("times") || faces.contains("arial") ||
faces.contains("times new roman")) faces.contains("verdana") ||
return ResourcesCompat.getFont(context.getApplicationContext(), R.font.tinos); faces.contains("helvetica") ||
faces.contains("helvetica neue"))
return ResourcesCompat.getFont(context.getApplicationContext(), R.font.arimo);
if (faces.contains("cousine") || if (faces.contains("tinos") ||
faces.contains("courier") || faces.contains("times") ||
faces.contains("courier new")) faces.contains("times new roman"))
return ResourcesCompat.getFont(context.getApplicationContext(), R.font.cousine); return ResourcesCompat.getFont(context.getApplicationContext(), R.font.tinos);
if (faces.contains("lato") || if (faces.contains("cousine") ||
faces.contains("carlito") || faces.contains("courier") ||
faces.contains("calibri")) faces.contains("courier new"))
return ResourcesCompat.getFont(context.getApplicationContext(), R.font.lato); return ResourcesCompat.getFont(context.getApplicationContext(), R.font.cousine);
if (faces.contains("caladea") || if (faces.contains("lato") ||
faces.contains("cambo") || faces.contains("carlito") ||
faces.contains("cambria")) faces.contains("calibri"))
return ResourcesCompat.getFont(context.getApplicationContext(), R.font.caladea); return ResourcesCompat.getFont(context.getApplicationContext(), R.font.lato);
if (faces.contains("opendyslexic") || if (faces.contains("caladea") ||
faces.contains("comic sans") || faces.contains("cambo") ||
faces.contains("comic sans ms")) faces.contains("cambria"))
return ResourcesCompat.getFont(context.getApplicationContext(), R.font.opendyslexic); return ResourcesCompat.getFont(context.getApplicationContext(), R.font.caladea);
}
for (String face : faces) { if (faces.contains("opendyslexic") ||
Typeface tf = Typeface.create(face, Typeface.NORMAL); faces.contains("comic sans") ||
if (!tf.equals(Typeface.DEFAULT)) faces.contains("comic sans ms"))
return tf; return ResourcesCompat.getFont(context.getApplicationContext(), R.font.opendyslexic);
}
for (String face : faces) {
Typeface tf = Typeface.create(face, Typeface.NORMAL);
if (!tf.equals(Typeface.DEFAULT))
return tf;
}
} catch (Throwable ex) {
Log.e(ex);
/*
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object java.lang.reflect.Constructor.newInstance(java.lang.Object[])' on a null object reference
at androidx.core.graphics.TypefaceCompatApi21Impl.newFamily(SourceFile:9)
at androidx.core.graphics.TypefaceCompatApi21Impl.createFromFontFamilyFilesResourceEntry(SourceFile:1)
at androidx.core.graphics.TypefaceCompat.createFromResourcesFamilyXml(SourceFile:86)
at androidx.core.content.res.ResourcesCompat.loadFont(SourceFile:17)
at androidx.core.content.res.ResourcesCompat.loadFont(SourceFile:3)
at androidx.core.content.res.ResourcesCompat.getFont(SourceFile:2)
at eu.faircode.email.StyleHelper.getTypeface(SourceFile:316)
at eu.faircode.email.StyleHelper.getTypefaceSpan(SourceFile:7)
*/
} }
return Typeface.DEFAULT; return Typeface.DEFAULT;