1de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheev/* 2de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheev * Copyright (C) 2015 The Android Open Source Project 3de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheev * 4de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheev * Licensed under the Apache License, Version 2.0 (the "License"); 5de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheev * you may not use this file except in compliance with the License. 6de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheev * You may obtain a copy of the License at 7de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheev * 8de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheev * http://www.apache.org/licenses/LICENSE-2.0 9de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheev * 10de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheev * Unless required by applicable law or agreed to in writing, software 11de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheev * distributed under the License is distributed on an "AS IS" BASIS, 12de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheev * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheev * See the License for the specific language governing permissions and 14de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheev * limitations under the License. 15de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheev */ 16de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheev 17de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheevpackage android.support.v4.content; 18de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheev 19de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheevimport android.os.Build; 20de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheev 21de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheevimport java.util.concurrent.Executor; 22de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheev 23de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheev/** 24de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheev * Helper for accessing a shared parallel Executor instance 25de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheev * introduced after API level 4 in a backwards compatible fashion. 26de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheev */ 27c5847d13e40f5d52459f5c0dab32dc08f1a9a683Chris Banespublic final class ParallelExecutorCompat { 28de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheev public static Executor getParallelExecutor() { 29de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheev if (Build.VERSION.SDK_INT >= 11) { 30de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheev // From API 11 onwards, return AsyncTask.THREAD_POOL_EXECUTOR 31de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheev return ExecutorCompatHoneycomb.getParallelExecutor(); 32de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheev } else { 33de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheev return ModernAsyncTask.THREAD_POOL_EXECUTOR; 34de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheev } 35de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheev } 36c5847d13e40f5d52459f5c0dab32dc08f1a9a683Chris Banes 37c5847d13e40f5d52459f5c0dab32dc08f1a9a683Chris Banes private ParallelExecutorCompat() {} 38de8e2baf9504defe12972fbf60935a1148f1098fVladislav Kaznacheev} 39