From 4f2b0995bf17607656ab7d36b1de82c0c3fe44c2 Mon Sep 17 00:00:00 2001 From: M66B Date: Tue, 28 Sep 2021 22:03:24 +0200 Subject: [PATCH] Clear delayed --- .../java/eu/faircode/email/ActivityBase.java | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ActivityBase.java b/app/src/main/java/eu/faircode/email/ActivityBase.java index 702b5dfeaa..f41cbfd3c9 100644 --- a/app/src/main/java/eu/faircode/email/ActivityBase.java +++ b/app/src/main/java/eu/faircode/email/ActivityBase.java @@ -766,19 +766,24 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc @Override public void onFragmentDestroyed(@NonNull FragmentManager fm, @NonNull Fragment f) { log(fm, f, "onFragmentDestroyed"); - try { - for (Field field : f.getClass().getDeclaredFields()) { - Class type = field.getType(); - if (View.class.isAssignableFrom(type) || - RecyclerView.Adapter.class.isAssignableFrom(type)) { - Log.i("Clearing " + f.getClass().getSimpleName() + ":" + field.getName()); - field.setAccessible(true); - field.set(f, null); + getMainHandler().post(new Runnable() { + @Override + public void run() { + try { + for (Field field : f.getClass().getDeclaredFields()) { + Class type = field.getType(); + if (View.class.isAssignableFrom(type) || + RecyclerView.Adapter.class.isAssignableFrom(type)) { + Log.i("Clearing " + f.getClass().getSimpleName() + ":" + field.getName()); + field.setAccessible(true); + field.set(f, null); + } + } + } catch (Throwable ex) { + Log.w(ex); } } - } catch (Throwable ex) { - Log.w(ex); - } + }); } @Override