1a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkey/*
2a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkey * Copyright (C) 2013 The Android Open Source Project
3a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkey *
4a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkey * Licensed under the Apache License, Version 2.0 (the "License");
5a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkey * you may not use this file except in compliance with the License.
6a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkey * You may obtain a copy of the License at
7a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkey *
8a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkey *      http://www.apache.org/licenses/LICENSE-2.0
9a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkey *
10a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkey * Unless required by applicable law or agreed to in writing, software
11a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkey * distributed under the License is distributed on an "AS IS" BASIS,
12a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkey * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkey * See the License for the specific language governing permissions and
14a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkey * limitations under the License.
15a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkey */
16a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkey
17a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkeypackage android.os;
18a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkey
19a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkeyimport android.os.StrictMode.ThreadPolicy;
20a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkey
21a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkeyimport com.google.caliper.SimpleBenchmark;
22a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkey
23a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkeypublic class StrictModeBenchmark extends SimpleBenchmark {
24a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkey
25a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkey    private ThreadPolicy mOff = new ThreadPolicy.Builder().build();
26a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkey    private ThreadPolicy mOn = new ThreadPolicy.Builder().detectAll().build();
27a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkey
28a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkey    public void timeToggleThreadPolicy(int reps) {
29a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkey        for (int i = 0; i < reps; i++) {
30a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkey            StrictMode.setThreadPolicy(mOn);
31a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkey            StrictMode.setThreadPolicy(mOff);
32a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkey        }
33a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkey    }
34a2934d5ff0b5c4098408cd583c2c259edf37c118Jeff Sharkey}
35