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

Commit d53d3986 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge changes from topic...

Merge changes from topic "presubmit-am-b147b224dae54740a8f3d8017cf416c9-sc-v2-dev" into sc-v2-dev-plus-aosp

* changes:
  [automerge] Fix ServiceConnector failing unbind if not connected. 2p: efc50877
  Fix ServiceConnector failing unbind if not connected.
parents 289609bd 34f0951f
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -507,10 +507,21 @@ public interface ServiceConnector<I extends IInterface> {
        void unbindJobThread() {
            cancelTimeout();
            I service = mService;
            // TODO(b/224695239): This is actually checking wasConnected. Rename and/or fix
            // implementation based on what this should actually be checking. At least the first
            // check for calling unbind is the correct behavior, though.
            boolean wasBound = service != null;
            if (wasBound || mBinding) {
                try {
                    mContext.unbindService(mServiceConnection);
                } catch (IllegalArgumentException e) {  // TODO(b/224697137): Fix the race condition
                                                        // that requires catching this (crashes if
                                                        // service isn't currently bound).
                    Log.e(LOG_TAG, "Failed to unbind: " + e);
                }
            }
            if (wasBound) {
                onServiceConnectionStatusChanged(service, false);
                mContext.unbindService(mServiceConnection);
                service.asBinder().unlinkToDeath(this, 0);
                mService = null;
            }