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