From 213496d65651a79a484679f5a9be780f90d76958 Mon Sep 17 00:00:00 2001 From: twyen Date: Wed, 4 Apr 2018 18:06:08 -0700 Subject: Prevent crash when dialpad animation ends after activity is saved. Bug: 77484989 Test: TAP PiperOrigin-RevId: 191677909 Change-Id: If49a357a9ba158cd740eb789befd2ff802f670d4 --- java/com/android/dialer/main/impl/MainSearchController.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'java/com/android/dialer/main') diff --git a/java/com/android/dialer/main/impl/MainSearchController.java b/java/com/android/dialer/main/impl/MainSearchController.java index 2279d56a7..b04e7b11b 100644 --- a/java/com/android/dialer/main/impl/MainSearchController.java +++ b/java/com/android/dialer/main/impl/MainSearchController.java @@ -50,6 +50,7 @@ import com.android.dialer.main.impl.toolbar.SearchBarListener; import com.android.dialer.searchfragment.list.NewSearchFragment; import com.android.dialer.searchfragment.list.NewSearchFragment.SearchFragmentListener; import com.android.dialer.smartdial.util.SmartDialNameMatcher; +import com.android.dialer.util.TransactionSafeActivity; import com.google.common.base.Optional; import java.util.ArrayList; import java.util.List; @@ -78,7 +79,7 @@ public class MainSearchController implements SearchBarListener { private static final String DIALPAD_FRAGMENT_TAG = "dialpad_fragment_tag"; private static final String SEARCH_FRAGMENT_TAG = "search_fragment_tag"; - private final AppCompatActivity activity; + private final TransactionSafeActivity activity; private final BottomNavBar bottomNav; private final FloatingActionButton fab; private final MainToolbar toolbar; @@ -97,7 +98,7 @@ public class MainSearchController implements SearchBarListener { private boolean requestingPermission; public MainSearchController( - AppCompatActivity activity, + TransactionSafeActivity activity, BottomNavBar bottomNav, FloatingActionButton fab, MainToolbar toolbar, @@ -201,7 +202,8 @@ public class MainSearchController implements SearchBarListener { @Override public void onAnimationEnd(Animation animation) { - if (!(activity.isFinishing() || activity.isDestroyed())) { + if (activity.isSafeToCommitTransactions() + && !(activity.isFinishing() || activity.isDestroyed())) { activity.getFragmentManager().beginTransaction().hide(dialpadFragment).commit(); } } -- cgit v1.2.3