diff options
author | Chris Wren <cwren@android.com> | 2015-03-20 10:29:14 -0400 |
---|---|---|
committer | Chris Wren <cwren@android.com> | 2015-03-27 13:39:07 -0400 |
commit | 8a963babe2e36b7a41f77b8d2598c97658196e58 (patch) | |
tree | fbd380b9b8f077915a2fc805dbf30c145d36db15 /src | |
parent | 096abbf56a30775dbccba237719e9b9b84ec9050 (diff) | |
download | packages_apps_Settings-8a963babe2e36b7a41f77b8d2598c97658196e58.zip packages_apps_Settings-8a963babe2e36b7a41f77b8d2598c97658196e58.tar.gz packages_apps_Settings-8a963babe2e36b7a41f77b8d2598c97658196e58.tar.bz2 |
log visibility of views
Depends-On: I5b1dccb5d103ece3112acf38889bae16273b092f
Change-Id: I116aed2bb805f723a5bf2ec9eb94257de0b4a7b5
Diffstat (limited to 'src')
116 files changed, 837 insertions, 53 deletions
diff --git a/src/com/android/settings/ApnEditor.java b/src/com/android/settings/ApnEditor.java index f587b60..f8db3d8 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 { @@ -228,6 +229,11 @@ public class ApnEditor extends PreferenceActivity } @Override + protected int getMetricsCategory() { + return MetricsLogger.APN_EDITOR; + } + + @Override public void onResume() { super.onResume(); getPreferenceScreen().getSharedPreferences() diff --git a/src/com/android/settings/ApnSettings.java b/src/com/android/settings/ApnSettings.java index 79a3825..68cfb60 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; @@ -125,6 +126,11 @@ public class ApnSettings extends SettingsPreferenceFragment implements } @Override + protected int getMetricsCategory() { + return MetricsLogger.APN; + } + + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); final Activity activity = getActivity(); diff --git a/src/com/android/settings/ApplicationSettings.java b/src/com/android/settings/ApplicationSettings.java index 6a17049..9e010b6 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 { @@ -43,6 +44,11 @@ public class ApplicationSettings extends SettingsPreferenceFragment { 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 b6f907e..6d31e60 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; @@ -113,6 +114,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 0a0aebd..6d7b71d 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"; @@ -263,6 +264,11 @@ public class ChooseLockPassword extends SettingsActivity { } @Override + protected int getMetricsCategory() { + return MetricsLogger.CHOOSE_LOCK_PASSWORD; + } + + @Override public void onResume() { super.onResume(); updateStage(mUiStage); diff --git a/src/com/android/settings/ChooseLockPattern.java b/src/com/android/settings/ChooseLockPattern.java index 6343468..1865a6b 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 c74e861..b49dc6e 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; @@ -174,6 +175,11 @@ public class ConfirmLockPassword extends SettingsActivity { } @Override + protected int getMetricsCategory() { + return MetricsLogger.CONFIRM_LOCK_PASSWORD; + } + + @Override public void onResume() { // TODO Auto-generated method stub super.onResume(); diff --git a/src/com/android/settings/ConfirmLockPattern.java b/src/com/android/settings/ConfirmLockPattern.java index 87d401c..b5d444b 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; @@ -172,6 +173,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 4d6f26b..77a1c45 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 d962446..3fb60e3 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; @@ -111,6 +112,11 @@ public class CryptKeeperSettings extends Fragment { } @Override + protected int getMetricsCategory() { + return MetricsLogger.CRYPT_KEEPER; + } + + @Override public void onResume() { super.onResume(); getActivity().registerReceiver(mIntentReceiver, mIntentFilter); diff --git a/src/com/android/settings/DataUsageSummary.java b/src/com/android/settings/DataUsageSummary.java index 0d21066..6e72ef7 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; @@ -291,6 +292,11 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable private final Map<String, Boolean> mMobileDataEnabled = new HashMap<String, Boolean>(); @Override + protected int getMetricsCategory() { + return MetricsLogger.DATA_USAGE_SUMMARY; + } + + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final Context context = getActivity(); diff --git a/src/com/android/settings/DateTimeSettings.java b/src/com/android/settings/DateTimeSettings.java index be24ffe..a3926a3 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; @@ -75,6 +77,11 @@ public class DateTimeSettings extends SettingsPreferenceFragment 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 192bd5c..e0091e1 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; @@ -260,6 +261,11 @@ public class DevelopmentSettings extends SettingsPreferenceFragment 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 648615a..061b133 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; @@ -84,6 +85,11 @@ public class DeviceInfoSettings extends SettingsPreferenceFragment implements In 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 3358124..47cbcde 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; @@ -86,6 +87,11 @@ public class DisplaySettings extends SettingsPreferenceFragment implements private SwitchPreference mAutoBrightnessPreference; @Override + protected int getMetricsCategory() { + return MetricsLogger.DISPLAY; + } + + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final Activity activity = getActivity(); diff --git a/src/com/android/settings/DreamSettings.java b/src/com/android/settings/DreamSettings.java index 38cba7a..8137cd4 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; @@ -77,6 +78,11 @@ public class DreamSettings extends SettingsPreferenceFragment implements } @Override + protected int getMetricsCategory() { + return MetricsLogger.DREAM; + } + + @Override public void onCreate(Bundle icicle) { logd("onCreate(%s)", icicle); super.onCreate(icicle); diff --git a/src/com/android/settings/EncryptionInterstitial.java b/src/com/android/settings/EncryptionInterstitial.java index dfbed77..9b6444c 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; @@ -78,6 +79,11 @@ public class EncryptionInterstitial extends SettingsActivity { private boolean mPasswordRequired; @Override + protected int getMetricsCategory() { + return MetricsLogger.ENCRYPTION; + } + + @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { final int layoutId = R.layout.encryption_interstitial; diff --git a/src/com/android/settings/FingerprintEnroll.java b/src/com/android/settings/FingerprintEnroll.java index 931fb9c..c54272f 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 857ef1f..d086ff7 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; @@ -148,6 +149,11 @@ public class FingerprintSettings extends SettingsActivity { }; @Override + protected int getMetricsCategory() { + return MetricsLogger.FINGERPRINT; + } + + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mFingerprintManager = (FingerprintManager) getActivity().getSystemService( diff --git a/src/com/android/settings/HighlightingFragment.java b/src/com/android/settings/HighlightingFragment.java index 4a233b4..ef2fbf3 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 6da1848..22d4cdc 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; @@ -253,6 +254,11 @@ public class HomeSettings extends SettingsPreferenceFragment implements Indexabl } @Override + protected int getMetricsCategory() { + return MetricsLogger.HOME; + } + + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.home_selection); diff --git a/src/com/android/settings/IccLockSettings.java b/src/com/android/settings/IccLockSettings.java index efc5a3c..0e47afb 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; @@ -239,6 +240,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 0000000..96b7296 --- /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 0000000..8ad88b0 --- /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 0000000..1d86102 --- /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 9480f67..1b6468f 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 3521aa3..bc3656a 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 c1cacb9..54b7cab 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"; @@ -99,6 +100,11 @@ public class OwnerInfoSettings extends Fragment { } @Override + protected int getMetricsCategory() { + return MetricsLogger.OWNER_INFO; + } + + @Override public void onPause() { super.onPause(); saveChanges(); diff --git a/src/com/android/settings/PrivacySettings.java b/src/com/android/settings/PrivacySettings.java index e150298..4eb8a9e 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; @@ -70,6 +71,11 @@ public class PrivacySettings extends SettingsPreferenceFragment implements private int mDialogType; @Override + protected int getMetricsCategory() { + return MetricsLogger.PRIVACY; + } + + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Don't allow any access if this is a secondary user diff --git a/src/com/android/settings/ProxySelector.java b/src/com/android/settings/ProxySelector.java index 2c4c473..7e83f66 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 990f485..a3376d3 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 a67d2e6..7c2b613 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 64e1e3f..c78d6e2 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 3f39088..adda01b 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; @@ -53,6 +54,11 @@ public class ScreenPinningSettings extends SettingsPreferenceFragment 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 4ca2140..df217c8 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; @@ -130,6 +131,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 eecf7a2..4794608 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 e87f676..bf41c80 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 ca1e8ec..125411a 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; @@ -107,6 +108,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 54fef36..1427d5f 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 @@ -61,6 +62,11 @@ public class TrustAgentSettings extends SettingsPreferenceFragment implements } @Override + protected int getMetricsCategory() { + return MetricsLogger.TRUST_AGENT; + } + + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); addPreferencesFromResource(R.xml.trust_agent_settings); diff --git a/src/com/android/settings/TrustedCredentialsSettings.java b/src/com/android/settings/TrustedCredentialsSettings.java index 753afc7..d3935db 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 362d27f..704c3c5 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; @@ -400,6 +401,11 @@ public class UsageAccessSettings extends SettingsPreferenceFragment implements }; @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 7b2dcbf..8c8da31 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; @@ -34,6 +35,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 8e2c7ed..0638c94 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; @@ -136,6 +137,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 d94b8a7..000aa30 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; @@ -238,6 +239,11 @@ public class WirelessSettings extends SettingsPreferenceFragment } @Override + protected int getMetricsCategory() { + return MetricsLogger.WIRELESS; + } + + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (savedInstanceState != null) { diff --git a/src/com/android/settings/accessibility/AccessibilitySettings.java b/src/com/android/settings/accessibility/AccessibilitySettings.java index f0464ab..c4b3a96 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; @@ -198,6 +199,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); addPreferencesFromResource(R.xml.accessibility_settings); diff --git a/src/com/android/settings/accessibility/CaptionPropertiesFragment.java b/src/com/android/settings/accessibility/CaptionPropertiesFragment.java index 9822fc3..ff9c9eb 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; @@ -95,6 +96,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 5fd2e18..6092532 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; @@ -74,6 +75,11 @@ public class ToggleAccessibilityServicePreferenceFragment private int mShownDialogId; @Override + protected int getMetricsCategory() { + return MetricsLogger.ACCESSIBILITY_SERVICE; + } + + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mLockPatternUtils = new LockPatternUtils(getActivity()); diff --git a/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java index 1f7ecf7..c7ed1a1 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; @@ -36,6 +37,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 7fb1625..740f8c6 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 4650c06..44355c6 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 bb60871..a34be22 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 017eb86..1bf83f3 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; @@ -115,6 +116,11 @@ public class AccountSettings extends SettingsPreferenceFragment } @Override + protected int getMetricsCategory() { + return MetricsLogger.ACCOUNT; + } + + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mUm = (UserManager) getSystemService(Context.USER_SERVICE); diff --git a/src/com/android/settings/accounts/AccountSyncSettings.java b/src/com/android/settings/accounts/AccountSyncSettings.java index 382fa33..2de8e4a 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; @@ -141,6 +142,11 @@ public class AccountSyncSettings extends AccountPreferenceBase { } @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 5e7e81e..c4dace8 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; @@ -89,6 +91,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 85ecd90..bbb8c14 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; @@ -87,6 +88,11 @@ public class ManageAccountsSettings extends AccountPreferenceBase 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 9c94525..28ac1d0 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; @@ -127,6 +128,11 @@ public class AdvancedAppSettings extends SettingsPreferenceFragment implements C } @Override + protected int getMetricsCategory() { + return MetricsLogger.APPLICATIONS_ADVANCED; + } + + @Override public void onResume() { super.onResume(); mActivityResumed = true; diff --git a/src/com/android/settings/applications/AppInfoBase.java b/src/com/android/settings/applications/AppInfoBase.java index ac06176..a7dc500 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 c31d8ad..ffb84ef 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 d9dec19..88591d7 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"; @@ -192,6 +194,11 @@ public class AppOpsDetails extends Fragment { } @Override + protected int getMetricsCategory() { + return MetricsLogger.APP_OPS_DETAILS; + } + + @Override public void onResume() { super.onResume(); if (!refreshUi()) { diff --git a/src/com/android/settings/applications/AppOpsSummary.java b/src/com/android/settings/applications/AppOpsSummary.java index 382caed..782b8fb 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 496faf5..1776b3a 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 2f65a76..4b80fdd 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 0fffb7e..9f6c969 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; @@ -223,6 +224,11 @@ public class InstalledAppDetails extends AppInfoBase } @Override + protected int getMetricsCategory() { + return MetricsLogger.APPLICATIONS_INSTALLED_APP_DETAILS; + } + + @Override public void onResume() { super.onResume(); AppItem app = new AppItem(mAppEntry.info.uid); diff --git a/src/com/android/settings/applications/ManageApplications.java b/src/com/android/settings/applications/ManageApplications.java index a034964..84b9763 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); @@ -320,6 +322,20 @@ public class ManageApplications extends Fragment implements OnItemClickListener, } @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(); updateView(); diff --git a/src/com/android/settings/applications/ProcessStatsDetail.java b/src/com/android/settings/applications/ProcessStatsDetail.java index f0e76d4..1e7cf09 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; @@ -98,6 +99,11 @@ public class ProcessStatsDetail extends Fragment implements Button.OnClickListen } @Override + protected int getMetricsCategory() { + return MetricsLogger.APPLICATIONS_PROCESS_STATS_DETAIL; + } + + @Override public void onResume() { super.onResume(); checkForceStop(); diff --git a/src/com/android/settings/applications/ProcessStatsMemDetail.java b/src/com/android/settings/applications/ProcessStatsMemDetail.java index ab7dbdb..7ae2824 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"; @@ -84,6 +85,11 @@ public class ProcessStatsMemDetail extends Fragment { } @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 bf1f666..45e24dd 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 45cad3d..8f074fd 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"; @@ -533,6 +535,11 @@ public class RunningServiceDetails extends Fragment } @Override + protected int getMetricsCategory() { + return MetricsLogger.RUNNING_SERVICE_DETAILS; + } + + @Override public void onResume() { super.onResume(); ensureData(); diff --git a/src/com/android/settings/bluetooth/BluetoothSettings.java b/src/com/android/settings/bluetooth/BluetoothSettings.java index c85e515..b1eed51 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; @@ -123,6 +124,11 @@ public final class BluetoothSettings extends DeviceListPreferenceFragment implem } @Override + protected int getMetricsCategory() { + return MetricsLogger.BLUETOOTH; + } + + @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); mInitialScanStarted = (savedInstanceState != null); // don't auto start scan after rotation diff --git a/src/com/android/settings/bluetooth/DevicePickerFragment.java b/src/com/android/settings/bluetooth/DevicePickerFragment.java index 809ca96..9441626 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; @@ -84,6 +85,11 @@ public final class DevicePickerFragment extends DeviceListPreferenceFragment { } @Override + protected int getMetricsCategory() { + return MetricsLogger.BLUETOOTH_DEVICE_PICKER; + } + + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getActivity().setTitle(getString(R.string.device_picker)); diff --git a/src/com/android/settings/bluetooth/DeviceProfilesSettings.java b/src/com/android/settings/bluetooth/DeviceProfilesSettings.java index e563e64..1df6275 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; @@ -69,6 +70,11 @@ public final class DeviceProfilesSettings extends SettingsPreferenceFragment 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 8a92860..ae1b6d0 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; @@ -67,6 +70,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 0a43ce9..af7cf4a 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"; @@ -245,6 +246,11 @@ public class SearchResultsSummary extends Fragment { } @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 37b6c1d..c4f4bbb 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 1958f38..a07f7c2 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; @@ -85,6 +86,11 @@ public class Memory extends SettingsPreferenceFragment implements Indexable { private ArrayList<StorageVolumePreferenceCategory> 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 e50d0d9..c52f385 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"; @@ -170,6 +172,11 @@ public class SimStatus extends PreferenceActivity { } @Override + protected int getMetricsCategory() { + return MetricsLogger.DEVICEINFO_SIM_STATUS; + } + + @Override protected void onResume() { super.onResume(); if (mPhone != null) { diff --git a/src/com/android/settings/deviceinfo/Status.java b/src/com/android/settings/deviceinfo/Status.java index 646792c..a78d06c 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"; @@ -232,6 +234,11 @@ public class Status extends PreferenceActivity { } @Override + protected int getMetricsCategory() { + return MetricsLogger.DEVICEINFO_STATUS; + } + + @Override protected void onResume() { super.onResume(); registerReceiver(mConnectivityReceiver, mConnectivityIntentFilter, diff --git a/src/com/android/settings/deviceinfo/UsbSettings.java b/src/com/android/settings/deviceinfo/UsbSettings.java index c3b3f96..d8a675c 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; @@ -82,6 +83,11 @@ public class UsbSettings extends SettingsPreferenceFragment { } @Override + protected int getMetricsCategory() { + return MetricsLogger.DEVICEINFO_USB; + } + + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); mUsbManager = (UsbManager)getSystemService(Context.USB_SERVICE); diff --git a/src/com/android/settings/fuelgauge/BatteryHistoryDetail.java b/src/com/android/settings/fuelgauge/BatteryHistoryDetail.java index 63e4e13..c977063 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 e6b90a7..d8a9ca0 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; @@ -61,6 +62,11 @@ public class BatterySaverSettings extends SettingsPreferenceFragment private PowerManager mPowerManager; @Override + protected int getMetricsCategory() { + return MetricsLogger.FUELGAUGE_BATTERY_SAVER; + } + + @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); if (mCreated) { diff --git a/src/com/android/settings/fuelgauge/PowerUsageDetail.java b/src/com/android/settings/fuelgauge/PowerUsageDetail.java index e3c8dab..d796570 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[] { @@ -345,6 +347,11 @@ public class PowerUsageDetail extends Fragment implements Button.OnClickListener } @Override + protected int getMetricsCategory() { + return MetricsLogger.FUELGAUGE_POWER_USAGE_DETAIL; + } + + @Override public void onResume() { super.onResume(); mStartTime = android.os.Process.getElapsedCpuTime(); diff --git a/src/com/android/settings/fuelgauge/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/PowerUsageSummary.java index 5ee4fa0..dbc78c2 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; @@ -120,6 +122,11 @@ public class PowerUsageSummary extends PreferenceFragment { } @Override + protected int getMetricsCategory() { + return MetricsLogger.FUELGAUGE_POWER_USAGE_SUMMARY; + } + + @Override public void onResume() { super.onResume(); BatteryStatsHelper.dropFile(getActivity(), BATTERY_HISTORY_FILE); diff --git a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java index 20a273f..1b2f567 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; @@ -104,6 +105,11 @@ public class InputMethodAndLanguageSettings extends SettingsPreferenceFragment 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 146f512..c73ccef 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; @@ -53,6 +54,11 @@ public class InputMethodAndSubtypeEnabler extends SettingsPreferenceFragment private Collator mCollator; @Override + protected int getMetricsCategory() { + return MetricsLogger.INPUTMETHOD_SUBTYPE_ENABLER; + } + + @Override public void onCreate(final Bundle icicle) { super.onCreate(icicle); mImm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); diff --git a/src/com/android/settings/inputmethod/KeyboardLayoutPickerFragment.java b/src/com/android/settings/inputmethod/KeyboardLayoutPickerFragment.java index 3562cb4..69586b9 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; @@ -49,6 +50,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 5a8ccea..729fdc6 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; @@ -54,6 +55,11 @@ public class SpellCheckersSettings extends SettingsPreferenceFragment 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 4f231cb..3eb5dc6 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 { @@ -109,6 +110,11 @@ public class UserDictionaryAddWordFragment extends Fragment } @Override + protected int getMetricsCategory() { + return MetricsLogger.INPUTMETHOD_USER_DICTIONARY_ADD_WORD; + } + + @Override public void onResume() { super.onResume(); // We are being shown: display the word diff --git a/src/com/android/settings/inputmethod/UserDictionaryList.java b/src/com/android/settings/inputmethod/UserDictionaryList.java index 7439001..ab23614 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; @@ -43,6 +44,11 @@ public class UserDictionaryList extends SettingsPreferenceFragment { private String mLocale; @Override + protected int getMetricsCategory() { + return MetricsLogger.INPUTMETHOD_USER_DICTIONARY; + } + + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setPreferenceScreen(getPreferenceManager().createPreferenceScreen(getActivity())); diff --git a/src/com/android/settings/location/LocationMode.java b/src/com/android/settings/location/LocationMode.java index 7e95cac..d203bc4 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; /** @@ -42,6 +43,11 @@ public class LocationMode extends LocationSettingsBase private RadioButtonPreference mSensorsOnly; @Override + protected int getMetricsCategory() { + return MetricsLogger.LOCATION_MODE; + } + + @Override public void onResume() { super.onResume(); createPreferenceHierarchy(); diff --git a/src/com/android/settings/location/LocationSettings.java b/src/com/android/settings/location/LocationSettings.java index d66f91c..d0dde32 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; @@ -84,6 +85,11 @@ public class LocationSettings extends LocationSettingsBase 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 364ad7b..428701a 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; @@ -31,6 +32,11 @@ 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(); createPreferenceHierarchy(); diff --git a/src/com/android/settings/net/DataUsageMeteredSettings.java b/src/com/android/settings/net/DataUsageMeteredSettings.java index d567c7e..ec1dd38 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; @@ -60,6 +61,11 @@ public class DataUsageMeteredSettings extends SettingsPreferenceFragment impleme private Preference mWifiDisabled; @Override + protected int getMetricsCategory() { + return MetricsLogger.NET_DATA_USAGE_METERED; + } + + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); final Context context = getActivity(); diff --git a/src/com/android/settings/nfc/AndroidBeam.java b/src/com/android/settings/nfc/AndroidBeam.java index 20201f4..6267570 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 02254dd..4f04d73 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; @@ -58,6 +59,11 @@ public class PaymentSettings extends SettingsPreferenceFragment implements @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 375b855..db957a7 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; @@ -87,6 +88,11 @@ public class AppNotificationSettings extends SettingsPreferenceFragment { } @Override + protected int getMetricsCategory() { + return MetricsLogger.NOTIFICATION_APP_NOTIFICATION; + } + + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mContext = getActivity(); diff --git a/src/com/android/settings/notification/NotificationSettings.java b/src/com/android/settings/notification/NotificationSettings.java index 123f0ef..ce7ba14 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; @@ -105,6 +106,11 @@ public class NotificationSettings extends SettingsPreferenceFragment implements private int mRingerMode = -1; @Override + protected int getMetricsCategory() { + return MetricsLogger.NOTIFICATION; + } + + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mContext = getActivity(); diff --git a/src/com/android/settings/notification/NotificationStation.java b/src/com/android/settings/notification/NotificationStation.java index 3f4d3df..a54e3dd 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; @@ -137,6 +138,11 @@ public class NotificationStation extends SettingsPreferenceFragment { } @Override + protected int getMetricsCategory() { + return MetricsLogger.NOTIFICATION_STATION; + } + + @Override public void onActivityCreated(Bundle savedInstanceState) { logd("onActivityCreated(%s)", savedInstanceState); super.onActivityCreated(savedInstanceState); diff --git a/src/com/android/settings/notification/OtherSoundSettings.java b/src/com/android/settings/notification/OtherSoundSettings.java index 8528ec7..b765b35 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; @@ -166,6 +167,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 2bfad1a..a6df6ec 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; @@ -59,6 +60,11 @@ public class RedactionInterstitial extends SettingsActivity { private RadioButton mHideAllButton; @Override + protected int getMetricsCategory() { + return MetricsLogger.NOTIFICATION_REDACTION; + } + + @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.redaction_interstitial, container, false); diff --git a/src/com/android/settings/notification/ZenModeSettings.java b/src/com/android/settings/notification/ZenModeSettings.java index 441990b..c2e143a 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; @@ -144,6 +145,11 @@ public class ZenModeSettings extends SettingsPreferenceFragment implements Index private AlertDialog mDialog; @Override + protected int getMetricsCategory() { + return MetricsLogger.NOTIFICATION_ZEN_MODE; + } + + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mContext = getActivity(); diff --git a/src/com/android/settings/print/PrintJobSettingsFragment.java b/src/com/android/settings/print/PrintJobSettingsFragment.java index 978e4d6..b16c63d 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; @@ -68,6 +69,11 @@ public class PrintJobSettingsFragment extends SettingsPreferenceFragment { 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 e36e92c..e42fddd 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; @@ -140,6 +141,11 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment private SearchView mSearchView; @Override + protected int getMetricsCategory() { + return MetricsLogger.PRINT_SERVICE_SETTINGS; + } + + @Override public void onResume() { super.onResume(); mSettingsContentObserver.register(getContentResolver()); diff --git a/src/com/android/settings/print/PrintSettingsFragment.java b/src/com/android/settings/print/PrintSettingsFragment.java index 7317d79..27ccc59 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; @@ -123,6 +124,11 @@ public class PrintSettingsFragment extends SettingsPreferenceFragment private Spinner mSpinner; @Override + protected int getMetricsCategory() { + return MetricsLogger.PRINT_SETTINGS; + } + + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); addPreferencesFromResource(R.xml.print_settings); diff --git a/src/com/android/settings/sim/SimSettings.java b/src/com/android/settings/sim/SimSettings.java index 3ebc250..91dadbb 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; @@ -116,6 +117,11 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable } @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 fa61aec..c8a4c3d 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; @@ -143,6 +144,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); addPreferencesFromResource(R.xml.tts_settings); diff --git a/src/com/android/settings/tts/TtsEngineSettingsFragment.java b/src/com/android/settings/tts/TtsEngineSettingsFragment.java index 542de41..691e155 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; @@ -99,6 +100,11 @@ public class TtsEngineSettingsFragment extends SettingsPreferenceFragment implem } @Override + protected int getMetricsCategory() { + return MetricsLogger.TTS_ENGINE_SETTINGS; + } + + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.tts_engine_settings); diff --git a/src/com/android/settings/users/AppRestrictionsFragment.java b/src/com/android/settings/users/AppRestrictionsFragment.java index 74ee6d9..e09d650 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; @@ -258,6 +259,11 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen } @Override + protected int getMetricsCategory() { + return MetricsLogger.USERS_APP_RESTRICTIONS; + } + + @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putInt(EXTRA_USER_ID, mUser.getIdentifier()); diff --git a/src/com/android/settings/users/UserDetailsSettings.java b/src/com/android/settings/users/UserDetailsSettings.java index d738dd6..90e5a43 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; @@ -65,6 +66,11 @@ public class UserDetailsSettings extends SettingsPreferenceFragment 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 ff06b69..6d0cc5a 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; @@ -179,6 +180,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 bc299c2..bac297e 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; @@ -73,6 +74,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); addPreferencesFromResource(R.xml.voice_input_settings); diff --git a/src/com/android/settings/vpn2/VpnSettings.java b/src/com/android/settings/vpn2/VpnSettings.java index c6c3546..04853f1 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; @@ -91,6 +92,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 9f3ac82..7c5883a 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; @@ -115,6 +116,11 @@ public final class WifiDisplaySettings extends SettingsPreferenceFragment { } @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 17fee88..4f5884e 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; @@ -81,6 +82,11 @@ public class AdvancedWifiSettings extends SettingsPreferenceFragment }; @Override + protected int getMetricsCategory() { + return MetricsLogger.WIFI_ADVANCED; + } + + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.wifi_advanced_settings); diff --git a/src/com/android/settings/wifi/SavedAccessPointsWifiSettings.java b/src/com/android/settings/wifi/SavedAccessPointsWifiSettings.java index e92bda7..2627bc4 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; @@ -54,6 +55,11 @@ public class SavedAccessPointsWifiSettings extends SettingsPreferenceFragment 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); addPreferencesFromResource(R.xml.wifi_display_saved_access_points); diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java index 5c66309..0d04622 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; @@ -322,6 +323,11 @@ public class WifiSettings extends RestrictedSettingsFragment } @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 879ebf8..72dca9e 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; @@ -477,6 +478,11 @@ public class WifiP2pSettings extends SettingsPreferenceFragment } @Override + protected int getMetricsCategory() { + return MetricsLogger.WIFI_P2P; + } + + @Override public void onSaveInstanceState(Bundle outState) { if (mSelectedWifiPeer != null) { outState.putParcelable(SAVE_DIALOG_PEER, mSelectedWifiPeer.device); |