summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Dementyev <dementyev@google.com>2024-01-08 23:39:22 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2024-01-08 23:39:22 +0000
commit03c42f431416f5f031ecb101ef35dae03c2b0a29 (patch)
tree3060caf01efa03048d05c2a9c3a9066c5d6dfbb8
parent45a43de6e13ccafb21a57696802eaecefc2701a1 (diff)
parent09ee2d47577cf7009ded93661c7e9192f8cbfa8f (diff)
downloadbase-03c42f431416f5f031ecb101ef35dae03c2b0a29.tar.gz
Merge "Close AccountManagerService.session after timeout." into rvc-dev am: 6faf0345e4 am: d69e6bcc59 am: 26893bb97b am: 3723b074a1 am: ce8e2aea60 am: 09ee2d4757
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/25787790 Change-Id: I6bcb932807a938f97a301b4a69c7e32e8f77e851 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--services/core/java/com/android/server/accounts/AccountManagerService.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/accounts/AccountManagerService.java b/services/core/java/com/android/server/accounts/AccountManagerService.java
index 5238595fe2a2..edc0bd3d79d5 100644
--- a/services/core/java/com/android/server/accounts/AccountManagerService.java
+++ b/services/core/java/com/android/server/accounts/AccountManagerService.java
@@ -184,6 +184,7 @@ public class AccountManagerService
final MessageHandler mHandler;
+ private static final int TIMEOUT_DELAY_MS = 1000 * 60 * 15;
// Messages that can be sent on mHandler
private static final int MESSAGE_TIMED_OUT = 3;
private static final int MESSAGE_COPY_SHARED_ACCOUNT = 4;
@@ -4842,6 +4843,7 @@ public class AccountManagerService
synchronized (mSessions) {
mSessions.put(toString(), this);
}
+ scheduleTimeout();
if (response != null) {
try {
response.asBinder().linkToDeath(this, 0 /* flags */);
@@ -5007,6 +5009,11 @@ public class AccountManagerService
}
}
+ private void scheduleTimeout() {
+ mHandler.sendMessageDelayed(
+ mHandler.obtainMessage(MESSAGE_TIMED_OUT, this), TIMEOUT_DELAY_MS);
+ }
+
public void cancelTimeout() {
mHandler.removeMessages(MESSAGE_TIMED_OUT, this);
}
@@ -5043,6 +5050,9 @@ public class AccountManagerService
public void onTimedOut() {
IAccountManagerResponse response = getResponseAndClose();
+ if (Log.isLoggable(TAG, Log.VERBOSE)) {
+ Log.v(TAG, "Session.onTimedOut");
+ }
if (response != null) {
try {
response.onError(AccountManager.ERROR_CODE_REMOTE_EXCEPTION,