1d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb/*
2d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb * Copyright (C) 2012 The Android Open Source Project
3d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb *
4d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb * Licensed under the Apache License, Version 2.0 (the "License");
5d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb * you may not use this file except in compliance with the License.
6d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb * You may obtain a copy of the License at
7d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb *
8d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb *      http://www.apache.org/licenses/LICENSE-2.0
9d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb *
10d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb * Unless required by applicable law or agreed to in writing, software
11d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb * distributed under the License is distributed on an "AS IS" BASIS,
12d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb * See the License for the specific language governing permissions and
14d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb * limitations under the License.
15d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb */
16d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb
17d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolbpackage com.android.camera;
18d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb
19d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolbimport android.content.Intent;
20d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolbimport android.content.res.Configuration;
21d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolbimport android.view.KeyEvent;
22d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolbimport android.view.MotionEvent;
23d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolbimport android.view.View;
24d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb
25d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolbpublic interface CameraModule {
26d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb
27ce1d8396924bf4ca9be076cfdf9594c4d33ebd9bMichael Kolb    public void init(CameraActivity activity, View frame, boolean reuseScreenNail);
28d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb
29d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb    public void onFullScreenChanged(boolean full);
30d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb
31d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb    public void onPauseBeforeSuper();
32d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb
33d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb    public void onPauseAfterSuper();
34d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb
35d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb    public void onResumeBeforeSuper();
36d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb
37d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb    public void onResumeAfterSuper();
38d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb
39d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb    public void onConfigurationChanged(Configuration config);
40d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb
41d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb    public void onStop();
42d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb
43d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb    public void installIntentFilter();
44d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb
45d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb    public void onActivityResult(int requestCode, int resultCode, Intent data);
46d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb
47d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb    public boolean onBackPressed();
48d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb
49d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb    public boolean onKeyDown(int keyCode, KeyEvent event);
50d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb
51d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb    public boolean onKeyUp(int keyCode, KeyEvent event);
52d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb
53d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb    public void onSingleTapUp(View view, int x, int y);
54d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb
55d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb    public boolean dispatchTouchEvent(MotionEvent m);
56d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb
57d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb    public void onPreviewTextureCopied();
58d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb
59d282a28c60ca8f4ee82d519b12e8b0b057b294d4George Mount    public void onCaptureTextureCopied();
60d282a28c60ca8f4ee82d519b12e8b0b057b294d4George Mount
61d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb    public void onUserInteraction();
62d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb
63d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb    public boolean updateStorageHintOnResume();
64d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb
65d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb    public void updateCameraAppView();
66d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb
67d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb    public boolean collapseCameraControls();
68d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb
6990ef46f0248437fbcb2c80c8a65239f4da32b039Michael Kolb    public boolean needsSwitcher();
7090ef46f0248437fbcb2c80c8a65239f4da32b039Michael Kolb
7178711c990e57ce7c6228c5446cfb6902f2a47cb6Doris Liu    public void onOrientationChanged(int orientation);
7278711c990e57ce7c6228c5446cfb6902f2a47cb6Doris Liu
73561af39348f34db4d67bc954536d6f6cbf296054John Reck    public void onShowSwitcherPopup();
74561af39348f34db4d67bc954536d6f6cbf296054John Reck
75d3a252bb71d119cbaeff55aeaa27dd1f8adadba2Michael Kolb}
76