aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Scott <scottjonathan@google.com>2022-07-26 07:01:29 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2022-07-26 07:01:29 +0000
commitc08c376ed90fdb98c2ec1edd501396c5dd8d7f6a (patch)
tree2975fb45a04a58be9ca65a145992db390d8d55cc
parentb35793926a6c55c66d2f657333d88d9ced62b7ff (diff)
parent6e460ebb6e92eaec7629828bc02298158bc1c6ad (diff)
downloadconnectedappssdk-android13-qpr3-s8-release.tar.gz
RESTRICT AUTOMERGE: Not relevant on U version - Shutdown created ScheduledExecutor when connector is destroyed. am: 029619e4b9 am: c4c49149b5 am: 6e460ebb6eandroid-13.0.0_r83android-13.0.0_r82android-13.0.0_r81android-13.0.0_r80android-13.0.0_r79android-13.0.0_r78android-13.0.0_r77android-13.0.0_r76android-13.0.0_r75android-13.0.0_r74android-13.0.0_r73android-13.0.0_r72android-13.0.0_r71android-13.0.0_r70android-13.0.0_r69android-13.0.0_r68android-13.0.0_r67android-13.0.0_r66android-13.0.0_r65android-13.0.0_r64android-13.0.0_r63android-13.0.0_r62android-13.0.0_r61android-13.0.0_r60android-13.0.0_r59android-13.0.0_r58android-13.0.0_r56android-13.0.0_r54android-13.0.0_r53android-13.0.0_r52android-13.0.0_r51android-13.0.0_r50android-13.0.0_r49android-13.0.0_r48android-13.0.0_r47android-13.0.0_r46android-13.0.0_r45android-13.0.0_r44android-13.0.0_r43android-13.0.0_r42android-13.0.0_r41android-13.0.0_r40android-13.0.0_r39android-13.0.0_r38android-13.0.0_r37android-13.0.0_r36android-13.0.0_r35android-13.0.0_r34android-13.0.0_r33android-13.0.0_r32android13-qpr3-s9-releaseandroid13-qpr3-s8-releaseandroid13-qpr3-s7-releaseandroid13-qpr3-s6-releaseandroid13-qpr3-s5-releaseandroid13-qpr3-s4-releaseandroid13-qpr3-s3-releaseandroid13-qpr3-s2-releaseandroid13-qpr3-s14-releaseandroid13-qpr3-s13-releaseandroid13-qpr3-s12-releaseandroid13-qpr3-s11-releaseandroid13-qpr3-s10-releaseandroid13-qpr3-s1-releaseandroid13-qpr3-releaseandroid13-qpr3-c-s8-releaseandroid13-qpr3-c-s7-releaseandroid13-qpr3-c-s6-releaseandroid13-qpr3-c-s5-releaseandroid13-qpr3-c-s4-releaseandroid13-qpr3-c-s3-releaseandroid13-qpr3-c-s2-releaseandroid13-qpr3-c-s12-releaseandroid13-qpr3-c-s11-releaseandroid13-qpr3-c-s10-releaseandroid13-qpr3-c-s1-releaseandroid13-qpr2-s9-releaseandroid13-qpr2-s8-releaseandroid13-qpr2-s7-releaseandroid13-qpr2-s6-releaseandroid13-qpr2-s5-releaseandroid13-qpr2-s3-releaseandroid13-qpr2-s2-releaseandroid13-qpr2-s12-releaseandroid13-qpr2-s11-releaseandroid13-qpr2-s10-releaseandroid13-qpr2-s1-releaseandroid13-qpr2-releaseandroid13-qpr2-b-s1-releaseandroid13-d4-s2-releaseandroid13-d4-s1-releaseandroid13-d4-release
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/connectedappssdk/+/19394832 Change-Id: I2eae9f7bd8dade64be762b76f4acb3bacd85434e Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-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;