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