19baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell/* 29baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell * Copyright (C) 2016 The Android Open Source Project 39baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell * 49baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell * Licensed under the Apache License, Version 2.0 (the "License"); 59baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell * you may not use this file except in compliance with the License. 69baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell * You may obtain a copy of the License at 79baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell * 89baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell * http://www.apache.org/licenses/LICENSE-2.0 99baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell * 109baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell * Unless required by applicable law or agreed to in writing, software 119baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell * distributed under the License is distributed on an "AS IS" BASIS, 129baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell * See the License for the specific language governing permissions and 149baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell * limitations under the License 159baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell */ 169baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell 17d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanianpackage com.android.voicemail.impl.scheduling; 189baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell 198369df095a73a77b3715f8ae7ba06089cebca4ceEric Erfanianimport android.os.Bundle; 209baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell 21ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian/** 22ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * A set of listeners managed by {@link BaseTask} for common behaviors such as retrying. Call {@link 23ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * BaseTask#addPolicy(Policy)} to add a policy. 24ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian */ 25ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanianpublic interface Policy { 269baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell 278369df095a73a77b3715f8ae7ba06089cebca4ceEric Erfanian void onCreate(BaseTask task, Bundle extras); 289baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell 29d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian void onBeforeExecute(); 309baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell 31d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian void onCompleted(); 329baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell 33d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian void onFail(); 343ec5d25470379acbbf3bb2bcc83e5e897a22a59dBrandon Maxwell 35d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian void onDuplicatedTaskAdded(); 369baf4e56672d8beeed6bdd9d1cd9456b32cf83baBrandon Maxwell} 37