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

Commit 186e7f63 authored by Pranav Madapurmath's avatar Pranav Madapurmath Committed by Automerger Merge Worker
Browse files

Ensure service unbind when receiving a null call screening service in onBind....

Ensure service unbind when receiving a null call screening service in onBind. am: 14927c6f am: a005a852 am: 3d3098da am: 4451efa5 am: 12809100 am: 4854fd48

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/services/Telecomm/+/21224930



Change-Id: Ib118a8eded1025e7caa39622c57385a2bb91cc42
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 616d545a 4854fd48
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -137,6 +137,23 @@ public class CallScreeningServiceHelper {
                                "Cancelling outgoing call screen due to service disconnect.");
                    }
                    mFuture.complete(null);
                    mContext.unbindService(this);
                } finally {
                    Log.endSession();
                }
            }

            @Override
            public void onNullBinding(ComponentName name) {
                // No locking needed -- CompletableFuture only lets one thread call complete.
                Log.continueSession(mLoggingSession, "CSSH.oNB");
                try {
                    if (!mFuture.isDone()) {
                        Log.w(CallScreeningServiceHelper.this,
                                "Cancelling outgoing call screen due to null binding.");
                    }
                    mFuture.complete(null);
                    mContext.unbindService(this);
                } finally {
                    Log.endSession();
                }
+2 −0
Original line number Diff line number Diff line
@@ -235,12 +235,14 @@ public class CallScreeningServiceFilter extends CallFilter {
        public void onServiceDisconnected(ComponentName componentName) {
            mResultFuture.complete(mPriorStageResult);
            Log.i(this, "Service disconnected.");
            unbindCallScreeningService();
        }

        @Override
        public void onBindingDied(ComponentName name) {
            mResultFuture.complete(mPriorStageResult);
            Log.i(this, "Binding died.");
            unbindCallScreeningService();
        }

        @Override