1c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei/* 2c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei * Copyright (C) 2013 The Android Open Source Project 3c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei * 4c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei * Licensed under the Apache License, Version 2.0 (the "License"); 5c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei * you may not use this file except in compliance with the License. 6c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei * You may obtain a copy of the License at 7c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei * 8c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei * http://www.apache.org/licenses/LICENSE-2.0 9c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei * 10c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei * Unless required by applicable law or agreed to in writing, software 11c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei * distributed under the License is distributed on an "AS IS" BASIS, 12c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei * See the License for the specific language governing permissions and 14c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei * limitations under the License. 15c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei */ 16c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei 17c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Weipackage com.android.ex.photo.util; 18c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei 19c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Weiimport android.os.Build; 20c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei 21c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei/** 22c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei * Stand-in for {@link android.os.Trace}. 23c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei */ 24c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Weipublic abstract class Trace { 25c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei 26c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei /** 27c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei * Begins systrace tracing for a given tag. No-op on unsupported platform versions. 28c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei * 29c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei * @param tag systrace tag to use 30c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei * 31c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei * @see android.os.Trace#beginSection(String) 32c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei */ 33c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei public static void beginSection(String tag) { 34c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) { 35c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei android.os.Trace.beginSection(tag); 36c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei } 37c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei } 38c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei 39c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei /** 40c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei * Ends systrace tracing for the most recently begun section. No-op on unsupported platform 41c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei * versions. 42c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei * 43c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei * @see android.os.Trace#endSection() 44c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei */ 45c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei public static void endSection() { 46c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) { 47c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei android.os.Trace.endSection(); 48c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei } 49c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei } 50c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei 51c631b5a4b1f19f84a70b772bc879fae7c92fd4a8Mark Wei} 52