mirror of
https://github.com/M66B/FairEmail.git
synced 2026-03-27 19:35:10 +01:00
Clear activity views
This commit is contained in:
@@ -20,7 +20,6 @@ package eu.faircode.email;
|
||||
*/
|
||||
|
||||
import android.Manifest;
|
||||
import android.animation.Animator;
|
||||
import android.app.ActivityManager;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
@@ -60,14 +59,11 @@ import androidx.lifecycle.LifecycleObserver;
|
||||
import androidx.lifecycle.LifecycleOwner;
|
||||
import androidx.lifecycle.OnLifecycleEvent;
|
||||
import androidx.preference.PreferenceManager;
|
||||
import androidx.recyclerview.selection.SelectionTracker;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.InputStream;
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
@@ -807,26 +803,7 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc
|
||||
@Override
|
||||
public void onFragmentViewDestroyed(@NonNull FragmentManager fm, @NonNull Fragment f) {
|
||||
log(fm, f, "onFragmentViewDestroyed");
|
||||
try {
|
||||
for (Field field : f.getClass().getDeclaredFields()) {
|
||||
Class<?> type = field.getType();
|
||||
if (View.class.isAssignableFrom(type) ||
|
||||
Animator.class.isAssignableFrom(type) ||
|
||||
SelectionTracker.class.isAssignableFrom(type) ||
|
||||
SelectionTracker.SelectionPredicate.class.isAssignableFrom(type) ||
|
||||
RecyclerView.Adapter.class.isAssignableFrom(type)) {
|
||||
Log.i("Clearing " + f.getClass().getSimpleName() + ":" + field.getName());
|
||||
field.setAccessible(true);
|
||||
|
||||
if (Animator.class.isAssignableFrom(type))
|
||||
((Animator) field.get(f)).setTarget(null);
|
||||
|
||||
field.set(f, null);
|
||||
}
|
||||
}
|
||||
} catch (Throwable ex) {
|
||||
Log.w(ex);
|
||||
}
|
||||
Helper.clearViews(f);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user