aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-07-26 23:04:31 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-07-26 23:04:31 +0000
commitb0a40fa80df4fb9707436dd4e28a172e19099ebd (patch)
tree2975fb45a04a58be9ca65a145992db390d8d55cc
parent65d6ce34668fa3086dd864bed8095dc2492f8e27 (diff)
parent6e460ebb6e92eaec7629828bc02298158bc1c6ad (diff)
downloadconnectedappssdk-android13-d1-s2-release.tar.gz
Change-Id: I35a5dc706cf46952d4d62b908bb152dea74d3a8a
-rw-r--r--sdk/src/main/java/com/google/android/enterprise/connectedapps/AbstractProfileConnector.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/sdk/src/main/java/com/google/android/enterprise/connectedapps/AbstractProfileConnector.java b/sdk/src/main/java/com/google/android/enterprise/connectedapps/AbstractProfileConnector.java
index cc71c7b..dd84c7d 100644
--- a/sdk/src/main/java/com/google/android/enterprise/connectedapps/AbstractProfileConnector.java
+++ b/sdk/src/main/java/com/google/android/enterprise/connectedapps/AbstractProfileConnector.java
@@ -38,6 +38,7 @@ public abstract class AbstractProfileConnector
private final Context context;
private final ScheduledExecutorService scheduledExecutorService;
+ private final boolean createdScheduledExecutorService;
private final ConnectionBinder binder;
private final String serviceClassName;
private final @Nullable ProfileType primaryProfileType;
@@ -50,8 +51,10 @@ public abstract class AbstractProfileConnector
}
if (builder.scheduledExecutorService == null) {
scheduledExecutorService = Executors.newSingleThreadScheduledExecutor();
+ createdScheduledExecutorService = true;
} else {
scheduledExecutorService = builder.scheduledExecutorService;
+ createdScheduledExecutorService = false;
}
if (builder.binder == null) {
@@ -71,6 +74,13 @@ public abstract class AbstractProfileConnector
}
@Override
+ protected void finalize() throws Throwable {
+ if (createdScheduledExecutorService) {
+ scheduledExecutorService.shutdownNow();
+ }
+ }
+
+ @Override
public void startConnecting() {
if (VERSION.SDK_INT < VERSION_CODES.O) {
return;