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