IPControlsJB.java revision bde1a28e6652f25e4f74f018cb7d1dcba65a51e4
1bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams/*
2bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams * Copyright (C) 2013 The Android Open Source Project
3bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams *
4bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams * Licensed under the Apache License, Version 2.0 (the "License");
5bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams * you may not use this file except in compliance with the License.
6bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams * You may obtain a copy of the License at
7bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams *
8bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams *      http://www.apache.org/licenses/LICENSE-2.0
9bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams *
10bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams * Unless required by applicable law or agreed to in writing, software
11bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams * distributed under the License is distributed on an "AS IS" BASIS,
12bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams * See the License for the specific language governing permissions and
14bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams * limitations under the License.
15bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams */
16bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
17bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Samspackage com.android.rs.imagejb;
18bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
19bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Samsimport android.app.Activity;
20bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Samsimport android.os.Bundle;
21bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Samsimport android.os.Handler;
22bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Samsimport android.os.Message;
23bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Samsimport android.graphics.Canvas;
24bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Samsimport android.view.SurfaceView;
25bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Samsimport android.widget.AdapterView;
26bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Samsimport android.widget.ArrayAdapter;
27bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Samsimport android.widget.ImageView;
28bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Samsimport android.widget.SeekBar;
29bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Samsimport android.widget.Spinner;
30bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Samsimport android.widget.ToggleButton;
31bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Samsimport android.widget.TextView;
32bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Samsimport android.widget.CompoundButton;
33bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Samsimport android.widget.ListView;
34bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Samsimport android.view.View;
35bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Samsimport java.util.ArrayList;
36bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Samsimport java.util.ListIterator;
37bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Samsimport android.util.Log;
38bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Samsimport android.content.Intent;
39bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
40bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Samsimport android.os.Environment;
41bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Samsimport java.io.BufferedWriter;
42bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Samsimport java.io.File;
43bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Samsimport java.io.FileWriter;
44bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Samsimport java.io.IOException;
45bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
46bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Samspublic class IPControlsJB extends Activity {
47bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    private final String TAG = "Img";
48bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    public final String RESULT_FILE = "image_processing_result.csv";
49bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
50bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    private ToggleButton mIOButton;
51bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    private Spinner mResSpinner;
52bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    private ListView mTestListView;
53bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
54bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    private ArrayAdapter<String> mTestListAdapter;
55bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    private ArrayList<String> mTestList = new ArrayList<String>();
56bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
57bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    private boolean mToggleIO = true;
58bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    private boolean mToggleDVFS = true;
59bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    private boolean mToggleLong = false;
60bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    private boolean mTogglePause = false;
61bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
62bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
63bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    public enum Resolutions {
64bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        RES_4K(3840, 2160, "4k (3840x2160)"),
65bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        RES_1080P(1920, 1080, "1080p (1920x1080)"),
66bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        RES_720P(1280, 720, "720p (1280x720)"),
67bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        RES_WVGA(800, 480, "WVGA (800x480)");
68bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
69bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        private final String name;
70bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        public final int width;
71bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        public final int height;
72bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
73bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        private Resolutions(int w, int h, String s) {
74bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams            width = w;
75bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams            height = h;
76bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams            name = s;
77bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        }
78bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
79bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        // return quoted string as displayed test name
80bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        public String toString() {
81bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams            return name;
82bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        }
83bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    }
84bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
85bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
86bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    private AdapterView.OnItemSelectedListener mResSpinnerListener =
87bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams            new AdapterView.OnItemSelectedListener() {
88bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams                public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
89bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams                    //changeTest(IPTestListJB.TestName.values()[pos]);
90bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams                }
91bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
92bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams                public void onNothingSelected(AdapterView parent) {
93bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams                }
94bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams            };
95bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
96bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    void init() {
97bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        mIOButton = (ToggleButton) findViewById(R.id.io_control);
98bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
99bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        mResSpinner = (Spinner) findViewById(R.id.image_size);
100bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        mResSpinner.setOnItemSelectedListener(mResSpinnerListener);
101bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        mResSpinner.setAdapter(new ArrayAdapter<Resolutions>(
102bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams            this, R.layout.spinner_layout, Resolutions.values()));
103bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
104bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        for (int i=0; i < IPTestListJB.TestName.values().length; i++) {
105bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams            mTestList.add(IPTestListJB.TestName.values()[i].toString());
106bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        }
107bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
108bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        mTestListView = (ListView) findViewById(R.id.test_list);
109bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        mTestListAdapter = new ArrayAdapter(this,
110bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams                android.R.layout.simple_list_item_activated_1,
111bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams                mTestList);
112bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
113bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        mTestListView.setAdapter(mTestListAdapter);
114bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        mTestListView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
115bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        mTestListAdapter.notifyDataSetChanged();
116bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
117bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        ToggleButton toggle;
118bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        toggle = (ToggleButton) findViewById(R.id.io_control);
119bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
120bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
121bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams                mToggleIO = isChecked;
122bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams            }
123bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        });
124bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        toggle.setChecked(mToggleIO);
125bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
126bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        toggle = (ToggleButton) findViewById(R.id.length_control);
127bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
128bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
129bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams                mToggleLong = isChecked;
130bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams            }
131bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        });
132bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        toggle.setChecked(mToggleLong);
133bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
134bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        toggle = (ToggleButton) findViewById(R.id.background_work);
135bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
136bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
137bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams                mToggleDVFS = isChecked;
138bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams            }
139bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        });
140bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        toggle.setChecked(mToggleDVFS);
141bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
142bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        toggle = (ToggleButton) findViewById(R.id.pause);
143bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
144bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
145bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams                mTogglePause = isChecked;
146bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams            }
147bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        });
148bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        toggle.setChecked(mTogglePause);
149bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
150bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
151bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    }
152bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
153bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    @Override
154bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    protected void onCreate(Bundle savedInstanceState) {
155bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        super.onCreate(savedInstanceState);
156bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        setContentView(R.layout.controls);
157bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        init();
158bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    }
159bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
160bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    @Override
161bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    protected void onPause() {
162bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        super.onPause();
163bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
164bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        //cleanup();
165bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    }
166bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
167bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
168bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    @Override
169bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    protected void onResume() {
170bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        super.onResume();
171bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
172bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams       // init();
173bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    }
174bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
175bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    private void checkGroup(int group) {
176bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        IPTestListJB.TestName t[] = IPTestListJB.TestName.values();
177bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        for (int i=0; i < t.length; i++) {
178bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams            mTestListView.setItemChecked(i, group == t[i].group);
179bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        }
180bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    }
181bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
182bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    public void btnRun(View v) {
183bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        IPTestListJB.TestName t[] = IPTestListJB.TestName.values();
184bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
185bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        int count = 0;
186bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        for (int i = 0; i < t.length; i++) {
187bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams            if (mTestListView.isItemChecked(i)) {
188bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams                count++;
189bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams            }
190bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        }
191bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        if (count == 0) {
192bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams            return;
193bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        }
194bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
195bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        int testList[] = new int[count];
196bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        count = 0;
197bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        for (int i = 0; i < t.length; i++) {
198bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams            if (mTestListView.isItemChecked(i)) {
199bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams                testList[count++] = i;
200bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams            }
201bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        }
202bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
203bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        Intent intent = new Intent(this, ImageProcessingActivityJB.class);
204bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        intent.putExtra("tests", testList);
205bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        intent.putExtra("enable io", mToggleIO);
206bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        intent.putExtra("enable dvfs", mToggleDVFS);
207bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        intent.putExtra("enable long", mToggleLong);
208bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        intent.putExtra("enable pause", mTogglePause);
209bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        startActivityForResult(intent, 0);
210bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    }
211bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
212bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
213bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        if (requestCode == 0) {
214bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams            if (resultCode == RESULT_OK) {
215bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams                float r[] = data.getFloatArrayExtra("results");
216bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams                int id[] = data.getIntArrayExtra("tests");
217bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
218bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams                for (int ct=0; ct < id.length; ct++) {
219bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams                    IPTestListJB.TestName t = IPTestListJB.TestName.values()[id[ct]];
220bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
221bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams                    String s = IPTestListJB.TestName.values()[id[ct]].toString();
222bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams                    s += "  " + r[ct] + "ms";
223bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams                    mTestList.set(id[ct], s);
224bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams                    mTestListAdapter.notifyDataSetChanged();
225bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams                }
226bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
227bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams                android.util.Log.v("rs", "result " + r);
228bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams            }
229bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        }
230bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    }
231bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
232bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    public void btnSelAll(View v) {
233bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        IPTestListJB.TestName t[] = IPTestListJB.TestName.values();
234bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        for (int i=0; i < t.length; i++) {
235bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams            mTestListView.setItemChecked(i, true);
236bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        }
237bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    }
238bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
239bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    public void btnSelNone(View v) {
240bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        checkGroup(-1);
241bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    }
242bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
243bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    public void btnSelHp(View v) {
244bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        checkGroup(0);
245bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    }
246bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
247bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    public void btnSelLp(View v) {
248bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        checkGroup(1);
249bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    }
250bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
251bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    public void btnSelIntrinsic(View v) {
252bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams        checkGroup(2);
253bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams    }
254bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
255bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
256bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams
257bde1a28e6652f25e4f74f018cb7d1dcba65a51e4Jason Sams}
258