1bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvalapackage com.android.testingcamera;
2bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala
3bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvalaimport android.hardware.Camera;
4bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvalaimport android.hardware.Camera.CameraInfo;
5bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvalaimport android.os.Bundle;
6bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvalaimport android.app.DialogFragment;
7bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvalaimport android.view.LayoutInflater;
8bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvalaimport android.view.View;
9bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvalaimport android.view.ViewGroup;
10bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvalaimport android.widget.Button;
11bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvalaimport android.widget.TextView;
12bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala
13bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvalapublic class InfoDialogFragment extends DialogFragment implements View.OnClickListener {
14bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala
15bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala    Button mOkButton;
16bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala    TextView mInfoText;
17bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala
18bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala    String mTitleString = "";
19bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala    String mInfoString = "";
20bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala
21bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala    public InfoDialogFragment() {
22bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala        // Empty constructor required for DialogFragment
23bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala    }
24bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala
25bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala    @Override
26bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala    public View onCreateView(LayoutInflater inflater, ViewGroup container,
27bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala            Bundle savedInstanceState) {
28bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala        View view = inflater.inflate(R.layout.fragment_info, container);
29bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala
30bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala        mOkButton = (Button) view.findViewById(R.id.info_ok_button);
31bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala        mOkButton.setOnClickListener(this);
32bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala
33bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala        mInfoText= (TextView) view.findViewById(R.id.info_text);
34bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala        mInfoText.setText(mInfoString);
35bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala
36bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala        getDialog().setTitle(mTitleString);
37bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala        return view;
38bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala    }
39bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala
4059c639e1919e7f7b39758cfbafb1e12b78e7b2d4Eino-Ville Talvala    @Override
41bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala    public void onClick(View v) {
42bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala        this.dismiss();
43bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala    }
44bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala
45bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala    public void updateInfo(int cameraId, Camera camera) {
46bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala        mTitleString = "Current camera " + cameraId + " state";
47bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala        StringBuilder b = new StringBuilder();
48bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala
49bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala        CameraInfo cameraInfo = new CameraInfo();
50bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala        Camera.getCameraInfo(cameraId, cameraInfo);
51bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala        b.append("getInfo() output:\n");
52bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala        b.append("  Facing: ");
53bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala        b.append(cameraInfo.facing == CameraInfo.CAMERA_FACING_FRONT ? "FRONT\n" : "BACK\n");
54bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala        b.append("  Orientation: ");
55bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala        b.append(cameraInfo.orientation);
56bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala        b.append("\n\n");
57bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala        b.append("getParameters() output:\n  ");
58bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala        Camera.Parameters p = camera.getParameters();
59bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala        String[] flatP = p.flatten().split(";");
60bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala        for (String param : flatP) {
61bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala            b.append(param);
62bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala            b.append("\n  ");
63bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala        }
64bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala
65bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala        mInfoString = b.toString();
66bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala    }
67bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala
68bc88c6ed6508927ad72eefba3f6f63c6436f06d3Eino-Ville Talvala}
69