1687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar/* 2687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar * Copyright 2017 The Android Open Source Project 3687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar * 4687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar * Licensed under the Apache License, Version 2.0 (the "License"); 5687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar * you may not use this file except in compliance with the License. 6687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar * You may obtain a copy of the License at 7687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar * 8687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar * http://www.apache.org/licenses/LICENSE-2.0 9687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar * 10687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar * Unless required by applicable law or agreed to in writing, software 11687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar * distributed under the License is distributed on an "AS IS" BASIS, 12687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar * See the License for the specific language governing permissions and 14687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar * limitations under the License. 15687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar */ 16687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar 17564e43098c323d1a90be53c190b8fdbdde973505Sumir Katariapackage androidx.work.impl.utils.taskexecutor; 18687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar 19687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagarimport android.support.annotation.RestrictTo; 20687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar 21687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar/** 22687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar * Interface for executing common tasks in WorkManager. 23687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar * @hide 24687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar */ 25687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar 26687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP) 27687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagarpublic interface TaskExecutor { 28687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar 29687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar /** 30687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar * @param runnable {@link Runnable} to post to the main thread. 31687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar */ 32687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar void postToMainThread(Runnable runnable); 33687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar 34687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar /** 35687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar * @param runnable {@link Runnable} to execute on a background thread pool. 36687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar */ 37687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar void executeOnBackgroundThread(Runnable runnable); 38687da3388ece2fefd80c710c382dff908b615a3fXyan Bhatnagar} 39