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

Commit 6d5b43a8 authored by Elis Elliott's avatar Elis Elliott Committed by Automerger Merge Worker
Browse files

Merge "Use a single thread executor for calculateHasIncompatibleAccounts" into...

Merge "Use a single thread executor for calculateHasIncompatibleAccounts" into udc-dev am: 25f954ed am: cb3098ff am: d4b9fb27

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/24150783



Change-Id: Id8d85f85aa0f902fe7f6c1ec70e2e750a329f59d
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 12c18c8a d4b9fb27
Loading
Loading
Loading
Loading
+9 −2
Original line number Original line Diff line number Diff line
@@ -241,7 +241,6 @@ import static android.provider.Telephony.Carriers.ENFORCE_KEY;
import static android.provider.Telephony.Carriers.ENFORCE_MANAGED_URI;
import static android.provider.Telephony.Carriers.ENFORCE_MANAGED_URI;
import static android.provider.Telephony.Carriers.INVALID_APN_ID;
import static android.provider.Telephony.Carriers.INVALID_APN_ID;
import static android.security.keystore.AttestationUtils.USE_INDIVIDUAL_ATTESTATION;
import static android.security.keystore.AttestationUtils.USE_INDIVIDUAL_ATTESTATION;
import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_ENTRY_POINT_ADB;
import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.PROVISIONING_ENTRY_POINT_ADB;
import static com.android.internal.widget.LockPatternUtils.CREDENTIAL_TYPE_NONE;
import static com.android.internal.widget.LockPatternUtils.CREDENTIAL_TYPE_NONE;
import static com.android.internal.widget.LockPatternUtils.StrongAuthTracker.STRONG_AUTH_REQUIRED_AFTER_DPM_LOCK_NOW;
import static com.android.internal.widget.LockPatternUtils.StrongAuthTracker.STRONG_AUTH_REQUIRED_AFTER_DPM_LOCK_NOW;
@@ -540,6 +539,8 @@ import java.util.Set;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Executor;
import java.util.concurrent.Executor;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import java.util.concurrent.TimeoutException;
import java.util.function.Consumer;
import java.util.function.Consumer;
@@ -18817,10 +18818,16 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
        });
        });
    }
    }
    ThreadPoolExecutor calculateHasIncompatibleAccountsExecutor = new ThreadPoolExecutor(
            1, 1, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>());
    @Override
    @Override
    public void calculateHasIncompatibleAccounts() {
    public void calculateHasIncompatibleAccounts() {
        if (calculateHasIncompatibleAccountsExecutor.getQueue().size() > 1) {
            return;
        }
        new CalculateHasIncompatibleAccountsTask().executeOnExecutor(
        new CalculateHasIncompatibleAccountsTask().executeOnExecutor(
                AsyncTask.THREAD_POOL_EXECUTOR, null);
                calculateHasIncompatibleAccountsExecutor, null);
    }
    }
    @Nullable
    @Nullable