1/*
2 * Copyright (C) 2016 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License
15 */
16
17package com.android.incallui.answer.impl.answermethod;
18
19import android.support.annotation.FloatRange;
20
21/** Defines callbacks {@link AnswerMethod AnswerMethods} may use to update their parent. */
22public interface AnswerMethodHolder {
23
24  /**
25   * Update animation based on method progress.
26   *
27   * @param answerProgress float representing progress. -1 is fully declined, 1 is fully answered,
28   *     and 0 is neutral.
29   */
30  void onAnswerProgressUpdate(@FloatRange(from = -1f, to = 1f) float answerProgress);
31
32  /** Answer the current call. */
33  void answerFromMethod();
34
35  /** Reject the current call. */
36  void rejectFromMethod();
37
38  /** Set AnswerProgress to zero (not due to normal updates). */
39  void resetAnswerProgress();
40
41  /**
42   * Check whether the current call is a video call.
43   *
44   * @return true iff the current call is a video call.
45   */
46  boolean isVideoCall();
47
48  boolean isVideoUpgradeRequest();
49}
50