From fcd7fae5e6060b2857012e41d27253e29e49c97c Mon Sep 17 00:00:00 2001 From: Dan Sandler Date: Mon, 25 Sep 2017 17:40:04 -0400 Subject: Don't crash onServiceDisconnected... ...if destroy() hasn't already been called through some other codepath. Bug: 65249720 Test: runtest -x core/tests/coretests/src/com/android/internal/app/ChooserActivityTest.java Change-Id: I5f90548e437986d8585390578f4ceecd57cc3473 --- core/java/com/android/internal/app/ChooserActivity.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/java/com/android/internal/app/ChooserActivity.java b/core/java/com/android/internal/app/ChooserActivity.java index 2cab009f7354..bb7ca0293bb1 100644 --- a/core/java/com/android/internal/app/ChooserActivity.java +++ b/core/java/com/android/internal/app/ChooserActivity.java @@ -1580,8 +1580,8 @@ public class ChooserActivity extends ResolverActivity { } catch (RemoteException e) { Log.e(TAG, "Querying ChooserTargetService " + name + " failed.", e); mChooserActivity.unbindService(this); - destroy(); mChooserActivity.mServiceConnections.remove(this); + destroy(); } } } @@ -1597,7 +1597,6 @@ public class ChooserActivity extends ResolverActivity { } mChooserActivity.unbindService(this); - destroy(); mChooserActivity.mServiceConnections.remove(this); if (mChooserActivity.mServiceConnections.isEmpty()) { mChooserActivity.mChooserHandler.removeMessages( @@ -1605,6 +1604,7 @@ public class ChooserActivity extends ResolverActivity { mChooserActivity.sendVoiceChoicesIfNeeded(); } mConnectedComponent = null; + destroy(); } } -- cgit v1.2.3-59-g8ed1b