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