From d473ec1137d9391a279246b96ba9519154caea28 Mon Sep 17 00:00:00 2001 From: Felipe Leme Date: Thu, 16 Feb 2017 08:14:48 -0800 Subject: [PATCH] Added missing calls to onConnected() and onDisconnected(). They got lost in a previous refactoring.... Bug: 35395043 Test: CtsAutoFillServiceTestCases pass Test: manual verification Change-Id: I4e70f84185d6708ea0ebfa831c160e859fcf9e5c --- .../server/autofill/RemoteFillService.java | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/services/autofill/java/com/android/server/autofill/RemoteFillService.java b/services/autofill/java/com/android/server/autofill/RemoteFillService.java index 767fb4619a436..dc64d0ae4b2d3 100644 --- a/services/autofill/java/com/android/server/autofill/RemoteFillService.java +++ b/services/autofill/java/com/android/server/autofill/RemoteFillService.java @@ -235,8 +235,19 @@ final class RemoteFillService implements DeathRecipient { } mBinding = false; if (isBound()) { - mAutoFillService.asBinder().unlinkToDeath(this, 0); - mAutoFillService = null; + // TODO(b/33197203, b/35395043): synchronize access instead + // Need to double check if it's null, since it could be set on onServiceDisconnected() + if (mAutoFillService != null) { + try { + mAutoFillService.onDisconnected(); + } catch (Exception e) { + Slog.w(LOG_TAG, "Exception calling onDisconnected(): " + e); + } + } + if (mAutoFillService != null) { + mAutoFillService.asBinder().unlinkToDeath(this, 0); + mAutoFillService = null; + } } mContext.unbindService(mServiceConnection); } @@ -305,6 +316,18 @@ final class RemoteFillService implements DeathRecipient { return; } + try { + // TODO(b/33197203, b/35395043): synchronize access instead + // Need to double check if it's null, since it could be set on + // onServiceDisconnected() + if (mAutoFillService != null) { + mAutoFillService.onConnected(); + } + } catch (RemoteException e) { + Slog.w(LOG_TAG, "Exception calling onConnected(): " + e); + } + + if (mPendingRequest != null) { handlePendingRequest(mPendingRequest); }