From: Reimar Döffinger Date: Sat, 5 Aug 2017 08:04:57 +0000 (+0200) Subject: Work around Android bug causing crashes. X-Git-Url: http://gitweb.fperrin.net/?p=Dictionary.git;a=commitdiff_plain;h=2c7ba9fe59ab6f5da92af5ddb4e3be0b90ea393c Work around Android bug causing crashes. --- diff --git a/src/com/hughes/android/dictionary/DictionaryActivity.java b/src/com/hughes/android/dictionary/DictionaryActivity.java index 008b57d..c4d2dda 100644 --- a/src/com/hughes/android/dictionary/DictionaryActivity.java +++ b/src/com/hughes/android/dictionary/DictionaryActivity.java @@ -1473,13 +1473,18 @@ public class DictionaryActivity extends ActionBarActivity { } private void getMetrics() { + float scale = 1; // Get the screen's density scale // The previous method getResources().getDisplayMetrics() // used to occasionally trigger a null pointer exception, // so try this instead. - DisplayMetrics dm = new DisplayMetrics(); - getWindowManager().getDefaultDisplay().getMetrics(dm); - final float scale = dm.density; + // As it still crashes, add a fallback + try { + DisplayMetrics dm = new DisplayMetrics(); + getWindowManager().getDefaultDisplay().getMetrics(dm); + scale = dm.density; + } catch (NullPointerException e) + {} // Convert the dps to pixels, based on density scale mPaddingDefault = (int) (PADDING_DEFAULT_DP * scale + 0.5f); mPaddingLarge = (int) (PADDING_LARGE_DP * scale + 0.5f);