InstrumentedFragment.java revision 8a963babe2e36b7a41f77b8d2598c97658196e58
18a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren/*
28a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren * Copyright (C) 2015 The Android Open Source Project
38a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren *
48a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren * Licensed under the Apache License, Version 2.0 (the "License");
58a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren * you may not use this file except in compliance with the License.
68a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren * You may obtain a copy of the License at
78a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren *
88a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren *      http://www.apache.org/licenses/LICENSE-2.0
98a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren *
108a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren * Unless required by applicable law or agreed to in writing, software
118a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren * distributed under the License is distributed on an "AS IS" BASIS,
128a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
138a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren * See the License for the specific language governing permissions and
148a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren * limitations under the License.
158a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren */
168a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren
178a963babe2e36b7a41f77b8d2598c97658196e58Chris Wrenpackage com.android.settings;
188a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren
198a963babe2e36b7a41f77b8d2598c97658196e58Chris Wrenimport android.preference.PreferenceFragment;
208a963babe2e36b7a41f77b8d2598c97658196e58Chris Wrenimport com.android.internal.logging.MetricsLogger;
218a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren
228a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren/**
238a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren * Instrumented fragment that logs visibility state.
248a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren */
258a963babe2e36b7a41f77b8d2598c97658196e58Chris Wrenpublic abstract class InstrumentedFragment extends PreferenceFragment {
268a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren    protected abstract int getMetricsCategory();
278a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren
288a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren    @Override
298a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren    public void onResume() {
308a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren        super.onResume();
318a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren        MetricsLogger.visible(getActivity(), getMetricsCategory());
328a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren    }
338a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren
348a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren    @Override
358a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren    public void onPause() {
368a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren        super.onPause();
378a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren        MetricsLogger.hidden(getActivity(), getMetricsCategory());
388a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren    }
398a963babe2e36b7a41f77b8d2598c97658196e58Chris Wren}
40