From b97bfb0885cbe61abc07586802e379ec8e227fb5 Mon Sep 17 00:00:00 2001 From: Emily Chuang Date: Wed, 24 Oct 2018 19:42:17 +0800 Subject: [PATCH] Fix a bug where cards overlap when rotating the screen Check if a certain fragment has been added before. If it's added, then just show it instead of re-adding it again. Bug: 118344247 Test: visual Change-Id: I039a3a7372e163c6bcda386d2aea99e6f8c8e9b1 --- .../settings/homepage/SettingsHomepageActivity.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/homepage/SettingsHomepageActivity.java b/src/com/android/settings/homepage/SettingsHomepageActivity.java index c6040f608c4..da7e7f2ee16 100644 --- a/src/com/android/settings/homepage/SettingsHomepageActivity.java +++ b/src/com/android/settings/homepage/SettingsHomepageActivity.java @@ -65,7 +65,13 @@ public class SettingsHomepageActivity extends SettingsBaseActivity { private void showFragment(Fragment fragment, int id, String tag) { final FragmentManager fragmentManager = getSupportFragmentManager(); final FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); - fragmentTransaction.add(id, fragment, tag); + final Fragment showFragment = fragmentManager.findFragmentById(id); + + if (showFragment == null) { + fragmentTransaction.add(id, fragment, tag); + } else { + fragmentTransaction.show(showFragment); + } fragmentTransaction.commit(); } } \ No newline at end of file