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