diff --git a/src/com/android/settings/ApnEditor.java b/src/com/android/settings/ApnEditor.java index f587b609925..f8db3d8a521 100644 --- a/src/com/android/settings/ApnEditor.java +++ b/src/com/android/settings/ApnEditor.java @@ -38,9 +38,10 @@ import android.util.Log; import android.view.KeyEvent; import android.view.Menu; import android.view.MenuItem; +import com.android.internal.logging.MetricsLogger; -public class ApnEditor extends PreferenceActivity +public class ApnEditor extends InstrumentedPreferenceActivity implements SharedPreferences.OnSharedPreferenceChangeListener, Preference.OnPreferenceChangeListener { @@ -227,6 +228,11 @@ public class ApnEditor extends PreferenceActivity fillUi(); } + @Override + protected int getMetricsCategory() { + return MetricsLogger.APN_EDITOR; + } + @Override public void onResume() { super.onResume(); diff --git a/src/com/android/settings/ApnSettings.java b/src/com/android/settings/ApnSettings.java index 79a38250a50..68cfb60f6a7 100644 --- a/src/com/android/settings/ApnSettings.java +++ b/src/com/android/settings/ApnSettings.java @@ -47,6 +47,7 @@ import android.view.MenuItem; import android.widget.TextView; import android.widget.Toast; +import com.android.internal.logging.MetricsLogger; import com.android.internal.telephony.PhoneConstants; import com.android.internal.telephony.TelephonyIntents; import android.telephony.TelephonyManager; @@ -124,6 +125,11 @@ public class ApnSettings extends SettingsPreferenceFragment implements } } + @Override + protected int getMetricsCategory() { + return MetricsLogger.APN; + } + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); diff --git a/src/com/android/settings/ApplicationSettings.java b/src/com/android/settings/ApplicationSettings.java index 6a170499ba5..9e010b6a0da 100644 --- a/src/com/android/settings/ApplicationSettings.java +++ b/src/com/android/settings/ApplicationSettings.java @@ -24,6 +24,7 @@ import android.preference.Preference; import android.preference.Preference.OnPreferenceChangeListener; import android.preference.PreferenceScreen; import android.provider.Settings; +import com.android.internal.logging.MetricsLogger; public class ApplicationSettings extends SettingsPreferenceFragment { @@ -42,6 +43,11 @@ public class ApplicationSettings extends SettingsPreferenceFragment { private CheckBoxPreference mToggleAdvancedSettings; private ListPreference mInstallLocation; + @Override + protected int getMetricsCategory() { + return MetricsLogger.APPLICATION; + } + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); diff --git a/src/com/android/settings/ChooseLockGeneric.java b/src/com/android/settings/ChooseLockGeneric.java index b6f907e0324..6d31e604f4a 100644 --- a/src/com/android/settings/ChooseLockGeneric.java +++ b/src/com/android/settings/ChooseLockGeneric.java @@ -42,6 +42,7 @@ import android.util.Log; import android.view.accessibility.AccessibilityManager; import android.widget.Toast; +import com.android.internal.logging.MetricsLogger; import com.android.internal.widget.LockPatternUtils; import java.util.List; @@ -112,6 +113,11 @@ public class ChooseLockGeneric extends SettingsActivity { } }; + @Override + protected int getMetricsCategory() { + return MetricsLogger.CHOOSE_LOCK_GENERIC; + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/src/com/android/settings/ChooseLockPassword.java b/src/com/android/settings/ChooseLockPassword.java index 0a0aebd6c42..6d7b71d711b 100644 --- a/src/com/android/settings/ChooseLockPassword.java +++ b/src/com/android/settings/ChooseLockPassword.java @@ -16,6 +16,7 @@ package com.android.settings; +import com.android.internal.logging.MetricsLogger; import com.android.internal.widget.LockPatternUtils; import com.android.internal.widget.PasswordEntryKeyboardHelper; import com.android.internal.widget.PasswordEntryKeyboardView; @@ -96,7 +97,7 @@ public class ChooseLockPassword extends SettingsActivity { setTitle(msg); } - public static class ChooseLockPasswordFragment extends Fragment + public static class ChooseLockPasswordFragment extends InstrumentedFragment implements OnClickListener, OnEditorActionListener, TextWatcher { private static final String KEY_FIRST_PIN = "first_pin"; private static final String KEY_UI_STAGE = "ui_stage"; @@ -262,6 +263,11 @@ public class ChooseLockPassword extends SettingsActivity { } } + @Override + protected int getMetricsCategory() { + return MetricsLogger.CHOOSE_LOCK_PASSWORD; + } + @Override public void onResume() { super.onResume(); diff --git a/src/com/android/settings/ChooseLockPattern.java b/src/com/android/settings/ChooseLockPattern.java index 6343468715a..1865a6b8276 100644 --- a/src/com/android/settings/ChooseLockPattern.java +++ b/src/com/android/settings/ChooseLockPattern.java @@ -16,6 +16,7 @@ package com.android.settings; +import com.android.internal.logging.MetricsLogger; import com.google.android.collect.Lists; import com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient; import com.android.internal.widget.LockPatternUtils; @@ -101,7 +102,7 @@ public class ChooseLockPattern extends SettingsActivity { return super.onKeyDown(keyCode, event); } - public static class ChooseLockPatternFragment extends Fragment + public static class ChooseLockPatternFragment extends InstrumentedFragment implements View.OnClickListener { public static final int CONFIRM_EXISTING_REQUEST = 55; @@ -205,6 +206,11 @@ public class ChooseLockPattern extends SettingsActivity { } }; + @Override + protected int getMetricsCategory() { + return MetricsLogger.CHOOSE_LOCK_PATTERN; + } + /** * The states of the left footer button. diff --git a/src/com/android/settings/ConfirmLockPassword.java b/src/com/android/settings/ConfirmLockPassword.java index c74e8617b06..b49dc6eb00e 100644 --- a/src/com/android/settings/ConfirmLockPassword.java +++ b/src/com/android/settings/ConfirmLockPassword.java @@ -17,6 +17,7 @@ package com.android.settings; import android.text.TextUtils; +import com.android.internal.logging.MetricsLogger; import com.android.internal.widget.LockPatternUtils; import com.android.internal.widget.PasswordEntryKeyboardHelper; import com.android.internal.widget.PasswordEntryKeyboardView; @@ -74,8 +75,8 @@ public class ConfirmLockPassword extends SettingsActivity { setTitle(msg); } - public static class ConfirmLockPasswordFragment extends Fragment implements OnClickListener, - OnEditorActionListener, TextWatcher { + public static class ConfirmLockPasswordFragment extends InstrumentedFragment + implements OnClickListener, OnEditorActionListener, TextWatcher { private static final String KEY_NUM_WRONG_CONFIRM_ATTEMPTS = "confirm_lock_password_fragment.key_num_wrong_confirm_attempts"; private static final long ERROR_MESSAGE_TIMEOUT = 3000; @@ -173,6 +174,11 @@ public class ConfirmLockPassword extends SettingsActivity { } } + @Override + protected int getMetricsCategory() { + return MetricsLogger.CONFIRM_LOCK_PASSWORD; + } + @Override public void onResume() { // TODO Auto-generated method stub diff --git a/src/com/android/settings/ConfirmLockPattern.java b/src/com/android/settings/ConfirmLockPattern.java index 87d401c3189..b5d444bfead 100644 --- a/src/com/android/settings/ConfirmLockPattern.java +++ b/src/com/android/settings/ConfirmLockPattern.java @@ -16,6 +16,7 @@ package com.android.settings; +import com.android.internal.logging.MetricsLogger; import com.android.internal.widget.LockPatternUtils; import com.android.internal.widget.LockPatternView; import com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient; @@ -84,7 +85,7 @@ public class ConfirmLockPattern extends SettingsActivity { return false; } - public static class ConfirmLockPatternFragment extends Fragment { + public static class ConfirmLockPatternFragment extends InstrumentedFragment { // how long we wait to clear a wrong pattern private static final int WRONG_PATTERN_CLEAR_TIMEOUT_MS = 2000; @@ -171,6 +172,11 @@ public class ConfirmLockPattern extends SettingsActivity { } } + @Override + protected int getMetricsCategory() { + return MetricsLogger.CONFIRM_LOCK_PATTERN; + } + @Override public void onResume() { super.onResume(); diff --git a/src/com/android/settings/CryptKeeperConfirm.java b/src/com/android/settings/CryptKeeperConfirm.java index 4d6f26b462b..77a1c4563bd 100644 --- a/src/com/android/settings/CryptKeeperConfirm.java +++ b/src/com/android/settings/CryptKeeperConfirm.java @@ -33,14 +33,20 @@ import android.view.View; import android.view.ViewGroup; import android.widget.Button; +import com.android.internal.logging.MetricsLogger; import com.android.internal.widget.LockPatternUtils; import java.util.Locale; -public class CryptKeeperConfirm extends Fragment { +public class CryptKeeperConfirm extends InstrumentedFragment { private static final String TAG = "CryptKeeperConfirm"; + @Override + protected int getMetricsCategory() { + return MetricsLogger.CRYPT_KEEPER_CONFIRM; + } + public static class Blank extends Activity { private Handler mHandler = new Handler(); diff --git a/src/com/android/settings/CryptKeeperSettings.java b/src/com/android/settings/CryptKeeperSettings.java index d962446da62..3fb60e3284c 100644 --- a/src/com/android/settings/CryptKeeperSettings.java +++ b/src/com/android/settings/CryptKeeperSettings.java @@ -34,8 +34,9 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; +import com.android.internal.logging.MetricsLogger; -public class CryptKeeperSettings extends Fragment { +public class CryptKeeperSettings extends InstrumentedFragment { private static final String TAG = "CryptKeeper"; private static final int KEYGUARD_REQUEST = 55; @@ -110,6 +111,11 @@ public class CryptKeeperSettings extends Fragment { return mContentView; } + @Override + protected int getMetricsCategory() { + return MetricsLogger.CRYPT_KEEPER; + } + @Override public void onResume() { super.onResume(); diff --git a/src/com/android/settings/DataUsageSummary.java b/src/com/android/settings/DataUsageSummary.java index 0d21066a910..6e72ef7e8f6 100644 --- a/src/com/android/settings/DataUsageSummary.java +++ b/src/com/android/settings/DataUsageSummary.java @@ -127,6 +127,7 @@ import android.widget.TabHost.TabSpec; import android.widget.TabWidget; import android.widget.TextView; +import com.android.internal.logging.MetricsLogger; import com.android.internal.telephony.PhoneConstants; import com.android.settings.drawable.InsetBoundsDrawable; import com.android.settings.net.ChartData; @@ -290,6 +291,11 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable */ private final Map mMobileDataEnabled = new HashMap(); + @Override + protected int getMetricsCategory() { + return MetricsLogger.DATA_USAGE_SUMMARY; + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/src/com/android/settings/DateTimeSettings.java b/src/com/android/settings/DateTimeSettings.java index be24ffe3f59..a3926a3b0d9 100644 --- a/src/com/android/settings/DateTimeSettings.java +++ b/src/com/android/settings/DateTimeSettings.java @@ -41,6 +41,8 @@ import android.text.format.DateFormat; import android.view.View; import android.widget.DatePicker; import android.widget.TimePicker; +import com.android.internal.logging.MetricsLogger; + import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; @@ -74,6 +76,11 @@ public class DateTimeSettings extends SettingsPreferenceFragment private Preference mTimeZone; private Preference mDatePref; + @Override + protected int getMetricsCategory() { + return MetricsLogger.DATE_TIME; + } + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java index 192bd5c0c48..e0091e131e9 100644 --- a/src/com/android/settings/DevelopmentSettings.java +++ b/src/com/android/settings/DevelopmentSettings.java @@ -68,6 +68,7 @@ import android.view.accessibility.AccessibilityManager; import android.widget.Switch; import android.widget.TextView; +import com.android.internal.logging.MetricsLogger; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.Indexable; import com.android.settings.widget.SwitchBar; @@ -259,6 +260,11 @@ public class DevelopmentSettings extends SettingsPreferenceFragment private Dialog mAdbKeysDialog; private boolean mUnavailable; + @Override + protected int getMetricsCategory() { + return MetricsLogger.DEVELOPMENT; + } + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); diff --git a/src/com/android/settings/DeviceInfoSettings.java b/src/com/android/settings/DeviceInfoSettings.java index 648615a8fd9..061b1337f88 100644 --- a/src/com/android/settings/DeviceInfoSettings.java +++ b/src/com/android/settings/DeviceInfoSettings.java @@ -37,6 +37,7 @@ import android.provider.Settings; import android.text.TextUtils; import android.util.Log; import android.widget.Toast; +import com.android.internal.logging.MetricsLogger; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.Index; import com.android.settings.search.Indexable; @@ -83,6 +84,11 @@ public class DeviceInfoSettings extends SettingsPreferenceFragment implements In int mDevHitCountdown; Toast mDevHitToast; + @Override + protected int getMetricsCategory() { + return MetricsLogger.DEVICEINFO; + } + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); diff --git a/src/com/android/settings/DisplaySettings.java b/src/com/android/settings/DisplaySettings.java index 33581240659..47cbcdebcaf 100644 --- a/src/com/android/settings/DisplaySettings.java +++ b/src/com/android/settings/DisplaySettings.java @@ -16,6 +16,7 @@ package com.android.settings; +import com.android.internal.logging.MetricsLogger; import com.android.internal.view.RotationPolicy; import com.android.settings.DropDownPreference.Callback; import com.android.settings.search.BaseSearchIndexProvider; @@ -85,6 +86,11 @@ public class DisplaySettings extends SettingsPreferenceFragment implements private SwitchPreference mDozePreference; private SwitchPreference mAutoBrightnessPreference; + @Override + protected int getMetricsCategory() { + return MetricsLogger.DISPLAY; + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/src/com/android/settings/DreamSettings.java b/src/com/android/settings/DreamSettings.java index 38cba7a2281..8137cd4169a 100644 --- a/src/com/android/settings/DreamSettings.java +++ b/src/com/android/settings/DreamSettings.java @@ -43,6 +43,7 @@ import android.widget.RadioButton; import android.widget.Switch; import android.widget.TextView; +import com.android.internal.logging.MetricsLogger; import com.android.settings.DreamBackend.DreamInfo; import com.android.settings.widget.SwitchBar; @@ -76,6 +77,11 @@ public class DreamSettings extends SettingsPreferenceFragment implements mContext = activity; } + @Override + protected int getMetricsCategory() { + return MetricsLogger.DREAM; + } + @Override public void onCreate(Bundle icicle) { logd("onCreate(%s)", icicle); diff --git a/src/com/android/settings/EncryptionInterstitial.java b/src/com/android/settings/EncryptionInterstitial.java index dfbed77a7f6..9b6444cdeb8 100644 --- a/src/com/android/settings/EncryptionInterstitial.java +++ b/src/com/android/settings/EncryptionInterstitial.java @@ -16,6 +16,7 @@ package com.android.settings; +import com.android.internal.logging.MetricsLogger; import com.android.internal.widget.LockPatternUtils; import com.android.settings.R; import com.android.settings.SettingsActivity; @@ -77,6 +78,11 @@ public class EncryptionInterstitial extends SettingsActivity { private TextView mEncryptionMessage; private boolean mPasswordRequired; + @Override + protected int getMetricsCategory() { + return MetricsLogger.ENCRYPTION; + } + @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { diff --git a/src/com/android/settings/FingerprintEnroll.java b/src/com/android/settings/FingerprintEnroll.java index 931fb9c6f72..c54272f987b 100644 --- a/src/com/android/settings/FingerprintEnroll.java +++ b/src/com/android/settings/FingerprintEnroll.java @@ -43,6 +43,7 @@ import android.widget.ImageView; import android.widget.ProgressBar; import android.widget.TextView; +import com.android.internal.logging.MetricsLogger; import com.android.internal.widget.LockPatternUtils; /** @@ -81,7 +82,8 @@ public class FingerprintEnroll extends SettingsActivity { setTitle(msg); } - public static class FingerprintEnrollFragment extends Fragment implements View.OnClickListener { + public static class FingerprintEnrollFragment extends InstrumentedFragment + implements View.OnClickListener { private static final String EXTRA_PROGRESS = "progress"; private static final String EXTRA_STAGE = "stage"; private static final int PROGRESS_BAR_MAX = 10000; @@ -171,6 +173,11 @@ public class FingerprintEnroll extends SettingsActivity { }; private static final boolean ALWAYS_SHOW_FIND_SCREEN = true; + @Override + protected int getMetricsCategory() { + return MetricsLogger.FINGERPRINT_ENROLL; + } + private enum Stage { EnrollingOnboard(R.string.security_settings_fingerprint_enroll_onboard_title, R.string.security_settings_fingerprint_enroll_onboard_message, diff --git a/src/com/android/settings/FingerprintSettings.java b/src/com/android/settings/FingerprintSettings.java index 857ef1fd7c1..d086ff718ad 100644 --- a/src/com/android/settings/FingerprintSettings.java +++ b/src/com/android/settings/FingerprintSettings.java @@ -40,6 +40,7 @@ import android.view.View; import android.widget.EditText; import android.widget.Toast; +import com.android.internal.logging.MetricsLogger; import com.android.settings.search.Indexable; import java.util.List; @@ -147,6 +148,11 @@ public class FingerprintSettings extends SettingsActivity { }; }; + @Override + protected int getMetricsCategory() { + return MetricsLogger.FINGERPRINT; + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/src/com/android/settings/HighlightingFragment.java b/src/com/android/settings/HighlightingFragment.java index 4a233b4228a..ef2fbf3107f 100644 --- a/src/com/android/settings/HighlightingFragment.java +++ b/src/com/android/settings/HighlightingFragment.java @@ -23,7 +23,7 @@ import android.text.TextUtils; import android.view.View; import android.view.ViewGroup; -public class HighlightingFragment extends Fragment { +public abstract class HighlightingFragment extends InstrumentedFragment { private static final String TAG = "HighlightSettingsFragment"; diff --git a/src/com/android/settings/HomeSettings.java b/src/com/android/settings/HomeSettings.java index 6da18489a8a..22d4cdc2f0f 100644 --- a/src/com/android/settings/HomeSettings.java +++ b/src/com/android/settings/HomeSettings.java @@ -51,6 +51,7 @@ import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageView; import android.widget.RadioButton; +import com.android.internal.logging.MetricsLogger; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.Index; import com.android.settings.search.Indexable; @@ -252,6 +253,11 @@ public class HomeSettings extends SettingsPreferenceFragment implements Indexabl return versionNumber >= Build.VERSION_CODES.LOLLIPOP; } + @Override + protected int getMetricsCategory() { + return MetricsLogger.HOME; + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/src/com/android/settings/IccLockSettings.java b/src/com/android/settings/IccLockSettings.java index efc5a3c8871..0e47afbab67 100644 --- a/src/com/android/settings/IccLockSettings.java +++ b/src/com/android/settings/IccLockSettings.java @@ -42,6 +42,7 @@ import android.widget.TabHost.TabSpec; import android.widget.TabWidget; import android.widget.Toast; +import com.android.internal.logging.MetricsLogger; import com.android.internal.telephony.Phone; import com.android.internal.telephony.PhoneFactory; import com.android.internal.telephony.TelephonyIntents; @@ -55,7 +56,7 @@ import com.android.internal.telephony.TelephonyIntents; * these operations. * */ -public class IccLockSettings extends PreferenceActivity +public class IccLockSettings extends InstrumentedPreferenceActivity implements EditPinPreference.OnPinEnteredListener { private static final String TAG = "IccLockSettings"; private static final boolean DBG = true; @@ -238,6 +239,11 @@ public class IccLockSettings extends PreferenceActivity } } + @Override + protected int getMetricsCategory() { + return MetricsLogger.ICC_LOCK; + } + @Override protected void onResume() { super.onResume(); diff --git a/src/com/android/settings/InstrumentedFragment.java b/src/com/android/settings/InstrumentedFragment.java new file mode 100644 index 00000000000..96b7296b199 --- /dev/null +++ b/src/com/android/settings/InstrumentedFragment.java @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settings; + +import android.preference.PreferenceFragment; +import com.android.internal.logging.MetricsLogger; + +/** + * Instrumented fragment that logs visibility state. + */ +public abstract class InstrumentedFragment extends PreferenceFragment { + protected abstract int getMetricsCategory(); + + @Override + public void onResume() { + super.onResume(); + MetricsLogger.visible(getActivity(), getMetricsCategory()); + } + + @Override + public void onPause() { + super.onPause(); + MetricsLogger.hidden(getActivity(), getMetricsCategory()); + } +} diff --git a/src/com/android/settings/InstrumentedPreferenceActivity.java b/src/com/android/settings/InstrumentedPreferenceActivity.java new file mode 100644 index 00000000000..8ad88b0dd92 --- /dev/null +++ b/src/com/android/settings/InstrumentedPreferenceActivity.java @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settings; + +import android.preference.PreferenceActivity; +import com.android.internal.logging.MetricsLogger; + +/** + * Instrumented activity that logs visibility state. + */ +public abstract class InstrumentedPreferenceActivity extends PreferenceActivity { + protected abstract int getMetricsCategory(); + + @Override + protected void onResume() { + super.onResume(); + MetricsLogger.visible(this, getMetricsCategory()); + } + + @Override + protected void onPause() { + super.onPause(); + MetricsLogger.hidden(this, getMetricsCategory()); + } +} diff --git a/src/com/android/settings/InstrumentedPreferenceFragment.java b/src/com/android/settings/InstrumentedPreferenceFragment.java new file mode 100644 index 00000000000..1d861029702 --- /dev/null +++ b/src/com/android/settings/InstrumentedPreferenceFragment.java @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settings; + +import android.preference.PreferenceFragment; +import com.android.internal.logging.MetricsLogger; + +/** + * Instrumented preference fragment that logs visibility state. + */ +public abstract class InstrumentedPreferenceFragment extends PreferenceFragment { + protected abstract int getMetricsCategory(); + + @Override + public void onResume() { + super.onResume(); + MetricsLogger.visible(getActivity(), getMetricsCategory()); + } + + @Override + public void onPause() { + super.onPause(); + MetricsLogger.hidden(getActivity(), getMetricsCategory()); + } +} diff --git a/src/com/android/settings/MasterClear.java b/src/com/android/settings/MasterClear.java index 9480f670b55..1b6468fd116 100644 --- a/src/com/android/settings/MasterClear.java +++ b/src/com/android/settings/MasterClear.java @@ -41,6 +41,7 @@ import android.widget.Button; import android.widget.CheckBox; import android.widget.LinearLayout; import android.widget.TextView; +import com.android.internal.logging.MetricsLogger; import java.util.List; @@ -54,7 +55,7 @@ import java.util.List; * * This is the initial screen. */ -public class MasterClear extends Fragment { +public class MasterClear extends InstrumentedFragment { private static final String TAG = "MasterClear"; private static final int KEYGUARD_REQUEST = 55; @@ -270,4 +271,9 @@ public class MasterClear extends Fragment { establishInitialState(); return mContentView; } + + @Override + protected int getMetricsCategory() { + return MetricsLogger.MASTER_CLEAR; + } } diff --git a/src/com/android/settings/MasterClearConfirm.java b/src/com/android/settings/MasterClearConfirm.java index 3521aa3140b..bc3656abde6 100644 --- a/src/com/android/settings/MasterClearConfirm.java +++ b/src/com/android/settings/MasterClearConfirm.java @@ -21,6 +21,7 @@ import android.content.Context; import android.content.pm.ActivityInfo; import android.os.AsyncTask; import android.service.persistentdata.PersistentDataBlockManager; +import com.android.internal.logging.MetricsLogger; import com.android.internal.os.storage.ExternalStorageFormatter; import android.app.Fragment; @@ -42,7 +43,7 @@ import android.widget.Button; * * This is the confirmation screen. */ -public class MasterClearConfirm extends Fragment { +public class MasterClearConfirm extends InstrumentedFragment { private View mContentView; private boolean mEraseSdCard; @@ -144,4 +145,9 @@ public class MasterClearConfirm extends Fragment { Bundle args = getArguments(); mEraseSdCard = args != null && args.getBoolean(MasterClear.ERASE_EXTERNAL_EXTRA); } + + @Override + protected int getMetricsCategory() { + return MetricsLogger.MASTER_CLEAR_CONFIRM; + } } diff --git a/src/com/android/settings/OwnerInfoSettings.java b/src/com/android/settings/OwnerInfoSettings.java index c1cacb99863..54b7cab6479 100644 --- a/src/com/android/settings/OwnerInfoSettings.java +++ b/src/com/android/settings/OwnerInfoSettings.java @@ -29,9 +29,10 @@ import android.widget.CompoundButton; import android.widget.EditText; import android.widget.CompoundButton.OnCheckedChangeListener; +import com.android.internal.logging.MetricsLogger; import com.android.internal.widget.LockPatternUtils; -public class OwnerInfoSettings extends Fragment { +public class OwnerInfoSettings extends InstrumentedFragment { public static final String EXTRA_SHOW_NICKNAME = "show_nickname"; @@ -98,6 +99,11 @@ public class OwnerInfoSettings extends Fragment { } } + @Override + protected int getMetricsCategory() { + return MetricsLogger.OWNER_INFO; + } + @Override public void onPause() { super.onPause(); diff --git a/src/com/android/settings/PrivacySettings.java b/src/com/android/settings/PrivacySettings.java index e15029824b7..4eb8a9e52ae 100644 --- a/src/com/android/settings/PrivacySettings.java +++ b/src/com/android/settings/PrivacySettings.java @@ -37,6 +37,7 @@ import android.provider.SearchIndexableResource; import android.provider.Settings; import android.util.Log; +import com.android.internal.logging.MetricsLogger; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.Indexable; import java.util.ArrayList; @@ -69,6 +70,11 @@ public class PrivacySettings extends SettingsPreferenceFragment implements private static final int DIALOG_ERASE_BACKUP = 2; private int mDialogType; + @Override + protected int getMetricsCategory() { + return MetricsLogger.PRIVACY; + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/src/com/android/settings/ProxySelector.java b/src/com/android/settings/ProxySelector.java index 2c4c47362a4..7e83f6669fc 100644 --- a/src/com/android/settings/ProxySelector.java +++ b/src/com/android/settings/ProxySelector.java @@ -16,6 +16,7 @@ package com.android.settings; +import com.android.internal.logging.MetricsLogger; import com.android.settings.SettingsPreferenceFragment.SettingsDialogFragment; import android.app.Activity; @@ -42,7 +43,7 @@ import android.widget.Button; import android.widget.EditText; import android.widget.TextView; -public class ProxySelector extends Fragment implements DialogCreatable { +public class ProxySelector extends InstrumentedFragment implements DialogCreatable { private static final String TAG = "ProxySelector"; EditText mHostnameField; @@ -270,4 +271,9 @@ public class ProxySelector extends Fragment implements DialogCreatable { } } }; + + @Override + protected int getMetricsCategory() { + return MetricsLogger.PROXY_SELECTOR; + } } diff --git a/src/com/android/settings/ResetNetwork.java b/src/com/android/settings/ResetNetwork.java index 990f485ba75..a3376d3fd4e 100644 --- a/src/com/android/settings/ResetNetwork.java +++ b/src/com/android/settings/ResetNetwork.java @@ -43,6 +43,7 @@ import android.widget.LinearLayout; import android.widget.Spinner; import android.widget.TextView; +import com.android.internal.logging.MetricsLogger; import com.android.internal.telephony.PhoneConstants; import java.util.ArrayList; @@ -57,7 +58,7 @@ import java.util.List; * * This is the initial screen. */ -public class ResetNetwork extends Fragment { +public class ResetNetwork extends InstrumentedFragment { private static final String TAG = "ResetNetwork"; // Arbitrary to avoid conficts @@ -195,4 +196,9 @@ public class ResetNetwork extends Fragment { establishInitialState(); return mContentView; } + + @Override + protected int getMetricsCategory() { + return MetricsLogger.RESET_NETWORK; + } } diff --git a/src/com/android/settings/ResetNetworkConfirm.java b/src/com/android/settings/ResetNetworkConfirm.java index a67d2e67ee2..7c2b613686c 100644 --- a/src/com/android/settings/ResetNetworkConfirm.java +++ b/src/com/android/settings/ResetNetworkConfirm.java @@ -39,6 +39,7 @@ import android.widget.Button; import android.widget.Spinner; import android.widget.Toast; +import com.android.internal.logging.MetricsLogger; import com.android.internal.net.VpnConfig; import com.android.internal.telephony.Phone; import com.android.internal.telephony.PhoneConstants; @@ -58,7 +59,7 @@ import java.util.List; * * This is the confirmation screen. */ -public class ResetNetworkConfirm extends Fragment { +public class ResetNetworkConfirm extends InstrumentedFragment { private View mContentView; private int mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID; @@ -195,4 +196,9 @@ public class ResetNetworkConfirm extends Fragment { SubscriptionManager.INVALID_SUBSCRIPTION_ID); } } + + @Override + protected int getMetricsCategory() { + return MetricsLogger.RESET_NETWORK_CONFIRM; + } } diff --git a/src/com/android/settings/RestrictedSettingsFragment.java b/src/com/android/settings/RestrictedSettingsFragment.java index 64e1e3f51b0..c78d6e23eef 100644 --- a/src/com/android/settings/RestrictedSettingsFragment.java +++ b/src/com/android/settings/RestrictedSettingsFragment.java @@ -37,7 +37,7 @@ import android.os.UserManager; * {@link RestrictionsManager.hasRestrictionsProvider()} returns true, pass in * {@link RESTRICT_IF_OVERRIDABLE} to the constructor instead of a restrictions key. */ -public class RestrictedSettingsFragment extends SettingsPreferenceFragment { +public abstract class RestrictedSettingsFragment extends SettingsPreferenceFragment { protected static final String RESTRICT_IF_OVERRIDABLE = "restrict_if_overridable"; diff --git a/src/com/android/settings/ScreenPinningSettings.java b/src/com/android/settings/ScreenPinningSettings.java index 3f39088906c..adda01b0088 100644 --- a/src/com/android/settings/ScreenPinningSettings.java +++ b/src/com/android/settings/ScreenPinningSettings.java @@ -30,6 +30,7 @@ import android.view.View; import android.view.ViewGroup; import android.widget.Switch; +import com.android.internal.logging.MetricsLogger; import com.android.internal.widget.LockPatternUtils; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.Indexable; @@ -52,6 +53,11 @@ public class ScreenPinningSettings extends SettingsPreferenceFragment private SwitchPreference mUseScreenLock; private LockPatternUtils mLockPatternUtils; + @Override + protected int getMetricsCategory() { + return MetricsLogger.SCREEN_PINNING; + } + @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java index 4ca21402294..df217c80072 100644 --- a/src/com/android/settings/SecuritySettings.java +++ b/src/com/android/settings/SecuritySettings.java @@ -49,6 +49,7 @@ import android.telephony.SubscriptionInfo; import android.text.TextUtils; import android.util.Log; +import com.android.internal.logging.MetricsLogger; import com.android.internal.widget.LockPatternUtils; import com.android.settings.TrustAgentUtils.TrustAgentComponentInfo; import com.android.settings.search.BaseSearchIndexProvider; @@ -129,6 +130,11 @@ public class SecuritySettings extends SettingsPreferenceFragment private Intent mTrustAgentClickIntent; + @Override + protected int getMetricsCategory() { + return MetricsLogger.SECURITY; + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java index eecf7a207b4..4794608b4c3 100644 --- a/src/com/android/settings/SettingsActivity.java +++ b/src/com/android/settings/SettingsActivity.java @@ -66,6 +66,7 @@ import android.view.ViewGroup; import android.widget.Button; import android.widget.SearchView; +import com.android.internal.logging.MetricsLogger; import com.android.internal.util.ArrayUtils; import com.android.internal.util.XmlUtils; import com.android.settings.accessibility.AccessibilitySettings; @@ -787,6 +788,9 @@ public class SettingsActivity extends Activity @Override public void onResume() { super.onResume(); + if (mIsShowingDashboard) { + MetricsLogger.visible(this, MetricsLogger.MAIN_SETTINGS); + } final int newHomeActivityCount = getHomeActivitiesCount(); if (newHomeActivityCount != mHomeActivitiesCount) { @@ -815,7 +819,9 @@ public class SettingsActivity extends Activity @Override public void onPause() { super.onPause(); - + if (mIsShowingDashboard) { + MetricsLogger.hidden(this, MetricsLogger.MAIN_SETTINGS); + } unregisterReceiver(mBatteryInfoReceiver); mDynamicIndexableContentMonitor.unregister(); } diff --git a/src/com/android/settings/SettingsPreferenceFragment.java b/src/com/android/settings/SettingsPreferenceFragment.java index e87f676df33..bf41c803862 100644 --- a/src/com/android/settings/SettingsPreferenceFragment.java +++ b/src/com/android/settings/SettingsPreferenceFragment.java @@ -29,7 +29,6 @@ import android.graphics.drawable.Drawable; import android.os.Bundle; import android.preference.Preference; import android.preference.PreferenceActivity; -import android.preference.PreferenceFragment; import android.preference.PreferenceGroupAdapter; import android.text.TextUtils; import android.util.Log; @@ -46,7 +45,8 @@ import android.widget.ListView; /** * Base class for Settings fragments, with some helper functions and dialog management. */ -public class SettingsPreferenceFragment extends PreferenceFragment implements DialogCreatable { +public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceFragment + implements DialogCreatable { private static final String TAG = "SettingsPreferenceFragment"; diff --git a/src/com/android/settings/TetherSettings.java b/src/com/android/settings/TetherSettings.java index ca1e8ec5b6d..125411a5c8c 100644 --- a/src/com/android/settings/TetherSettings.java +++ b/src/com/android/settings/TetherSettings.java @@ -44,6 +44,7 @@ import android.preference.PreferenceScreen; import android.preference.SwitchPreference; import android.widget.TextView; +import com.android.internal.logging.MetricsLogger; import com.android.settings.wifi.WifiApDialog; import com.android.settings.wifi.WifiApEnabler; import com.android.settingslib.TetherUtil; @@ -106,6 +107,11 @@ public class TetherSettings extends SettingsPreferenceFragment private boolean mUnavailable; + @Override + protected int getMetricsCategory() { + return MetricsLogger.TETHER; + } + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); diff --git a/src/com/android/settings/TrustAgentSettings.java b/src/com/android/settings/TrustAgentSettings.java index 54fef362727..1427d5f004e 100644 --- a/src/com/android/settings/TrustAgentSettings.java +++ b/src/com/android/settings/TrustAgentSettings.java @@ -32,6 +32,7 @@ import android.service.trust.TrustAgentService; import android.util.ArrayMap; import android.util.ArraySet; +import com.android.internal.logging.MetricsLogger; import com.android.internal.widget.LockPatternUtils; public class TrustAgentSettings extends SettingsPreferenceFragment implements @@ -60,6 +61,11 @@ public class TrustAgentSettings extends SettingsPreferenceFragment implements } } + @Override + protected int getMetricsCategory() { + return MetricsLogger.TRUST_AGENT; + } + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); diff --git a/src/com/android/settings/TrustedCredentialsSettings.java b/src/com/android/settings/TrustedCredentialsSettings.java index 753afc79584..d3935db2384 100644 --- a/src/com/android/settings/TrustedCredentialsSettings.java +++ b/src/com/android/settings/TrustedCredentialsSettings.java @@ -51,6 +51,7 @@ import android.widget.Switch; import android.widget.TabHost; import android.widget.TextView; +import com.android.internal.logging.MetricsLogger; import com.android.internal.util.ParcelableString; import java.security.cert.CertificateEncodingException; @@ -60,7 +61,7 @@ import java.util.Collections; import java.util.List; import java.util.HashMap; -public class TrustedCredentialsSettings extends Fragment { +public class TrustedCredentialsSettings extends InstrumentedFragment { private static final String TAG = "TrustedCredentialsSettings"; @@ -68,6 +69,11 @@ public class TrustedCredentialsSettings extends Fragment { private static final String USER_ACTION = "com.android.settings.TRUSTED_CREDENTIALS_USER"; + @Override + protected int getMetricsCategory() { + return MetricsLogger.TRUSTED_CREDENTIALS; + } + private enum Tab { SYSTEM("system", R.string.trusted_credentials_system_tab, diff --git a/src/com/android/settings/UsageAccessSettings.java b/src/com/android/settings/UsageAccessSettings.java index 362d27f75f1..704c3c51bdd 100644 --- a/src/com/android/settings/UsageAccessSettings.java +++ b/src/com/android/settings/UsageAccessSettings.java @@ -43,6 +43,7 @@ import android.preference.SwitchPreference; import android.util.ArrayMap; import android.util.Log; import android.util.SparseArray; +import com.android.internal.logging.MetricsLogger; import java.util.List; import java.util.Collections; @@ -399,6 +400,11 @@ public class UsageAccessSettings extends SettingsPreferenceFragment implements R.string.category_work }; + @Override + protected int getMetricsCategory() { + return MetricsLogger.USAGE_ACCESS; + } + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); diff --git a/src/com/android/settings/WallpaperTypeSettings.java b/src/com/android/settings/WallpaperTypeSettings.java index 7b2dcbf477f..8c8da31301a 100644 --- a/src/com/android/settings/WallpaperTypeSettings.java +++ b/src/com/android/settings/WallpaperTypeSettings.java @@ -24,6 +24,7 @@ import android.content.pm.ResolveInfo; import android.os.Bundle; import android.preference.Preference; import android.preference.PreferenceScreen; +import com.android.internal.logging.MetricsLogger; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.Indexable; import com.android.settings.search.SearchIndexableRaw; @@ -33,6 +34,11 @@ import java.util.List; public class WallpaperTypeSettings extends SettingsPreferenceFragment implements Indexable { + @Override + protected int getMetricsCategory() { + return MetricsLogger.WALLPAPER_TYPE; + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/src/com/android/settings/WifiCallingSettings.java b/src/com/android/settings/WifiCallingSettings.java index 8e2c7ed9fbc..0638c94f07c 100644 --- a/src/com/android/settings/WifiCallingSettings.java +++ b/src/com/android/settings/WifiCallingSettings.java @@ -32,6 +32,7 @@ import android.widget.Switch; import com.android.ims.ImsConfig; import com.android.ims.ImsManager; +import com.android.internal.logging.MetricsLogger; import com.android.internal.telephony.imsphone.ImsPhone; import com.android.settings.widget.SwitchBar; @@ -135,6 +136,11 @@ public class WifiCallingSettings extends SettingsPreferenceFragment } }; + @Override + protected int getMetricsCategory() { + return MetricsLogger.WIFI_CALLING; + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/src/com/android/settings/WirelessSettings.java b/src/com/android/settings/WirelessSettings.java index d94b8a70392..000aa30377f 100644 --- a/src/com/android/settings/WirelessSettings.java +++ b/src/com/android/settings/WirelessSettings.java @@ -48,6 +48,7 @@ import android.text.TextUtils; import android.util.Log; import com.android.ims.ImsManager; +import com.android.internal.logging.MetricsLogger; import com.android.internal.telephony.SmsApplication; import com.android.internal.telephony.SmsApplication.SmsApplicationData; import com.android.internal.telephony.TelephonyIntents; @@ -237,6 +238,11 @@ public class WirelessSettings extends SettingsPreferenceFragment return mTm.isSmsCapable(); } + @Override + protected int getMetricsCategory() { + return MetricsLogger.WIRELESS; + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/src/com/android/settings/accessibility/AccessibilitySettings.java b/src/com/android/settings/accessibility/AccessibilitySettings.java index f0464abc842..c4b3a966024 100644 --- a/src/com/android/settings/accessibility/AccessibilitySettings.java +++ b/src/com/android/settings/accessibility/AccessibilitySettings.java @@ -43,6 +43,7 @@ import android.view.KeyCharacterMap; import android.view.KeyEvent; import android.view.accessibility.AccessibilityManager; import com.android.internal.content.PackageMonitor; +import com.android.internal.logging.MetricsLogger; import com.android.internal.view.RotationPolicy; import com.android.internal.view.RotationPolicy.RotationPolicyListener; import com.android.settings.DialogCreatable; @@ -197,6 +198,11 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements private DevicePolicyManager mDpm; + @Override + protected int getMetricsCategory() { + return MetricsLogger.ACCESSIBILITY; + } + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); diff --git a/src/com/android/settings/accessibility/CaptionPropertiesFragment.java b/src/com/android/settings/accessibility/CaptionPropertiesFragment.java index 9822fc39d80..ff9c9eb162c 100644 --- a/src/com/android/settings/accessibility/CaptionPropertiesFragment.java +++ b/src/com/android/settings/accessibility/CaptionPropertiesFragment.java @@ -35,6 +35,7 @@ import android.view.ViewGroup.LayoutParams; import android.view.accessibility.CaptioningManager; import android.view.accessibility.CaptioningManager.CaptionStyle; +import com.android.internal.logging.MetricsLogger; import com.android.internal.widget.SubtitleView; import com.android.settings.R; import com.android.settings.SettingsActivity; @@ -94,6 +95,11 @@ public class CaptionPropertiesFragment extends SettingsPreferenceFragment private boolean mShowingCustom; + @Override + protected int getMetricsCategory() { + return MetricsLogger.ACCESSIBILITY_CAPTION_PROPERTIES; + } + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); diff --git a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java index 5fd2e1835b2..60925329234 100644 --- a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java +++ b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java @@ -40,6 +40,7 @@ import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; +import com.android.internal.logging.MetricsLogger; import com.android.internal.widget.LockPatternUtils; import com.android.settings.ConfirmDeviceCredentialActivity; import com.android.settings.R; @@ -73,6 +74,11 @@ public class ToggleAccessibilityServicePreferenceFragment private int mShownDialogId; + @Override + protected int getMetricsCategory() { + return MetricsLogger.ACCESSIBILITY_SERVICE; + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java index 1f7ecf7e4db..c7ed1a18b49 100644 --- a/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java +++ b/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java @@ -24,6 +24,7 @@ import android.view.View; import android.view.accessibility.AccessibilityManager; import android.widget.Switch; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settings.widget.SwitchBar; @@ -35,6 +36,11 @@ public class ToggleDaltonizerPreferenceFragment extends ToggleFeaturePreferenceF private ListPreference mType; + @Override + protected int getMetricsCategory() { + return MetricsLogger.ACCESSIBILITY_TOGGLE_DALTONIZER; + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/src/com/android/settings/accessibility/ToggleGlobalGesturePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleGlobalGesturePreferenceFragment.java index 7fb1625e0a6..740f8c6db4b 100644 --- a/src/com/android/settings/accessibility/ToggleGlobalGesturePreferenceFragment.java +++ b/src/com/android/settings/accessibility/ToggleGlobalGesturePreferenceFragment.java @@ -18,6 +18,7 @@ package com.android.settings.accessibility; import android.provider.Settings; +import com.android.internal.logging.MetricsLogger; import com.android.settings.widget.ToggleSwitch; import com.android.settings.widget.ToggleSwitch.OnBeforeCheckedChangeListener; @@ -42,4 +43,9 @@ public class ToggleGlobalGesturePreferenceFragment } }); } + + @Override + protected int getMetricsCategory() { + return MetricsLogger.ACCESSIBILITY_TOGGLE_GLOBAL_GESTURE; + } } diff --git a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java index 4650c06f83f..44355c66afa 100644 --- a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java +++ b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java @@ -18,6 +18,7 @@ package com.android.settings.accessibility; import android.provider.Settings; +import com.android.internal.logging.MetricsLogger; import com.android.settings.widget.ToggleSwitch; import com.android.settings.widget.ToggleSwitch.OnBeforeCheckedChangeListener; @@ -42,4 +43,9 @@ public class ToggleScreenMagnificationPreferenceFragment } }); } + + @Override + protected int getMetricsCategory() { + return MetricsLogger.ACCESSIBILITY_TOGGLE_SCREEN_MAGNIFICATION; + } } diff --git a/src/com/android/settings/accounts/AccountPreferenceBase.java b/src/com/android/settings/accounts/AccountPreferenceBase.java index bb6087146f4..a34be2266e1 100644 --- a/src/com/android/settings/accounts/AccountPreferenceBase.java +++ b/src/com/android/settings/accounts/AccountPreferenceBase.java @@ -41,7 +41,7 @@ import com.android.settings.Utils; import java.util.ArrayList; import java.util.Date; -class AccountPreferenceBase extends SettingsPreferenceFragment +abstract class AccountPreferenceBase extends SettingsPreferenceFragment implements AuthenticatorHelper.OnAccountsUpdateListener { protected static final String TAG = "AccountSettings"; diff --git a/src/com/android/settings/accounts/AccountSettings.java b/src/com/android/settings/accounts/AccountSettings.java index 017eb86e026..1bf83f3cc46 100644 --- a/src/com/android/settings/accounts/AccountSettings.java +++ b/src/com/android/settings/accounts/AccountSettings.java @@ -46,6 +46,7 @@ import android.preference.PreferenceGroup; import android.preference.PreferenceCategory; import android.preference.PreferenceScreen; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; import com.android.settings.Utils; @@ -114,6 +115,11 @@ public class AccountSettings extends SettingsPreferenceFragment public UserInfo userInfo; } + @Override + protected int getMetricsCategory() { + return MetricsLogger.ACCOUNT; + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/src/com/android/settings/accounts/AccountSyncSettings.java b/src/com/android/settings/accounts/AccountSyncSettings.java index 382fa3329f4..2de8e4abe1e 100644 --- a/src/com/android/settings/accounts/AccountSyncSettings.java +++ b/src/com/android/settings/accounts/AccountSyncSettings.java @@ -16,6 +16,7 @@ package com.android.settings.accounts; +import com.android.internal.logging.MetricsLogger; import com.google.android.collect.Lists; import android.accounts.Account; @@ -140,6 +141,11 @@ public class AccountSyncSettings extends AccountPreferenceBase { return dialog; } + @Override + protected int getMetricsCategory() { + return MetricsLogger.ACCOUNTS_ACCOUNT_SYNC; + } + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); diff --git a/src/com/android/settings/accounts/ChooseAccountActivity.java b/src/com/android/settings/accounts/ChooseAccountActivity.java index 5e7e81e16d8..c4dace8d1d1 100644 --- a/src/com/android/settings/accounts/ChooseAccountActivity.java +++ b/src/com/android/settings/accounts/ChooseAccountActivity.java @@ -34,7 +34,9 @@ import android.preference.PreferenceGroup; import android.preference.PreferenceScreen; import android.util.Log; +import com.android.internal.logging.MetricsLogger; import com.android.internal.util.CharSequences; +import com.android.settings.InstrumentedPreferenceActivity; import com.android.settings.R; import com.android.settings.Utils; @@ -54,7 +56,7 @@ import static android.content.Intent.EXTRA_USER; * An extra {@link UserHandle} can be specified in the intent as {@link EXTRA_USER}, if the user for * which the action needs to be performed is different to the one the Settings App will run in. */ -public class ChooseAccountActivity extends PreferenceActivity { +public class ChooseAccountActivity extends InstrumentedPreferenceActivity { private static final String TAG = "ChooseAccountActivity"; private String[] mAuthorities; @@ -88,6 +90,11 @@ public class ChooseAccountActivity extends PreferenceActivity { } } + @Override + protected int getMetricsCategory() { + return MetricsLogger.ACCOUNTS_CHOOSE_ACCOUNT_ACTIVITY; + } + @Override protected void onCreate(Bundle icicle) { super.onCreate(icicle); diff --git a/src/com/android/settings/accounts/ManageAccountsSettings.java b/src/com/android/settings/accounts/ManageAccountsSettings.java index 85ecd90a255..bbb8c149cf3 100644 --- a/src/com/android/settings/accounts/ManageAccountsSettings.java +++ b/src/com/android/settings/accounts/ManageAccountsSettings.java @@ -47,6 +47,7 @@ import android.view.ViewGroup; import android.widget.ListView; import android.widget.TextView; +import com.android.internal.logging.MetricsLogger; import com.android.settings.AccountPreference; import com.android.settings.R; import com.android.settings.SettingsActivity; @@ -86,6 +87,11 @@ public class ManageAccountsSettings extends AccountPreferenceBase // mFirstAccount is used for the injected preferences private Account mFirstAccount; + @Override + protected int getMetricsCategory() { + return MetricsLogger.ACCOUNTS_MANAGE_ACCOUNTS; + } + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); diff --git a/src/com/android/settings/applications/AdvancedAppSettings.java b/src/com/android/settings/applications/AdvancedAppSettings.java index 9c94525c14b..28ac1d09055 100644 --- a/src/com/android/settings/applications/AdvancedAppSettings.java +++ b/src/com/android/settings/applications/AdvancedAppSettings.java @@ -41,6 +41,7 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; import com.android.settings.applications.ApplicationsState.AppEntry; @@ -126,6 +127,11 @@ public class AdvancedAppSettings extends SettingsPreferenceFragment implements C } } + @Override + protected int getMetricsCategory() { + return MetricsLogger.APPLICATIONS_ADVANCED; + } + @Override public void onResume() { super.onResume(); diff --git a/src/com/android/settings/applications/AppInfoBase.java b/src/com/android/settings/applications/AppInfoBase.java index ac061768bb0..a7dc5008237 100644 --- a/src/com/android/settings/applications/AppInfoBase.java +++ b/src/com/android/settings/applications/AppInfoBase.java @@ -35,12 +35,13 @@ import android.os.UserManager; import android.preference.PreferenceFragment; import android.util.Log; +import com.android.settings.InstrumentedPreferenceFragment; import com.android.settings.SettingsActivity; import com.android.settings.applications.ApplicationsState.AppEntry; import java.util.ArrayList; -public abstract class AppInfoBase extends PreferenceFragment +public abstract class AppInfoBase extends InstrumentedPreferenceFragment implements ApplicationsState.Callbacks { public static final String ARG_PACKAGE_NAME = "package"; diff --git a/src/com/android/settings/applications/AppLaunchSettings.java b/src/com/android/settings/applications/AppLaunchSettings.java index c31d8ad00b6..ffb84ef1d32 100644 --- a/src/com/android/settings/applications/AppLaunchSettings.java +++ b/src/com/android/settings/applications/AppLaunchSettings.java @@ -37,6 +37,7 @@ import android.view.ViewGroup; import android.widget.Button; import android.widget.TextView; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settings.Utils; import com.android.settings.applications.ApplicationsState.AppEntry; @@ -187,4 +188,8 @@ public class AppLaunchSettings extends AppInfoWithHeader implements OnClickListe : R.string.launch_defaults_none); } + @Override + protected int getMetricsCategory() { + return MetricsLogger.APPLICATIONS_APP_LAUNCH; + } } diff --git a/src/com/android/settings/applications/AppOpsDetails.java b/src/com/android/settings/applications/AppOpsDetails.java index d9dec19584e..88591d77678 100644 --- a/src/com/android/settings/applications/AppOpsDetails.java +++ b/src/com/android/settings/applications/AppOpsDetails.java @@ -38,13 +38,15 @@ import android.widget.LinearLayout; import android.widget.Switch; import android.widget.TextView; +import com.android.internal.logging.MetricsLogger; +import com.android.settings.InstrumentedFragment; import com.android.settings.R; import com.android.settings.SettingsActivity; import com.android.settings.Utils; import java.util.List; -public class AppOpsDetails extends Fragment { +public class AppOpsDetails extends InstrumentedFragment { static final String TAG = "AppOpsDetails"; public static final String ARG_PACKAGE_NAME = "package"; @@ -191,6 +193,11 @@ public class AppOpsDetails extends Fragment { return view; } + @Override + protected int getMetricsCategory() { + return MetricsLogger.APP_OPS_DETAILS; + } + @Override public void onResume() { super.onResume(); diff --git a/src/com/android/settings/applications/AppOpsSummary.java b/src/com/android/settings/applications/AppOpsSummary.java index 382caed951c..782b8fb42dd 100644 --- a/src/com/android/settings/applications/AppOpsSummary.java +++ b/src/com/android/settings/applications/AppOpsSummary.java @@ -28,9 +28,11 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import com.android.internal.logging.MetricsLogger; +import com.android.settings.InstrumentedFragment; import com.android.settings.R; -public class AppOpsSummary extends Fragment { +public class AppOpsSummary extends InstrumentedFragment { // layout inflater object used to inflate views private LayoutInflater mInflater; @@ -49,6 +51,11 @@ public class AppOpsSummary extends Fragment { int mCurPos; + @Override + protected int getMetricsCategory() { + return MetricsLogger.APP_OPS_SUMMARY; + } + class MyPagerAdapter extends FragmentPagerAdapter implements ViewPager.OnPageChangeListener { public MyPagerAdapter(FragmentManager fm) { diff --git a/src/com/android/settings/applications/AppPermissionSettings.java b/src/com/android/settings/applications/AppPermissionSettings.java index 496faf5dd63..1776b3a42f4 100644 --- a/src/com/android/settings/applications/AppPermissionSettings.java +++ b/src/com/android/settings/applications/AppPermissionSettings.java @@ -35,6 +35,7 @@ import android.widget.LinearLayout; import android.widget.Spinner; import android.widget.TextView; +import com.android.internal.logging.MetricsLogger; import com.android.internal.telephony.ISms; import com.android.internal.telephony.SmsUsageMonitor; import com.android.settings.R; @@ -183,6 +184,11 @@ public class AppPermissionSettings extends AppInfoWithHeader { count, count); } + @Override + protected int getMetricsCategory() { + return MetricsLogger.APPLICATIONS_APP_PERMISSION; + } + private static class PremiumSmsSelectionListener implements AdapterView.OnItemSelectedListener { private final String mPackageName; private final ISms mSmsManager; diff --git a/src/com/android/settings/applications/AppStorageSettings.java b/src/com/android/settings/applications/AppStorageSettings.java index 2f65a76793f..4b80fdd9db2 100644 --- a/src/com/android/settings/applications/AppStorageSettings.java +++ b/src/com/android/settings/applications/AppStorageSettings.java @@ -37,6 +37,7 @@ import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settings.Utils; import com.android.settings.applications.ApplicationsState.AppEntry; @@ -487,6 +488,11 @@ public class AppStorageSettings extends AppInfoWithHeader return Formatter.formatFileSize(context, size); } + @Override + protected int getMetricsCategory() { + return MetricsLogger.APPLICATIONS_APP_STORAGE; + } + class ClearCacheObserver extends IPackageDataObserver.Stub { public void onRemoveCompleted(final String packageName, final boolean succeeded) { final Message msg = mHandler.obtainMessage(MSG_CLEAR_CACHE); diff --git a/src/com/android/settings/applications/InstalledAppDetails.java b/src/com/android/settings/applications/InstalledAppDetails.java index 0fffb7e8a0a..9f6c9695357 100755 --- a/src/com/android/settings/applications/InstalledAppDetails.java +++ b/src/com/android/settings/applications/InstalledAppDetails.java @@ -56,6 +56,7 @@ import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; +import com.android.internal.logging.MetricsLogger; import com.android.settings.DataUsageSummary; import com.android.settings.DataUsageSummary.AppItem; import com.android.settings.R; @@ -222,6 +223,11 @@ public class InstalledAppDetails extends AppInfoBase } } + @Override + protected int getMetricsCategory() { + return MetricsLogger.APPLICATIONS_INSTALLED_APP_DETAILS; + } + @Override public void onResume() { super.onResume(); diff --git a/src/com/android/settings/applications/ManageApplications.java b/src/com/android/settings/applications/ManageApplications.java index a034964494d..84b976330e1 100644 --- a/src/com/android/settings/applications/ManageApplications.java +++ b/src/com/android/settings/applications/ManageApplications.java @@ -52,6 +52,8 @@ import android.widget.ListView; import android.widget.Spinner; import com.android.internal.content.PackageHelper; +import com.android.internal.logging.MetricsLogger; +import com.android.settings.InstrumentedFragment; import com.android.settings.R; import com.android.settings.Settings.AllApplicationsActivity; import com.android.settings.Settings.NotificationAppListActivity; @@ -113,8 +115,8 @@ final class CanBeOnSdCardChecker { * can be launched through Settings or via the ACTION_MANAGE_PACKAGE_STORAGE * intent. */ -public class ManageApplications extends Fragment implements OnItemClickListener, - OnItemSelectedListener { +public class ManageApplications extends InstrumentedFragment + implements OnItemClickListener, OnItemSelectedListener { static final String TAG = "ManageApplications"; static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG); @@ -319,6 +321,20 @@ public class ManageApplications extends Fragment implements OnItemClickListener, return FILTER_APPS_ALL; } + @Override + protected int getMetricsCategory() { + switch (mListType) { + case LIST_TYPE_MAIN: + return MetricsLogger.MANAGE_APPLICATIONS; + case LIST_TYPE_ALL: + return MetricsLogger.MANAGE_APPLICATIONS_ALL; + case LIST_TYPE_NOTIFICATION: + return MetricsLogger.MANAGE_APPLICATIONS_NOTIFICATIONS; + default: + return MetricsLogger.VIEW_UNKNOWN; + } + } + @Override public void onResume() { super.onResume(); diff --git a/src/com/android/settings/applications/ProcessStatsDetail.java b/src/com/android/settings/applications/ProcessStatsDetail.java index f0e76d4b661..1e7cf09c0d1 100644 --- a/src/com/android/settings/applications/ProcessStatsDetail.java +++ b/src/com/android/settings/applications/ProcessStatsDetail.java @@ -17,7 +17,6 @@ package com.android.settings.applications; import android.app.ActivityManager; -import android.app.Fragment; import android.app.admin.DevicePolicyManager; import android.content.Context; import android.content.pm.ApplicationInfo; @@ -32,6 +31,8 @@ import android.widget.Button; import android.widget.ImageView; import android.widget.ProgressBar; import android.widget.TextView; +import com.android.internal.logging.MetricsLogger; +import com.android.settings.InstrumentedFragment; import com.android.settings.R; import com.android.settings.Utils; @@ -42,7 +43,7 @@ import java.util.HashMap; import static com.android.settings.Utils.prepareCustomPreferencesList; -public class ProcessStatsDetail extends Fragment implements Button.OnClickListener { +public class ProcessStatsDetail extends InstrumentedFragment implements Button.OnClickListener { private static final String TAG = "ProcessStatsDetail"; public static final int ACTION_FORCE_STOP = 1; @@ -97,6 +98,11 @@ public class ProcessStatsDetail extends Fragment implements Button.OnClickListen return view; } + @Override + protected int getMetricsCategory() { + return MetricsLogger.APPLICATIONS_PROCESS_STATS_DETAIL; + } + @Override public void onResume() { super.onResume(); diff --git a/src/com/android/settings/applications/ProcessStatsMemDetail.java b/src/com/android/settings/applications/ProcessStatsMemDetail.java index ab7dbdbe4d4..7ae28240082 100644 --- a/src/com/android/settings/applications/ProcessStatsMemDetail.java +++ b/src/com/android/settings/applications/ProcessStatsMemDetail.java @@ -16,7 +16,6 @@ package com.android.settings.applications; -import android.app.Fragment; import android.os.Bundle; import android.text.format.Formatter; import android.view.LayoutInflater; @@ -25,11 +24,13 @@ import android.view.ViewGroup; import android.widget.ProgressBar; import android.widget.TextView; import com.android.internal.app.ProcessStats; +import com.android.internal.logging.MetricsLogger; +import com.android.settings.InstrumentedFragment; import com.android.settings.R; import static com.android.settings.Utils.prepareCustomPreferencesList; -public class ProcessStatsMemDetail extends Fragment { +public class ProcessStatsMemDetail extends InstrumentedFragment { public static final String EXTRA_MEM_TIMES = "mem_times"; public static final String EXTRA_MEM_STATE_WEIGHTS = "mem_state_weights"; public static final String EXTRA_MEM_CACHED_WEIGHT = "mem_cached_weight"; @@ -83,6 +84,11 @@ public class ProcessStatsMemDetail extends Fragment { return view; } + @Override + protected int getMetricsCategory() { + return MetricsLogger.APPLICATIONS_PROCESS_STATS_MEM_DETAIL; + } + @Override public void onPause() { super.onPause(); diff --git a/src/com/android/settings/applications/ProcessStatsUi.java b/src/com/android/settings/applications/ProcessStatsUi.java index bf1f6669dd5..45e24dd5c3e 100644 --- a/src/com/android/settings/applications/ProcessStatsUi.java +++ b/src/com/android/settings/applications/ProcessStatsUi.java @@ -41,7 +41,9 @@ import android.view.SubMenu; import com.android.internal.app.IProcessStats; import com.android.internal.app.ProcessMap; import com.android.internal.app.ProcessStats; +import com.android.internal.logging.MetricsLogger; import com.android.internal.util.MemInfoReader; +import com.android.settings.InstrumentedPreferenceFragment; import com.android.settings.R; import com.android.settings.SettingsActivity; import com.android.settings.Utils; @@ -53,7 +55,7 @@ import java.util.Collections; import java.util.Comparator; import java.util.HashMap; -public class ProcessStatsUi extends PreferenceFragment +public class ProcessStatsUi extends InstrumentedPreferenceFragment implements LinearColorBar.OnRegionTappedListener { static final String TAG = "ProcessStatsUi"; static final boolean DEBUG = false; @@ -184,14 +186,14 @@ public class ProcessStatsUi extends PreferenceFragment } @Override - public void onResume() { - super.onResume(); - refreshStats(); + protected int getMetricsCategory() { + return MetricsLogger.APPLICATIONS_PROCESS_STATS_UI; } @Override - public void onPause() { - super.onPause(); + public void onResume() { + super.onResume(); + refreshStats(); } @Override diff --git a/src/com/android/settings/applications/RunningServiceDetails.java b/src/com/android/settings/applications/RunningServiceDetails.java index 45cad3d298b..8f074fde2b9 100644 --- a/src/com/android/settings/applications/RunningServiceDetails.java +++ b/src/com/android/settings/applications/RunningServiceDetails.java @@ -33,6 +33,8 @@ import android.view.ViewGroup; import android.widget.Button; import android.widget.TextView; +import com.android.internal.logging.MetricsLogger; +import com.android.settings.InstrumentedFragment; import com.android.settings.R; import com.android.settings.Utils; @@ -43,7 +45,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Collections; -public class RunningServiceDetails extends Fragment +public class RunningServiceDetails extends InstrumentedFragment implements RunningState.OnRefreshUiListener { static final String TAG = "RunningServicesDetails"; @@ -532,6 +534,11 @@ public class RunningServiceDetails extends Fragment mState.pause(); } + @Override + protected int getMetricsCategory() { + return MetricsLogger.RUNNING_SERVICE_DETAILS; + } + @Override public void onResume() { super.onResume(); diff --git a/src/com/android/settings/bluetooth/BluetoothSettings.java b/src/com/android/settings/bluetooth/BluetoothSettings.java index c85e515ad71..b1eed512f1e 100755 --- a/src/com/android/settings/bluetooth/BluetoothSettings.java +++ b/src/com/android/settings/bluetooth/BluetoothSettings.java @@ -44,6 +44,7 @@ import android.view.WindowManager; import android.widget.EditText; import android.widget.TextView; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settings.SettingsActivity; import com.android.settings.search.BaseSearchIndexProvider; @@ -122,6 +123,11 @@ public final class BluetoothSettings extends DeviceListPreferenceFragment implem mIntentFilter = new IntentFilter(BluetoothAdapter.ACTION_LOCAL_NAME_CHANGED); } + @Override + protected int getMetricsCategory() { + return MetricsLogger.BLUETOOTH; + } + @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); diff --git a/src/com/android/settings/bluetooth/DevicePickerFragment.java b/src/com/android/settings/bluetooth/DevicePickerFragment.java index 809ca965255..9441626966f 100644 --- a/src/com/android/settings/bluetooth/DevicePickerFragment.java +++ b/src/com/android/settings/bluetooth/DevicePickerFragment.java @@ -29,6 +29,7 @@ import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settingslib.bluetooth.CachedBluetoothDevice; @@ -83,6 +84,11 @@ public final class DevicePickerFragment extends DeviceListPreferenceFragment { return super.onOptionsItemSelected(item); } + @Override + protected int getMetricsCategory() { + return MetricsLogger.BLUETOOTH_DEVICE_PICKER; + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/src/com/android/settings/bluetooth/DeviceProfilesSettings.java b/src/com/android/settings/bluetooth/DeviceProfilesSettings.java index e563e644528..1df6275f2a3 100755 --- a/src/com/android/settings/bluetooth/DeviceProfilesSettings.java +++ b/src/com/android/settings/bluetooth/DeviceProfilesSettings.java @@ -30,6 +30,7 @@ import android.text.Html; import android.text.TextUtils; import android.util.Log; import android.widget.EditText; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; import com.android.settingslib.bluetooth.CachedBluetoothDevice; @@ -68,6 +69,11 @@ public final class DeviceProfilesSettings extends SettingsPreferenceFragment private AlertDialog mDisconnectDialog; private boolean mProfileGroupIsRemoved; + @Override + protected int getMetricsCategory() { + return MetricsLogger.BLUETOOTH_DEVICE_PROFILES; + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/src/com/android/settings/dashboard/DashboardSummary.java b/src/com/android/settings/dashboard/DashboardSummary.java index 8a9286036c8..ae1b6d025ac 100644 --- a/src/com/android/settings/dashboard/DashboardSummary.java +++ b/src/com/android/settings/dashboard/DashboardSummary.java @@ -34,12 +34,15 @@ import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; + +import com.android.internal.logging.MetricsLogger; +import com.android.settings.InstrumentedFragment; import com.android.settings.R; import com.android.settings.SettingsActivity; import java.util.List; -public class DashboardSummary extends Fragment { +public class DashboardSummary extends InstrumentedFragment { private static final String LOG_TAG = "DashboardSummary"; private LayoutInflater mLayoutInflater; @@ -66,6 +69,11 @@ public class DashboardSummary extends Fragment { } private HomePackageReceiver mHomePackageReceiver = new HomePackageReceiver(); + @Override + protected int getMetricsCategory() { + return MetricsLogger.DASHBOARD_SUMMARY; + } + @Override public void onResume() { super.onResume(); diff --git a/src/com/android/settings/dashboard/SearchResultsSummary.java b/src/com/android/settings/dashboard/SearchResultsSummary.java index 0a43ce9ce7f..af7cf4a26fb 100644 --- a/src/com/android/settings/dashboard/SearchResultsSummary.java +++ b/src/com/android/settings/dashboard/SearchResultsSummary.java @@ -16,7 +16,6 @@ package com.android.settings.dashboard; -import android.app.Fragment; import android.content.ComponentName; import android.content.Context; import android.content.Intent; @@ -37,6 +36,8 @@ import android.widget.ImageView; import android.widget.ListView; import android.widget.SearchView; import android.widget.TextView; +import com.android.internal.logging.MetricsLogger; +import com.android.settings.InstrumentedFragment; import com.android.settings.R; import com.android.settings.SettingsActivity; import com.android.settings.Utils; @@ -44,7 +45,7 @@ import com.android.settings.search.Index; import java.util.HashMap; -public class SearchResultsSummary extends Fragment { +public class SearchResultsSummary extends InstrumentedFragment { private static final String LOG_TAG = "SearchResultsSummary"; @@ -244,6 +245,11 @@ public class SearchResultsSummary extends Fragment { return view; } + @Override + protected int getMetricsCategory() { + return MetricsLogger.DASHBOARD_SEARCH_RESULTS; + } + @Override public void onResume() { super.onResume(); diff --git a/src/com/android/settings/deviceinfo/ImeiInformation.java b/src/com/android/settings/deviceinfo/ImeiInformation.java index 37b6c1d19f6..c4f4bbbabe7 100644 --- a/src/com/android/settings/deviceinfo/ImeiInformation.java +++ b/src/com/android/settings/deviceinfo/ImeiInformation.java @@ -15,6 +15,7 @@ */ package com.android.settings.deviceinfo; +import com.android.internal.logging.MetricsLogger; import com.android.internal.telephony.Phone; import com.android.internal.telephony.PhoneConstants; import com.android.internal.telephony.PhoneFactory; @@ -27,9 +28,10 @@ import android.preference.PreferenceScreen; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.text.TextUtils; +import com.android.settings.InstrumentedPreferenceActivity; import com.android.settings.R; -public class ImeiInformation extends PreferenceActivity { +public class ImeiInformation extends InstrumentedPreferenceActivity { private static final String KEY_PRL_VERSION = "prl_version"; private static final String KEY_MIN_NUMBER = "min_number"; @@ -151,4 +153,8 @@ public class ImeiInformation extends PreferenceActivity { } } + @Override + protected int getMetricsCategory() { + return MetricsLogger.DEVICEINFO_IMEI_INFORMATION; + } } diff --git a/src/com/android/settings/deviceinfo/Memory.java b/src/com/android/settings/deviceinfo/Memory.java index 1958f383e4c..a07f7c2ccfc 100644 --- a/src/com/android/settings/deviceinfo/Memory.java +++ b/src/com/android/settings/deviceinfo/Memory.java @@ -47,6 +47,7 @@ import android.view.MenuInflater; import android.view.MenuItem; import android.widget.Toast; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settings.SettingsActivity; import com.android.settings.SettingsPreferenceFragment; @@ -84,6 +85,11 @@ public class Memory extends SettingsPreferenceFragment implements Indexable { private ArrayList mCategories = Lists.newArrayList(); + @Override + protected int getMetricsCategory() { + return MetricsLogger.DEVICEINFO_MEMORY; + } + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); diff --git a/src/com/android/settings/deviceinfo/SimStatus.java b/src/com/android/settings/deviceinfo/SimStatus.java index e50d0d926a5..c52f385a199 100644 --- a/src/com/android/settings/deviceinfo/SimStatus.java +++ b/src/com/android/settings/deviceinfo/SimStatus.java @@ -36,9 +36,11 @@ import android.telephony.TelephonyManager; import android.text.TextUtils; import android.util.Log; +import com.android.internal.logging.MetricsLogger; import com.android.internal.telephony.DefaultPhoneNotifier; import com.android.internal.telephony.Phone; import com.android.internal.telephony.PhoneFactory; +import com.android.settings.InstrumentedPreferenceActivity; import com.android.settings.R; import com.android.settings.Utils; @@ -65,7 +67,7 @@ import java.util.List; * # Signal Strength * */ -public class SimStatus extends PreferenceActivity { +public class SimStatus extends InstrumentedPreferenceActivity { private static final String TAG = "SimStatus"; private static final String KEY_DATA_STATE = "data_state"; @@ -169,6 +171,11 @@ public class SimStatus extends PreferenceActivity { updatePhoneInfos(); } + @Override + protected int getMetricsCategory() { + return MetricsLogger.DEVICEINFO_SIM_STATUS; + } + @Override protected void onResume() { super.onResume(); diff --git a/src/com/android/settings/deviceinfo/Status.java b/src/com/android/settings/deviceinfo/Status.java index 646792cd659..a78d06cbd70 100644 --- a/src/com/android/settings/deviceinfo/Status.java +++ b/src/com/android/settings/deviceinfo/Status.java @@ -41,7 +41,9 @@ import android.widget.AdapterView; import android.widget.ListAdapter; import android.widget.Toast; +import com.android.internal.logging.MetricsLogger; import com.android.internal.util.ArrayUtils; +import com.android.settings.InstrumentedPreferenceActivity; import com.android.settings.R; import com.android.settings.Utils; @@ -55,7 +57,7 @@ import java.lang.ref.WeakReference; * # XMPP/buzz/tickle status : TODO * */ -public class Status extends PreferenceActivity { +public class Status extends InstrumentedPreferenceActivity { private static final String KEY_BATTERY_STATUS = "battery_status"; private static final String KEY_BATTERY_LEVEL = "battery_level"; @@ -231,6 +233,11 @@ public class Status extends PreferenceActivity { }); } + @Override + protected int getMetricsCategory() { + return MetricsLogger.DEVICEINFO_STATUS; + } + @Override protected void onResume() { super.onResume(); diff --git a/src/com/android/settings/deviceinfo/UsbSettings.java b/src/com/android/settings/deviceinfo/UsbSettings.java index c3b3f96168a..d8a675c3aa5 100644 --- a/src/com/android/settings/deviceinfo/UsbSettings.java +++ b/src/com/android/settings/deviceinfo/UsbSettings.java @@ -28,6 +28,7 @@ import android.preference.Preference; import android.preference.PreferenceScreen; import android.util.Log; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; import com.android.settings.Utils; @@ -81,6 +82,11 @@ public class UsbSettings extends SettingsPreferenceFragment { return root; } + @Override + protected int getMetricsCategory() { + return MetricsLogger.DEVICEINFO_USB; + } + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); diff --git a/src/com/android/settings/fuelgauge/BatteryHistoryDetail.java b/src/com/android/settings/fuelgauge/BatteryHistoryDetail.java index 63e4e13e265..c9770639168 100644 --- a/src/com/android/settings/fuelgauge/BatteryHistoryDetail.java +++ b/src/com/android/settings/fuelgauge/BatteryHistoryDetail.java @@ -16,7 +16,6 @@ package com.android.settings.fuelgauge; -import android.app.Fragment; import android.content.Intent; import android.os.BatteryStats; import android.os.Bundle; @@ -24,10 +23,12 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import com.android.internal.logging.MetricsLogger; import com.android.internal.os.BatteryStatsHelper; +import com.android.settings.InstrumentedFragment; import com.android.settings.R; -public class BatteryHistoryDetail extends Fragment { +public class BatteryHistoryDetail extends InstrumentedFragment { public static final String EXTRA_STATS = "stats"; public static final String EXTRA_BROADCAST = "broadcast"; @@ -50,4 +51,9 @@ public class BatteryHistoryDetail extends Fragment { chart.setStats(mStats, mBatteryBroadcast); return view; } + + @Override + protected int getMetricsCategory() { + return MetricsLogger.FUELGAUGE_BATTERY_HISTORY_DETAIL; + } } diff --git a/src/com/android/settings/fuelgauge/BatterySaverSettings.java b/src/com/android/settings/fuelgauge/BatterySaverSettings.java index e6b90a76bcc..d8a9ca0221d 100644 --- a/src/com/android/settings/fuelgauge/BatterySaverSettings.java +++ b/src/com/android/settings/fuelgauge/BatterySaverSettings.java @@ -34,6 +34,7 @@ import android.provider.Settings.Global; import android.util.Log; import android.widget.Switch; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settings.SettingsActivity; import com.android.settings.SettingsPreferenceFragment; @@ -60,6 +61,11 @@ public class BatterySaverSettings extends SettingsPreferenceFragment private boolean mValidListener; private PowerManager mPowerManager; + @Override + protected int getMetricsCategory() { + return MetricsLogger.FUELGAUGE_BATTERY_SAVER; + } + @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); diff --git a/src/com/android/settings/fuelgauge/PowerUsageDetail.java b/src/com/android/settings/fuelgauge/PowerUsageDetail.java index e3c8dabfd13..d7965703d4f 100644 --- a/src/com/android/settings/fuelgauge/PowerUsageDetail.java +++ b/src/com/android/settings/fuelgauge/PowerUsageDetail.java @@ -47,10 +47,12 @@ import android.widget.ImageView; import android.widget.ProgressBar; import android.widget.TextView; +import com.android.internal.logging.MetricsLogger; import com.android.internal.os.BatterySipper; import com.android.internal.os.BatteryStatsHelper; import com.android.internal.util.FastPrintWriter; import com.android.settings.DisplaySettings; +import com.android.settings.InstrumentedFragment; import com.android.settings.R; import com.android.settings.SettingsActivity; import com.android.settings.Utils; @@ -64,7 +66,7 @@ import java.io.PrintWriter; import java.io.StringWriter; import java.io.Writer; -public class PowerUsageDetail extends Fragment implements Button.OnClickListener { +public class PowerUsageDetail extends InstrumentedFragment implements Button.OnClickListener { // Note: Must match the sequence of the DrainType private static int[] sDrainTypeDesciptions = new int[] { @@ -344,6 +346,11 @@ public class PowerUsageDetail extends Fragment implements Button.OnClickListener return view; } + @Override + protected int getMetricsCategory() { + return MetricsLogger.FUELGAUGE_POWER_USAGE_DETAIL; + } + @Override public void onResume() { super.onResume(); diff --git a/src/com/android/settings/fuelgauge/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/PowerUsageSummary.java index 5ee4fa05838..dbc78c2d1ef 100644 --- a/src/com/android/settings/fuelgauge/PowerUsageSummary.java +++ b/src/com/android/settings/fuelgauge/PowerUsageSummary.java @@ -38,10 +38,12 @@ import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; +import com.android.internal.logging.MetricsLogger; import com.android.internal.os.BatterySipper; import com.android.internal.os.BatteryStatsHelper; import com.android.internal.os.PowerProfile; import com.android.settings.HelpUtils; +import com.android.settings.InstrumentedPreferenceFragment; import com.android.settings.R; import com.android.settings.SettingsActivity; @@ -51,7 +53,7 @@ import java.util.List; * Displays a list of apps and subsystems that consume power, ordered by how much power was * consumed since the last time it was unplugged. */ -public class PowerUsageSummary extends PreferenceFragment { +public class PowerUsageSummary extends InstrumentedPreferenceFragment { private static final boolean DEBUG = false; @@ -119,6 +121,11 @@ public class PowerUsageSummary extends PreferenceFragment { mStatsHelper.clearStats(); } + @Override + protected int getMetricsCategory() { + return MetricsLogger.FUELGAUGE_POWER_USAGE_SUMMARY; + } + @Override public void onResume() { super.onResume(); diff --git a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java index 20a273feda8..1b2f5679a93 100644 --- a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java +++ b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java @@ -51,6 +51,7 @@ import android.view.textservice.SpellCheckerInfo; import android.view.textservice.TextServicesManager; import com.android.internal.app.LocalePicker; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settings.Settings.KeyboardLayoutPickerActivity; import com.android.settings.SettingsActivity; @@ -103,6 +104,11 @@ public class InputMethodAndLanguageSettings extends SettingsPreferenceFragment private InputMethodSettingValuesWrapper mInputMethodSettingValues; private DevicePolicyManager mDpm; + @Override + protected int getMetricsCategory() { + return MetricsLogger.INPUTMETHOD_LANGUAGE; + } + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); diff --git a/src/com/android/settings/inputmethod/InputMethodAndSubtypeEnabler.java b/src/com/android/settings/inputmethod/InputMethodAndSubtypeEnabler.java index 146f5124227..c73ccefe66d 100644 --- a/src/com/android/settings/inputmethod/InputMethodAndSubtypeEnabler.java +++ b/src/com/android/settings/inputmethod/InputMethodAndSubtypeEnabler.java @@ -31,6 +31,7 @@ import android.view.inputmethod.InputMethodInfo; import android.view.inputmethod.InputMethodManager; import android.view.inputmethod.InputMethodSubtype; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; @@ -52,6 +53,11 @@ public class InputMethodAndSubtypeEnabler extends SettingsPreferenceFragment private List mInputMethodInfoList; private Collator mCollator; + @Override + protected int getMetricsCategory() { + return MetricsLogger.INPUTMETHOD_SUBTYPE_ENABLER; + } + @Override public void onCreate(final Bundle icicle) { super.onCreate(icicle); diff --git a/src/com/android/settings/inputmethod/KeyboardLayoutPickerFragment.java b/src/com/android/settings/inputmethod/KeyboardLayoutPickerFragment.java index 3562cb4b578..69586b92571 100644 --- a/src/com/android/settings/inputmethod/KeyboardLayoutPickerFragment.java +++ b/src/com/android/settings/inputmethod/KeyboardLayoutPickerFragment.java @@ -16,6 +16,7 @@ package com.android.settings.inputmethod; +import com.android.internal.logging.MetricsLogger; import com.android.settings.SettingsPreferenceFragment; import android.content.Context; @@ -48,6 +49,11 @@ public class KeyboardLayoutPickerFragment extends SettingsPreferenceFragment */ public static final String EXTRA_INPUT_DEVICE_IDENTIFIER = "input_device_identifier"; + @Override + protected int getMetricsCategory() { + return MetricsLogger.INPUTMETHOD_KEYBOARD; + } + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); diff --git a/src/com/android/settings/inputmethod/SpellCheckersSettings.java b/src/com/android/settings/inputmethod/SpellCheckersSettings.java index 5a8ccea130a..729fdc63a76 100644 --- a/src/com/android/settings/inputmethod/SpellCheckersSettings.java +++ b/src/com/android/settings/inputmethod/SpellCheckersSettings.java @@ -30,6 +30,7 @@ import android.view.textservice.SpellCheckerSubtype; import android.view.textservice.TextServicesManager; import android.widget.Switch; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settings.SettingsActivity; import com.android.settings.SettingsPreferenceFragment; @@ -53,6 +54,11 @@ public class SpellCheckersSettings extends SettingsPreferenceFragment private SpellCheckerInfo[] mEnabledScis; private TextServicesManager mTsm; + @Override + protected int getMetricsCategory() { + return MetricsLogger.INPUTMETHOD_SPELL_CHECKERS; + } + @Override public void onCreate(final Bundle icicle) { super.onCreate(icicle); diff --git a/src/com/android/settings/inputmethod/UserDictionaryAddWordFragment.java b/src/com/android/settings/inputmethod/UserDictionaryAddWordFragment.java index 4f231cbbf8d..3eb5dc6bf8d 100644 --- a/src/com/android/settings/inputmethod/UserDictionaryAddWordFragment.java +++ b/src/com/android/settings/inputmethod/UserDictionaryAddWordFragment.java @@ -16,7 +16,6 @@ package com.android.settings.inputmethod; -import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.Menu; @@ -27,6 +26,8 @@ import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.ArrayAdapter; +import com.android.internal.logging.MetricsLogger; +import com.android.settings.InstrumentedFragment; import com.android.settings.R; import com.android.settings.SettingsActivity; import com.android.settings.inputmethod.UserDictionaryAddWordContents.LocaleRenderer; @@ -40,7 +41,7 @@ import java.util.Locale; * As opposed to the UserDictionaryActivity, this is only invoked within Settings * from the UserDictionarySettings. */ -public class UserDictionaryAddWordFragment extends Fragment +public class UserDictionaryAddWordFragment extends InstrumentedFragment implements AdapterView.OnItemSelectedListener, com.android.internal.app.LocalePicker.LocaleSelectionListener { @@ -108,6 +109,11 @@ public class UserDictionaryAddWordFragment extends Fragment return false; } + @Override + protected int getMetricsCategory() { + return MetricsLogger.INPUTMETHOD_USER_DICTIONARY_ADD_WORD; + } + @Override public void onResume() { super.onResume(); diff --git a/src/com/android/settings/inputmethod/UserDictionaryList.java b/src/com/android/settings/inputmethod/UserDictionaryList.java index 7439001b857..ab236148af4 100644 --- a/src/com/android/settings/inputmethod/UserDictionaryList.java +++ b/src/com/android/settings/inputmethod/UserDictionaryList.java @@ -16,6 +16,7 @@ package com.android.settings.inputmethod; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; import com.android.settings.Utils; @@ -42,6 +43,11 @@ public class UserDictionaryList extends SettingsPreferenceFragment { "android.settings.USER_DICTIONARY_SETTINGS"; private String mLocale; + @Override + protected int getMetricsCategory() { + return MetricsLogger.INPUTMETHOD_USER_DICTIONARY; + } + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); diff --git a/src/com/android/settings/location/LocationMode.java b/src/com/android/settings/location/LocationMode.java index 7e95cacbf4e..d203bc458dd 100644 --- a/src/com/android/settings/location/LocationMode.java +++ b/src/com/android/settings/location/LocationMode.java @@ -19,6 +19,7 @@ package com.android.settings.location; import android.preference.PreferenceScreen; import android.provider.Settings; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; /** @@ -41,6 +42,11 @@ public class LocationMode extends LocationSettingsBase private static final String KEY_SENSORS_ONLY = "sensors_only"; private RadioButtonPreference mSensorsOnly; + @Override + protected int getMetricsCategory() { + return MetricsLogger.LOCATION_MODE; + } + @Override public void onResume() { super.onResume(); diff --git a/src/com/android/settings/location/LocationSettings.java b/src/com/android/settings/location/LocationSettings.java index d66f91c2b2f..d0dde32556c 100644 --- a/src/com/android/settings/location/LocationSettings.java +++ b/src/com/android/settings/location/LocationSettings.java @@ -34,6 +34,7 @@ import android.view.MenuInflater; import android.view.MenuItem; import android.widget.Switch; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settings.SettingsActivity; import com.android.settings.Utils; @@ -83,6 +84,11 @@ public class LocationSettings extends LocationSettingsBase private SettingsInjector injector; private UserManager mUm; + @Override + protected int getMetricsCategory() { + return MetricsLogger.LOCATION; + } + @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); diff --git a/src/com/android/settings/location/ScanningSettings.java b/src/com/android/settings/location/ScanningSettings.java index 364ad7bdabf..428701a2947 100644 --- a/src/com/android/settings/location/ScanningSettings.java +++ b/src/com/android/settings/location/ScanningSettings.java @@ -21,6 +21,7 @@ import android.preference.PreferenceScreen; import android.preference.SwitchPreference; import android.provider.Settings.Global; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; @@ -30,6 +31,11 @@ import com.android.settings.SettingsPreferenceFragment; public class ScanningSettings extends SettingsPreferenceFragment { private static final String KEY_WIFI_SCAN_ALWAYS_AVAILABLE = "wifi_always_scanning"; + @Override + protected int getMetricsCategory() { + return MetricsLogger.LOCATION_SCANNING; + } + @Override public void onResume() { super.onResume(); diff --git a/src/com/android/settings/net/DataUsageMeteredSettings.java b/src/com/android/settings/net/DataUsageMeteredSettings.java index d567c7ecd0e..ec1dd385e6e 100644 --- a/src/com/android/settings/net/DataUsageMeteredSettings.java +++ b/src/com/android/settings/net/DataUsageMeteredSettings.java @@ -34,6 +34,7 @@ import android.preference.PreferenceCategory; import android.preference.SwitchPreference; import android.telephony.TelephonyManager; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; import com.android.settings.search.BaseSearchIndexProvider; @@ -59,6 +60,11 @@ public class DataUsageMeteredSettings extends SettingsPreferenceFragment impleme private PreferenceCategory mWifiCategory; private Preference mWifiDisabled; + @Override + protected int getMetricsCategory() { + return MetricsLogger.NET_DATA_USAGE_METERED; + } + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); diff --git a/src/com/android/settings/nfc/AndroidBeam.java b/src/com/android/settings/nfc/AndroidBeam.java index 20201f4b364..62675703e30 100644 --- a/src/com/android/settings/nfc/AndroidBeam.java +++ b/src/com/android/settings/nfc/AndroidBeam.java @@ -27,11 +27,13 @@ import android.view.View; import android.view.ViewGroup; import android.widget.Switch; +import com.android.internal.logging.MetricsLogger; +import com.android.settings.InstrumentedFragment; import com.android.settings.R; import com.android.settings.SettingsActivity; import com.android.settings.widget.SwitchBar; -public class AndroidBeam extends Fragment +public class AndroidBeam extends InstrumentedFragment implements SwitchBar.OnSwitchChangeListener { private View mView; private NfcAdapter mNfcAdapter; @@ -98,4 +100,9 @@ public class AndroidBeam extends Fragment } mSwitchBar.setEnabled(true); } + + @Override + protected int getMetricsCategory() { + return MetricsLogger.NFC_BEAM; + } } diff --git a/src/com/android/settings/nfc/PaymentSettings.java b/src/com/android/settings/nfc/PaymentSettings.java index 02254dd1e05..4f04d73a626 100644 --- a/src/com/android/settings/nfc/PaymentSettings.java +++ b/src/com/android/settings/nfc/PaymentSettings.java @@ -42,6 +42,7 @@ import android.widget.RadioButton; import android.widget.TextView; import com.android.internal.content.PackageMonitor; +import com.android.internal.logging.MetricsLogger; import com.android.settings.HelpUtils; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; @@ -57,6 +58,11 @@ public class PaymentSettings extends SettingsPreferenceFragment implements private final PackageMonitor mSettingsPackageMonitor = new SettingsPackageMonitor(); + @Override + protected int getMetricsCategory() { + return MetricsLogger.NFC_PAYMENT; + } + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); diff --git a/src/com/android/settings/notification/AppNotificationSettings.java b/src/com/android/settings/notification/AppNotificationSettings.java index 375b855c2ff..db957a775c9 100644 --- a/src/com/android/settings/notification/AppNotificationSettings.java +++ b/src/com/android/settings/notification/AppNotificationSettings.java @@ -35,6 +35,7 @@ import android.util.ArrayMap; import android.util.Log; import android.widget.Toast; +import com.android.internal.logging.MetricsLogger; import com.android.internal.widget.LockPatternUtils; import com.android.settings.AppHeader; import com.android.settings.R; @@ -86,6 +87,11 @@ public class AppNotificationSettings extends SettingsPreferenceFragment { mAppRow.settingsIntent); } + @Override + protected int getMetricsCategory() { + return MetricsLogger.NOTIFICATION_APP_NOTIFICATION; + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/src/com/android/settings/notification/NotificationSettings.java b/src/com/android/settings/notification/NotificationSettings.java index 123f0ef6443..ce7ba14c768 100644 --- a/src/com/android/settings/notification/NotificationSettings.java +++ b/src/com/android/settings/notification/NotificationSettings.java @@ -48,6 +48,7 @@ import android.provider.SearchIndexableResource; import android.provider.Settings; import android.util.Log; +import com.android.internal.logging.MetricsLogger; import com.android.internal.widget.LockPatternUtils; import com.android.settings.DropDownPreference; import com.android.settings.R; @@ -104,6 +105,11 @@ public class NotificationSettings extends SettingsPreferenceFragment implements private ComponentName mSuppressor; private int mRingerMode = -1; + @Override + protected int getMetricsCategory() { + return MetricsLogger.NOTIFICATION; + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/src/com/android/settings/notification/NotificationStation.java b/src/com/android/settings/notification/NotificationStation.java index 3f4d3df8ad6..a54e3dd7733 100644 --- a/src/com/android/settings/notification/NotificationStation.java +++ b/src/com/android/settings/notification/NotificationStation.java @@ -46,6 +46,7 @@ import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; import com.android.settings.Utils; @@ -136,6 +137,11 @@ public class NotificationStation extends SettingsPreferenceFragment { super.onDetach(); } + @Override + protected int getMetricsCategory() { + return MetricsLogger.NOTIFICATION_STATION; + } + @Override public void onActivityCreated(Bundle savedInstanceState) { logd("onActivityCreated(%s)", savedInstanceState); diff --git a/src/com/android/settings/notification/OtherSoundSettings.java b/src/com/android/settings/notification/OtherSoundSettings.java index 8528ec7f117..b765b351987 100644 --- a/src/com/android/settings/notification/OtherSoundSettings.java +++ b/src/com/android/settings/notification/OtherSoundSettings.java @@ -33,6 +33,7 @@ import android.provider.Settings.Global; import android.provider.Settings.System; import android.telephony.TelephonyManager; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; import com.android.settings.Utils; @@ -165,6 +166,11 @@ public class OtherSoundSettings extends SettingsPreferenceFragment implements In private Context mContext; + @Override + protected int getMetricsCategory() { + return MetricsLogger.NOTIFICATION_OTHER_SOUND; + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/src/com/android/settings/notification/RedactionInterstitial.java b/src/com/android/settings/notification/RedactionInterstitial.java index 2bfad1a07e5..a6df6eca15d 100644 --- a/src/com/android/settings/notification/RedactionInterstitial.java +++ b/src/com/android/settings/notification/RedactionInterstitial.java @@ -16,6 +16,7 @@ package com.android.settings.notification; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settings.SettingsActivity; import com.android.settings.SettingsPreferenceFragment; @@ -58,6 +59,11 @@ public class RedactionInterstitial extends SettingsActivity { private RadioButton mRedactSensitiveButton; private RadioButton mHideAllButton; + @Override + protected int getMetricsCategory() { + return MetricsLogger.NOTIFICATION_REDACTION; + } + @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { diff --git a/src/com/android/settings/notification/ZenModeSettings.java b/src/com/android/settings/notification/ZenModeSettings.java index 441990b4ba0..c2e143a230e 100644 --- a/src/com/android/settings/notification/ZenModeSettings.java +++ b/src/com/android/settings/notification/ZenModeSettings.java @@ -50,6 +50,7 @@ import android.util.SparseArray; import android.widget.ScrollView; import android.widget.TimePicker; +import com.android.internal.logging.MetricsLogger; import com.android.settings.DropDownPreference; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; @@ -143,6 +144,11 @@ public class ZenModeSettings extends SettingsPreferenceFragment implements Index private Preference mConditionProviders; private AlertDialog mDialog; + @Override + protected int getMetricsCategory() { + return MetricsLogger.NOTIFICATION_ZEN_MODE; + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/src/com/android/settings/print/PrintJobSettingsFragment.java b/src/com/android/settings/print/PrintJobSettingsFragment.java index 978e4d6b2dc..b16c63de393 100644 --- a/src/com/android/settings/print/PrintJobSettingsFragment.java +++ b/src/com/android/settings/print/PrintJobSettingsFragment.java @@ -32,6 +32,7 @@ import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; @@ -67,6 +68,11 @@ public class PrintJobSettingsFragment extends SettingsPreferenceFragment { private PrintJobId mPrintJobId; private PrintJob mPrintJob; + @Override + protected int getMetricsCategory() { + return MetricsLogger.PRINT_JOB_SETTINGS; + } + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); diff --git a/src/com/android/settings/print/PrintServiceSettingsFragment.java b/src/com/android/settings/print/PrintServiceSettingsFragment.java index e36e92cb6c7..e42fddde39c 100644 --- a/src/com/android/settings/print/PrintServiceSettingsFragment.java +++ b/src/com/android/settings/print/PrintServiceSettingsFragment.java @@ -59,6 +59,7 @@ import android.widget.SearchView; import android.widget.Switch; import android.widget.TextView; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settings.SettingsActivity; import com.android.settings.SettingsPreferenceFragment; @@ -139,6 +140,11 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment private SearchView mSearchView; + @Override + protected int getMetricsCategory() { + return MetricsLogger.PRINT_SERVICE_SETTINGS; + } + @Override public void onResume() { super.onResume(); diff --git a/src/com/android/settings/print/PrintSettingsFragment.java b/src/com/android/settings/print/PrintSettingsFragment.java index 7317d79839c..27ccc592c82 100644 --- a/src/com/android/settings/print/PrintSettingsFragment.java +++ b/src/com/android/settings/print/PrintSettingsFragment.java @@ -57,6 +57,7 @@ import android.widget.Spinner; import android.widget.TextView; import com.android.internal.content.PackageMonitor; +import com.android.internal.logging.MetricsLogger; import com.android.settings.DialogCreatable; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; @@ -122,6 +123,11 @@ public class PrintSettingsFragment extends SettingsPreferenceFragment private UserAdapter mProfileSpinnerAdapter; private Spinner mSpinner; + @Override + protected int getMetricsCategory() { + return MetricsLogger.PRINT_SETTINGS; + } + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); diff --git a/src/com/android/settings/sim/SimSettings.java b/src/com/android/settings/sim/SimSettings.java index 3ebc2506ccd..91dadbb7469 100644 --- a/src/com/android/settings/sim/SimSettings.java +++ b/src/com/android/settings/sim/SimSettings.java @@ -46,6 +46,7 @@ import android.widget.Spinner; import android.widget.TextView; import android.view.ViewGroup; import android.widget.AdapterView; +import com.android.internal.logging.MetricsLogger; import com.android.settings.RestrictedSettingsFragment; import com.android.settings.Utils; import com.android.settings.search.BaseSearchIndexProvider; @@ -115,6 +116,11 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable super(DISALLOW_CONFIG_SIM); } + @Override + protected int getMetricsCategory() { + return MetricsLogger.SIM; + } + @Override public void onCreate(final Bundle bundle) { super.onCreate(bundle); diff --git a/src/com/android/settings/tts/TextToSpeechSettings.java b/src/com/android/settings/tts/TextToSpeechSettings.java index fa61aec2c70..c8a4c3df27a 100644 --- a/src/com/android/settings/tts/TextToSpeechSettings.java +++ b/src/com/android/settings/tts/TextToSpeechSettings.java @@ -19,6 +19,7 @@ package com.android.settings.tts; import static android.provider.Settings.Secure.TTS_DEFAULT_RATE; import static android.provider.Settings.Secure.TTS_DEFAULT_SYNTH; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settings.SettingsActivity; import com.android.settings.SettingsPreferenceFragment; @@ -142,6 +143,11 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment implements } }; + @Override + protected int getMetricsCategory() { + return MetricsLogger.TTS_TEXT_TO_SPEECH; + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/src/com/android/settings/tts/TtsEngineSettingsFragment.java b/src/com/android/settings/tts/TtsEngineSettingsFragment.java index 542de410096..691e155aa65 100644 --- a/src/com/android/settings/tts/TtsEngineSettingsFragment.java +++ b/src/com/android/settings/tts/TtsEngineSettingsFragment.java @@ -33,6 +33,7 @@ import android.text.TextUtils; import android.util.Log; import android.util.Pair; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; @@ -98,6 +99,11 @@ public class TtsEngineSettingsFragment extends SettingsPreferenceFragment implem super(); } + @Override + protected int getMetricsCategory() { + return MetricsLogger.TTS_ENGINE_SETTINGS; + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/src/com/android/settings/users/AppRestrictionsFragment.java b/src/com/android/settings/users/AppRestrictionsFragment.java index 74ee6d96b99..e09d6504fd9 100644 --- a/src/com/android/settings/users/AppRestrictionsFragment.java +++ b/src/com/android/settings/users/AppRestrictionsFragment.java @@ -56,6 +56,7 @@ import android.widget.CompoundButton; import android.widget.CompoundButton.OnCheckedChangeListener; import android.widget.Switch; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; import com.android.settings.Utils; @@ -257,6 +258,11 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen mAppList = getAppPreferenceGroup(); } + @Override + protected int getMetricsCategory() { + return MetricsLogger.USERS_APP_RESTRICTIONS; + } + @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); diff --git a/src/com/android/settings/users/UserDetailsSettings.java b/src/com/android/settings/users/UserDetailsSettings.java index d738dd63990..90e5a439f48 100644 --- a/src/com/android/settings/users/UserDetailsSettings.java +++ b/src/com/android/settings/users/UserDetailsSettings.java @@ -26,6 +26,7 @@ import android.os.UserManager; import android.preference.Preference; import android.preference.SwitchPreference; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; @@ -64,6 +65,11 @@ public class UserDetailsSettings extends SettingsPreferenceFragment private boolean mGuestUser; private Bundle mDefaultGuestRestrictions; + @Override + protected int getMetricsCategory() { + return MetricsLogger.USER_DETAILS; + } + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java index ff06b690d43..6d0cc5a5ff3 100644 --- a/src/com/android/settings/users/UserSettings.java +++ b/src/com/android/settings/users/UserSettings.java @@ -56,6 +56,7 @@ import android.view.View; import android.view.View.OnClickListener; import android.widget.SimpleAdapter; +import com.android.internal.logging.MetricsLogger; import com.android.internal.widget.LockPatternUtils; import com.android.settings.ChooseLockGeneric; import com.android.settings.OwnerInfoSettings; @@ -178,6 +179,11 @@ public class UserSettings extends SettingsPreferenceFragment } }; + @Override + protected int getMetricsCategory() { + return MetricsLogger.USER; + } + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); diff --git a/src/com/android/settings/voice/VoiceInputSettings.java b/src/com/android/settings/voice/VoiceInputSettings.java index bc299c2bfc6..bac297e0f90 100644 --- a/src/com/android/settings/voice/VoiceInputSettings.java +++ b/src/com/android/settings/voice/VoiceInputSettings.java @@ -27,6 +27,7 @@ import android.provider.Settings; import android.service.voice.VoiceInteractionService; import android.service.voice.VoiceInteractionServiceInfo; import android.speech.RecognitionService; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; import com.android.settings.search.BaseSearchIndexProvider; @@ -72,6 +73,11 @@ public class VoiceInputSettings extends SettingsPreferenceFragment implements private VoiceInputHelper mHelper; + @Override + protected int getMetricsCategory() { + return MetricsLogger.VOICE_INPUT; + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/src/com/android/settings/vpn2/VpnSettings.java b/src/com/android/settings/vpn2/VpnSettings.java index c6c35468a6c..04853f11e32 100644 --- a/src/com/android/settings/vpn2/VpnSettings.java +++ b/src/com/android/settings/vpn2/VpnSettings.java @@ -50,6 +50,7 @@ import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; +import com.android.internal.logging.MetricsLogger; import com.android.internal.net.LegacyVpnInfo; import com.android.internal.net.VpnConfig; import com.android.internal.net.VpnProfile; @@ -90,6 +91,11 @@ public class VpnSettings extends SettingsPreferenceFragment implements private boolean mUnavailable; + @Override + protected int getMetricsCategory() { + return MetricsLogger.VPN; + } + @Override public void onCreate(Bundle savedState) { super.onCreate(savedState); diff --git a/src/com/android/settings/wfd/WifiDisplaySettings.java b/src/com/android/settings/wfd/WifiDisplaySettings.java index 9f3ac826704..7c5883aca6a 100755 --- a/src/com/android/settings/wfd/WifiDisplaySettings.java +++ b/src/com/android/settings/wfd/WifiDisplaySettings.java @@ -59,6 +59,7 @@ import android.widget.ImageView; import android.widget.TextView; import com.android.internal.app.MediaRouteDialogPresenter; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; @@ -114,6 +115,11 @@ public final class WifiDisplaySettings extends SettingsPreferenceFragment { mHandler = new Handler(); } + @Override + protected int getMetricsCategory() { + return MetricsLogger.WFD_WIFI_DISPLAY; + } + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); diff --git a/src/com/android/settings/wifi/AdvancedWifiSettings.java b/src/com/android/settings/wifi/AdvancedWifiSettings.java index 17fee8865c3..4f5884ef7b5 100644 --- a/src/com/android/settings/wifi/AdvancedWifiSettings.java +++ b/src/com/android/settings/wifi/AdvancedWifiSettings.java @@ -42,6 +42,7 @@ import android.text.TextUtils; import android.util.Log; import android.widget.Toast; +import com.android.internal.logging.MetricsLogger; import com.android.settings.AppListSwitchPreference; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; @@ -80,6 +81,11 @@ public class AdvancedWifiSettings extends SettingsPreferenceFragment } }; + @Override + protected int getMetricsCategory() { + return MetricsLogger.WIFI_ADVANCED; + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/src/com/android/settings/wifi/SavedAccessPointsWifiSettings.java b/src/com/android/settings/wifi/SavedAccessPointsWifiSettings.java index e92bda7efc6..2627bc413e6 100644 --- a/src/com/android/settings/wifi/SavedAccessPointsWifiSettings.java +++ b/src/com/android/settings/wifi/SavedAccessPointsWifiSettings.java @@ -26,6 +26,7 @@ import android.preference.Preference; import android.preference.PreferenceScreen; import android.util.Log; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; import com.android.settings.search.BaseSearchIndexProvider; @@ -53,6 +54,11 @@ public class SavedAccessPointsWifiSettings extends SettingsPreferenceFragment // Instance state key private static final String SAVE_DIALOG_ACCESS_POINT_STATE = "wifi_ap_state"; + @Override + protected int getMetricsCategory() { + return MetricsLogger.WIFI_SAVED_ACCESS_POINTS; + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java index 5c6630931cb..0d04622951f 100644 --- a/src/com/android/settings/wifi/WifiSettings.java +++ b/src/com/android/settings/wifi/WifiSettings.java @@ -47,6 +47,7 @@ import android.widget.AdapterView.AdapterContextMenuInfo; import android.widget.TextView; import android.widget.Toast; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settings.RestrictedSettingsFragment; import com.android.settings.SettingsActivity; @@ -321,6 +322,11 @@ public class WifiSettings extends RestrictedSettingsFragment ta.recycle(); } + @Override + protected int getMetricsCategory() { + return MetricsLogger.WIFI; + } + @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); diff --git a/src/com/android/settings/wifi/p2p/WifiP2pSettings.java b/src/com/android/settings/wifi/p2p/WifiP2pSettings.java index 879ebf83562..72dca9e7222 100644 --- a/src/com/android/settings/wifi/p2p/WifiP2pSettings.java +++ b/src/com/android/settings/wifi/p2p/WifiP2pSettings.java @@ -51,6 +51,7 @@ import android.view.MenuItem; import android.widget.EditText; import android.widget.Toast; +import com.android.internal.logging.MetricsLogger; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; @@ -476,6 +477,11 @@ public class WifiP2pSettings extends SettingsPreferenceFragment return null; } + @Override + protected int getMetricsCategory() { + return MetricsLogger.WIFI_P2P; + } + @Override public void onSaveInstanceState(Bundle outState) { if (mSelectedWifiPeer != null) {