CameraModule.java revision 280fd3edae1dc35ac1015bcc9532477169fad3aa
18872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb/* 28872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb * Copyright (C) 2012 The Android Open Source Project 38872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb * 48872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb * Licensed under the Apache License, Version 2.0 (the "License"); 58872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb * you may not use this file except in compliance with the License. 68872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb * You may obtain a copy of the License at 78872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb * 88872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb * http://www.apache.org/licenses/LICENSE-2.0 98872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb * 108872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb * Unless required by applicable law or agreed to in writing, software 118872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb * distributed under the License is distributed on an "AS IS" BASIS, 128872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 138872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb * See the License for the specific language governing permissions and 148872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb * limitations under the License. 158872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb */ 168872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb 178872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolbpackage com.android.camera; 188872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb 198872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolbimport android.content.Intent; 208872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolbimport android.content.res.Configuration; 218872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolbimport android.view.KeyEvent; 228872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolbimport android.view.View; 238872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb 24280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberlingimport com.android.camera.app.CameraServices; 25fd4fc0e52ad69c2d486f5f46c2d465b4c4ba2849Angus Kongimport com.android.camera.app.MediaSaver; 26fd4fc0e52ad69c2d486f5f46c2d465b4c4ba2849Angus Kong 27280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberlingpublic abstract class CameraModule { 288872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb 29280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling /** Provides common services and functionality to the module. */ 30280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling private final CameraServices mServices; 318872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb 32280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling public CameraModule(CameraServices services) { 33280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling mServices = services; 34280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling } 358872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb 36280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling @Deprecated 37280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling public abstract void init(CameraActivity activity, View frame); 388872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb 39280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling @Deprecated 40280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling public abstract void onPreviewFocusChanged(boolean previewFocused); 418872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb 42280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling @Deprecated 43280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling public abstract void onPauseBeforeSuper(); 448872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb 45280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling @Deprecated 46280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling public abstract void onPauseAfterSuper(); 478872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb 48280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling @Deprecated 49280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling public abstract void onResumeBeforeSuper(); 508872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb 51280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling @Deprecated 52280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling public abstract void onResumeAfterSuper(); 538872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb 54280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling @Deprecated 55280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling public abstract void onConfigurationChanged(Configuration config); 568872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb 57280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling @Deprecated 58280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling public abstract void onStop(); 598872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb 60280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling @Deprecated 61280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling public abstract void installIntentFilter(); 628872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb 63280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling @Deprecated 64280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling public abstract void onActivityResult(int requestCode, int resultCode, Intent data); 658872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb 66280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling @Deprecated 67280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling public abstract boolean onBackPressed(); 688872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb 69280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling @Deprecated 70280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling public abstract boolean onKeyDown(int keyCode, KeyEvent event); 718872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb 72280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling @Deprecated 73280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling public abstract boolean onKeyUp(int keyCode, KeyEvent event); 748872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb 75280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling @Deprecated 76280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling public abstract void onSingleTapUp(View view, int x, int y); 778872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb 78280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling @Deprecated 79280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling public abstract void onPreviewTextureCopied(); 808872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb 81280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling @Deprecated 82280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling public abstract void onCaptureTextureCopied(); 838872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb 84280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling @Deprecated 85280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling public abstract void onUserInteraction(); 868872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb 87280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling @Deprecated 88280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling public abstract boolean updateStorageHintOnResume(); 898872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb 90280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling @Deprecated 91280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling public abstract void onOrientationChanged(int orientation); 923044d8c577432d6e9721fc8b26ac2afbbaf21266Erin Dahlgren 93280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling @Deprecated 94280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling public abstract void onShowSwitcherPopup(); 95280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling 96280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling @Deprecated 97280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling public abstract void onMediaSaverAvailable(MediaSaver s); 98280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling 99280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling @Deprecated 100280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling public abstract boolean arePreviewControlsVisible(); 101280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling 102280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling /** 103280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling * @return An instance containing common services to be used by the module. 104280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling */ 105280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling protected CameraServices getServices() { 106280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling return mServices; 107280fd3edae1dc35ac1015bcc9532477169fad3aaSascha Haeberling } 1088872c23e739de38d74f04a8c852ebb5199c905f6Michael Kolb} 109