// Path: placesautocomplete/src/main/java/com/seatgeek/placesautocomplete/Constants.java
// public class Constants {
//     public static final String LOG_TAG = "MapsPlacesAutoComplete";
//     public static final String MAGIC_HISTORY_VALUE_PRE = "____history____=";
// }


import android.os.Handler;
import android.os.Looper;
import android.support.annotation.NonNull;
import com.seatgeek.placesautocomplete.Constants;
import java.util.concurrent.Executor;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
package com.seatgeek.placesautocomplete.async;




public enum BackgroundExecutorService {
    INSTANCE;

    /*
     * Max single thread ExecutorService that will spin down thread after use
     */
    private final Executor executor;
    {
        ThreadPoolExecutor executor = new ThreadPoolExecutor(1, 1,
                5L, TimeUnit.SECONDS,
                new LinkedBlockingQueue<Runnable>(),
                new ThreadFactory() {
                    @Override
                    public Thread newThread(@NonNull final Runnable r) {
// Path: placesautocomplete/src/main/java/com/seatgeek/placesautocomplete/Constants.java
// public class Constants {
//     public static final String LOG_TAG = "MapsPlacesAutoComplete";
//     public static final String MAGIC_HISTORY_VALUE_PRE = "____history____=";
// }


// Path: placesautocomplete/src/main/java/com/seatgeek/placesautocomplete/async/BackgroundExecutorService.java
import android.os.Handler;
import android.os.Looper;
import android.support.annotation.NonNull;
import com.seatgeek.placesautocomplete.Constants;
import java.util.concurrent.Executor;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;

package com.seatgeek.placesautocomplete.async;




public enum BackgroundExecutorService {
    INSTANCE;

    /*
     * Max single thread ExecutorService that will spin down thread after use
     */
    private final Executor executor;
    {
        ThreadPoolExecutor executor = new ThreadPoolExecutor(1, 1,
                5L, TimeUnit.SECONDS,
                new LinkedBlockingQueue<Runnable>(),
                new ThreadFactory() {
                    @Override
                    public Thread newThread(@NonNull final Runnable r) {
                        return new Thread(r, Constants.LOG_TAG + "Thread");