Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fcd7fae5 authored by Dan Sandler's avatar Dan Sandler
Browse files

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
parent 8617e4ec
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -1580,8 +1580,8 @@ public class ChooserActivity extends ResolverActivity {
                } catch (RemoteException e) {
                } catch (RemoteException e) {
                    Log.e(TAG, "Querying ChooserTargetService " + name + " failed.", e);
                    Log.e(TAG, "Querying ChooserTargetService " + name + " failed.", e);
                    mChooserActivity.unbindService(this);
                    mChooserActivity.unbindService(this);
                    destroy();
                    mChooserActivity.mServiceConnections.remove(this);
                    mChooserActivity.mServiceConnections.remove(this);
                    destroy();
                }
                }
            }
            }
        }
        }
@@ -1597,7 +1597,6 @@ public class ChooserActivity extends ResolverActivity {
                }
                }


                mChooserActivity.unbindService(this);
                mChooserActivity.unbindService(this);
                destroy();
                mChooserActivity.mServiceConnections.remove(this);
                mChooserActivity.mServiceConnections.remove(this);
                if (mChooserActivity.mServiceConnections.isEmpty()) {
                if (mChooserActivity.mServiceConnections.isEmpty()) {
                    mChooserActivity.mChooserHandler.removeMessages(
                    mChooserActivity.mChooserHandler.removeMessages(
@@ -1605,6 +1604,7 @@ public class ChooserActivity extends ResolverActivity {
                    mChooserActivity.sendVoiceChoicesIfNeeded();
                    mChooserActivity.sendVoiceChoicesIfNeeded();
                }
                }
                mConnectedComponent = null;
                mConnectedComponent = null;
                destroy();
            }
            }
        }
        }