1d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian/*
2d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian * Copyright (C) 2017 The Android Open Source Project
3d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian *
4d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian * Licensed under the Apache License, Version 2.0 (the "License");
5d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian * you may not use this file except in compliance with the License.
6d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian * You may obtain a copy of the License at
7d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian *
8d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian *      http://www.apache.org/licenses/LICENSE-2.0
9d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian *
10d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian * Unless required by applicable law or agreed to in writing, software
11d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian * distributed under the License is distributed on an "AS IS" BASIS,
12d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian * See the License for the specific language governing permissions and
14d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian * limitations under the License
15d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian */
16d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian
17d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanianpackage com.android.incallui.videotech.empty;
18d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian
199050823ccf6f512e06ad65c8a741cb17cbc4a833Eric Erfanianimport android.content.Context;
202f1c7586bcce334ca69022eb8dc6d8965ceb6a05Eric Erfanianimport android.support.annotation.Nullable;
219050823ccf6f512e06ad65c8a741cb17cbc4a833Eric Erfanianimport com.android.dialer.common.Assert;
229050823ccf6f512e06ad65c8a741cb17cbc4a833Eric Erfanianimport com.android.incallui.video.protocol.VideoCallScreen;
239050823ccf6f512e06ad65c8a741cb17cbc4a833Eric Erfanianimport com.android.incallui.video.protocol.VideoCallScreenDelegate;
24d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanianimport com.android.incallui.videotech.VideoTech;
259050823ccf6f512e06ad65c8a741cb17cbc4a833Eric Erfanianimport com.android.incallui.videotech.utils.SessionModificationState;
26d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian
27d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian/** Default video tech that is always available but doesn't do anything. */
28d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanianpublic class EmptyVideoTech implements VideoTech {
29d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian
30d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  @Override
31d8046e520a866b9948ee9ba47cf642b441ca8e23Eric Erfanian  public boolean isAvailable(Context context) {
32d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian    return false;
33d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  }
34d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian
35d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  @Override
36d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  public boolean isTransmittingOrReceiving() {
37d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian    return false;
38d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  }
39d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian
40d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  @Override
41fc37b02f5d3381a7882770941e461b13b679b6efEric Erfanian  public boolean isSelfManagedCamera() {
42fc37b02f5d3381a7882770941e461b13b679b6efEric Erfanian    return false;
43fc37b02f5d3381a7882770941e461b13b679b6efEric Erfanian  }
44fc37b02f5d3381a7882770941e461b13b679b6efEric Erfanian
45fc37b02f5d3381a7882770941e461b13b679b6efEric Erfanian  @Override
469050823ccf6f512e06ad65c8a741cb17cbc4a833Eric Erfanian  public boolean shouldUseSurfaceView() {
479050823ccf6f512e06ad65c8a741cb17cbc4a833Eric Erfanian    return false;
489050823ccf6f512e06ad65c8a741cb17cbc4a833Eric Erfanian  }
499050823ccf6f512e06ad65c8a741cb17cbc4a833Eric Erfanian
509050823ccf6f512e06ad65c8a741cb17cbc4a833Eric Erfanian  @Override
519050823ccf6f512e06ad65c8a741cb17cbc4a833Eric Erfanian  public VideoCallScreenDelegate createVideoCallScreenDelegate(
529050823ccf6f512e06ad65c8a741cb17cbc4a833Eric Erfanian      Context context, VideoCallScreen videoCallScreen) {
539050823ccf6f512e06ad65c8a741cb17cbc4a833Eric Erfanian    throw Assert.createUnsupportedOperationFailException();
549050823ccf6f512e06ad65c8a741cb17cbc4a833Eric Erfanian  }
559050823ccf6f512e06ad65c8a741cb17cbc4a833Eric Erfanian
569050823ccf6f512e06ad65c8a741cb17cbc4a833Eric Erfanian  @Override
57d8046e520a866b9948ee9ba47cf642b441ca8e23Eric Erfanian  public void onCallStateChanged(Context context, int newState) {}
58d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian
59d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  @Override
602f1c7586bcce334ca69022eb8dc6d8965ceb6a05Eric Erfanian  public void onRemovedFromCallList() {}
612f1c7586bcce334ca69022eb8dc6d8965ceb6a05Eric Erfanian
622f1c7586bcce334ca69022eb8dc6d8965ceb6a05Eric Erfanian  @Override
63d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  public int getSessionModificationState() {
649050823ccf6f512e06ad65c8a741cb17cbc4a833Eric Erfanian    return SessionModificationState.NO_REQUEST;
65d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  }
66d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian
67d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  @Override
68d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  public void upgradeToVideo() {}
69d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian
70d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  @Override
71d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  public void acceptVideoRequest() {}
72d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian
73d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  @Override
74d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  public void acceptVideoRequestAsAudio() {}
75d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian
76d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  @Override
77d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  public void declineVideoRequest() {}
78d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian
79d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  @Override
80d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  public boolean isTransmitting() {
81d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian    return false;
82d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  }
83d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian
84d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  @Override
85d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  public void stopTransmission() {}
86d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian
87d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  @Override
88d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  public void resumeTransmission() {}
89d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian
90d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  @Override
91d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  public void pause() {}
92d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian
93d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  @Override
94d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  public void unpause() {}
95d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian
96d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  @Override
972f1c7586bcce334ca69022eb8dc6d8965ceb6a05Eric Erfanian  public void setCamera(@Nullable String cameraId) {}
98d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian
99d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  @Override
100d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  public void setDeviceOrientation(int rotation) {}
101d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian}
102