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