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