diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java index 300f3163e2a..9af91ccbf87 100644 --- a/src/com/android/settings/SecuritySettings.java +++ b/src/com/android/settings/SecuritySettings.java @@ -55,6 +55,7 @@ import android.util.Log; import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.internal.widget.LockPatternUtils; import com.android.settings.TrustAgentUtils.TrustAgentComponentInfo; +import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settings.fingerprint.FingerprintSettings; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.Index; @@ -1222,7 +1223,7 @@ public class SecuritySettings extends SettingsPreferenceFragment } } - public static class UnificationConfirmationDialog extends DialogFragment { + public static class UnificationConfirmationDialog extends InstrumentedDialogFragment { private static final String EXTRA_COMPLIANT = "compliant"; public static UnificationConfirmationDialog newIntance(boolean compliant) { @@ -1272,6 +1273,11 @@ public class SecuritySettings extends SettingsPreferenceFragment super.onDismiss(dialog); ((SecuritySettings) getParentFragment()).updateUnificationPreference(); } + + @Override + public int getMetricsCategory() { + return MetricsEvent.DIALOG_UNIFICATION_CONFIRMATION; + } } } diff --git a/src/com/android/settings/UserCredentialsSettings.java b/src/com/android/settings/UserCredentialsSettings.java index 8a75905a821..df073d19d79 100644 --- a/src/com/android/settings/UserCredentialsSettings.java +++ b/src/com/android/settings/UserCredentialsSettings.java @@ -50,6 +50,7 @@ import android.widget.TextView; import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.internal.widget.LockPatternUtils; +import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; @@ -108,7 +109,7 @@ public class UserCredentialsSettings extends OptionsMenuFragment implements OnIt } } - public static class CredentialDialogFragment extends DialogFragment { + public static class CredentialDialogFragment extends InstrumentedDialogFragment { private static final String TAG = "CredentialDialogFragment"; private static final String ARG_CREDENTIAL = "credential"; @@ -166,6 +167,11 @@ public class UserCredentialsSettings extends OptionsMenuFragment implements OnIt return builder.create(); } + @Override + public int getMetricsCategory() { + return MetricsEvent.DIALOG_USER_CREDENTIAL; + } + /** * Deletes all certificates and keys under a given alias. * diff --git a/src/com/android/settings/accounts/AccountSettings.java b/src/com/android/settings/accounts/AccountSettings.java index d0e200af759..e93c7fad30f 100644 --- a/src/com/android/settings/accounts/AccountSettings.java +++ b/src/com/android/settings/accounts/AccountSettings.java @@ -56,6 +56,7 @@ import com.android.settings.R; import com.android.settings.SettingsActivity; import com.android.settings.SettingsPreferenceFragment; import com.android.settings.Utils; +import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.Index; import com.android.settings.search.Indexable; @@ -625,7 +626,7 @@ public class AccountSettings extends SettingsPreferenceFragment } } - public static class RemoveUserFragment extends DialogFragment { + public static class RemoveUserFragment extends InstrumentedDialogFragment { private static final String ARG_USER_ID = "userId"; static RemoveUserFragment newInstance(int userId) { @@ -649,12 +650,17 @@ public class AccountSettings extends SettingsPreferenceFragment } }); } + + @Override + public int getMetricsCategory() { + return MetricsEvent.DIALOG_REMOVE_USER; + } } /** * Dialog to inform user about changing auto-sync setting */ - public static class ConfirmAutoSyncChangeFragment extends DialogFragment { + public static class ConfirmAutoSyncChangeFragment extends InstrumentedDialogFragment { private static final String SAVE_ENABLING = "enabling"; private static final String SAVE_USER_HANDLE = "userHandle"; private boolean mEnabling; @@ -705,6 +711,11 @@ public class AccountSettings extends SettingsPreferenceFragment outState.putBoolean(SAVE_ENABLING, mEnabling); outState.putParcelable(SAVE_USER_HANDLE, mUserHandle); } + + @Override + public int getMetricsCategory() { + return MetricsEvent.DIALOG_CONFIRM_AUTO_SYNC_CHANGE; + } } public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = diff --git a/src/com/android/settings/applications/AppInfoBase.java b/src/com/android/settings/applications/AppInfoBase.java index f7992cc8fd1..138fadf6f0e 100644 --- a/src/com/android/settings/applications/AppInfoBase.java +++ b/src/com/android/settings/applications/AppInfoBase.java @@ -37,9 +37,11 @@ import android.os.UserHandle; import android.os.UserManager; import android.util.Log; +import com.android.internal.logging.MetricsProto; import com.android.settings.SettingsActivity; import com.android.settings.SettingsPreferenceFragment; import com.android.settings.Utils; +import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.applications.ApplicationsState; import com.android.settingslib.applications.ApplicationsState.AppEntry; @@ -229,11 +231,18 @@ public abstract class AppInfoBase extends SettingsPreferenceFragment new UserHandle(UserHandle.getUserId(uid))); } - public static class MyAlertDialogFragment extends DialogFragment { + public static class MyAlertDialogFragment extends InstrumentedDialogFragment { + + private static final String ARG_ID = "id"; + + @Override + public int getMetricsCategory() { + return MetricsProto.MetricsEvent.DIALOG_APP_INFO_ACTION; + } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { - int id = getArguments().getInt("id"); + int id = getArguments().getInt(ARG_ID); int errorCode = getArguments().getInt("moveError"); Dialog dialog = ((AppInfoBase) getTargetFragment()).createDialog(id, errorCode); if (dialog == null) { @@ -245,7 +254,7 @@ public abstract class AppInfoBase extends SettingsPreferenceFragment public static MyAlertDialogFragment newInstance(int id, int errorCode) { MyAlertDialogFragment dialogFragment = new MyAlertDialogFragment(); Bundle args = new Bundle(); - args.putInt("id", id); + args.putInt(ARG_ID, id); args.putInt("moveError", errorCode); dialogFragment.setArguments(args); return dialogFragment; diff --git a/src/com/android/settings/applications/RunningServiceDetails.java b/src/com/android/settings/applications/RunningServiceDetails.java index bfd275fe2e7..38b8f37658d 100644 --- a/src/com/android/settings/applications/RunningServiceDetails.java +++ b/src/com/android/settings/applications/RunningServiceDetails.java @@ -36,6 +36,7 @@ import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.settings.core.InstrumentedFragment; import com.android.settings.R; import com.android.settings.Utils; +import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import java.io.File; import java.io.FileInputStream; @@ -554,15 +555,15 @@ public class RunningServiceDetails extends InstrumentedFragment } return null; } - + private void showConfirmStopDialog(ComponentName comp) { DialogFragment newFragment = MyAlertDialogFragment.newConfirmStop( DIALOG_CONFIRM_STOP, comp); newFragment.setTargetFragment(this, 0); newFragment.show(getFragmentManager(), "confirmstop"); } - - public static class MyAlertDialogFragment extends DialogFragment { + + public static class MyAlertDialogFragment extends InstrumentedDialogFragment { public static MyAlertDialogFragment newConfirmStop(int id, ComponentName comp) { MyAlertDialogFragment frag = new MyAlertDialogFragment(); @@ -605,6 +606,11 @@ public class RunningServiceDetails extends InstrumentedFragment } throw new IllegalArgumentException("unknown id " + id); } + + @Override + public int getMetricsCategory() { + return MetricsEvent.DIALOG_RUNNIGN_SERVICE; + } } void ensureData() { diff --git a/src/com/android/settings/bluetooth/BluetoothNameDialogFragment.java b/src/com/android/settings/bluetooth/BluetoothNameDialogFragment.java index 293a53e49da..1ee068f8e77 100644 --- a/src/com/android/settings/bluetooth/BluetoothNameDialogFragment.java +++ b/src/com/android/settings/bluetooth/BluetoothNameDialogFragment.java @@ -40,14 +40,17 @@ import android.widget.Button; import android.widget.EditText; import android.widget.TextView; +import com.android.internal.logging.MetricsProto; import com.android.settings.R; +import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settingslib.bluetooth.LocalBluetoothAdapter; import com.android.settingslib.bluetooth.LocalBluetoothManager; /** * Dialog fragment for renaming the local Bluetooth device. */ -public final class BluetoothNameDialogFragment extends DialogFragment implements TextWatcher { +public final class BluetoothNameDialogFragment extends InstrumentedDialogFragment + implements TextWatcher { private static final int BLUETOOTH_NAME_MAX_LENGTH_BYTES = 248; private AlertDialog mAlertDialog; @@ -87,6 +90,11 @@ public final class BluetoothNameDialogFragment extends DialogFragment implements mLocalAdapter = localManager.getBluetoothAdapter(); } + @Override + public int getMetricsCategory() { + return MetricsProto.MetricsEvent.DIALOG_BLUETOOTH_RENAME; + } + @Override public Dialog onCreateDialog(Bundle savedInstanceState) { String deviceName = mLocalAdapter.getName(); diff --git a/src/com/android/settings/bluetooth/DeviceProfilesSettings.java b/src/com/android/settings/bluetooth/DeviceProfilesSettings.java index ca4d4f52457..0c35b69cce6 100755 --- a/src/com/android/settings/bluetooth/DeviceProfilesSettings.java +++ b/src/com/android/settings/bluetooth/DeviceProfilesSettings.java @@ -24,8 +24,6 @@ import android.bluetooth.BluetoothProfile; import android.content.Context; import android.content.DialogInterface; import android.os.Bundle; -import android.support.v7.preference.CheckBoxPreference; -import android.support.v7.preference.EditTextPreference; import android.text.Html; import android.text.TextUtils; import android.util.Log; @@ -37,7 +35,9 @@ import android.widget.CheckBox; import android.widget.EditText; import android.widget.TextView; +import com.android.internal.logging.MetricsProto; import com.android.settings.R; +import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settingslib.bluetooth.CachedBluetoothDevice; import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager; import com.android.settingslib.bluetooth.LocalBluetoothManager; @@ -47,9 +47,7 @@ import com.android.settingslib.bluetooth.MapProfile; import com.android.settingslib.bluetooth.PanProfile; import com.android.settingslib.bluetooth.PbapServerProfile; -import java.util.HashMap; - -public final class DeviceProfilesSettings extends DialogFragment implements +public final class DeviceProfilesSettings extends InstrumentedDialogFragment implements CachedBluetoothDevice.Callback, DialogInterface.OnClickListener, OnClickListener { private static final String TAG = "DeviceProfilesSettings"; @@ -65,16 +63,17 @@ public final class DeviceProfilesSettings extends DialogFragment implements private ViewGroup mProfileContainer; private TextView mProfileLabel; - private EditTextPreference mDeviceNamePref; - - private final HashMap mAutoConnectPrefs - = new HashMap(); private AlertDialog mDisconnectDialog; private boolean mProfileGroupIsRemoved; private View mRootView; + @Override + public int getMetricsCategory() { + return MetricsProto.MetricsEvent.DIALOG_BLUETOOTH_PAIRED_DEVICE_PROFILE; + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/src/com/android/settings/dashboard/NoHomeDialogFragment.java b/src/com/android/settings/dashboard/NoHomeDialogFragment.java index 0bc170536dc..b8ea9ea73d2 100644 --- a/src/com/android/settings/dashboard/NoHomeDialogFragment.java +++ b/src/com/android/settings/dashboard/NoHomeDialogFragment.java @@ -22,9 +22,11 @@ import android.app.Dialog; import android.app.DialogFragment; import android.os.Bundle; +import com.android.internal.logging.MetricsProto; import com.android.settings.R; +import com.android.settings.core.instrumentation.InstrumentedDialogFragment; -public class NoHomeDialogFragment extends DialogFragment { +public class NoHomeDialogFragment extends InstrumentedDialogFragment { public static void show(Activity parent) { final NoHomeDialogFragment dialog = new NoHomeDialogFragment(); dialog.show(parent.getFragmentManager(), null); @@ -37,4 +39,9 @@ public class NoHomeDialogFragment extends DialogFragment { .setPositiveButton(android.R.string.ok, null) .create(); } + + @Override + public int getMetricsCategory() { + return MetricsProto.MetricsEvent.DIALOG_NO_HOME; + } } diff --git a/src/com/android/settings/datausage/BillingCycleSettings.java b/src/com/android/settings/datausage/BillingCycleSettings.java index 7665bf44b87..deadc54ecc7 100644 --- a/src/com/android/settings/datausage/BillingCycleSettings.java +++ b/src/com/android/settings/datausage/BillingCycleSettings.java @@ -37,6 +37,7 @@ import android.widget.Spinner; import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.settings.R; +import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settingslib.NetworkPolicyEditor; import com.android.settingslib.net.DataUsageController; @@ -191,7 +192,7 @@ public class BillingCycleSettings extends DataUsageBase implements /** * Dialog to edit {@link NetworkPolicy#warningBytes}. */ - public static class BytesEditorFragment extends DialogFragment + public static class BytesEditorFragment extends InstrumentedDialogFragment implements DialogInterface.OnClickListener { private static final String EXTRA_TEMPLATE = "template"; private static final String EXTRA_LIMIT = "limit"; @@ -291,12 +292,17 @@ public class BillingCycleSettings extends DataUsageBase implements } target.updateDataUsage(); } + + @Override + public int getMetricsCategory() { + return MetricsEvent.DIALOG_BILLING_BYTE_LIMIT; + } } /** * Dialog to edit {@link NetworkPolicy#cycleDay}. */ - public static class CycleEditorFragment extends DialogFragment implements + public static class CycleEditorFragment extends InstrumentedDialogFragment implements DialogInterface.OnClickListener { private static final String EXTRA_TEMPLATE = "template"; private NumberPicker mCycleDayPicker; @@ -313,6 +319,11 @@ public class BillingCycleSettings extends DataUsageBase implements dialog.show(parent.getFragmentManager(), TAG_CYCLE_EDITOR); } + @Override + public int getMetricsCategory() { + return MetricsEvent.DIALOG_BILLING_CYCLE; + } + @Override public Dialog onCreateDialog(Bundle savedInstanceState) { final Context context = getActivity(); @@ -359,7 +370,7 @@ public class BillingCycleSettings extends DataUsageBase implements * Dialog to request user confirmation before setting * {@link NetworkPolicy#limitBytes}. */ - public static class ConfirmLimitFragment extends DialogFragment implements + public static class ConfirmLimitFragment extends InstrumentedDialogFragment implements DialogInterface.OnClickListener { private static final String EXTRA_MESSAGE = "message"; private static final String EXTRA_LIMIT_BYTES = "limitBytes"; @@ -391,6 +402,11 @@ public class BillingCycleSettings extends DataUsageBase implements dialog.show(parent.getFragmentManager(), TAG_CONFIRM_LIMIT); } + @Override + public int getMetricsCategory() { + return MetricsEvent.DIALOG_BILLING_CONFIRM_LIMIT; + } + @Override public Dialog onCreateDialog(Bundle savedInstanceState) { final Context context = getActivity(); diff --git a/src/com/android/settings/deviceinfo/PrivateVolumeForget.java b/src/com/android/settings/deviceinfo/PrivateVolumeForget.java index 2d408de1849..d7a57ca6cea 100644 --- a/src/com/android/settings/deviceinfo/PrivateVolumeForget.java +++ b/src/com/android/settings/deviceinfo/PrivateVolumeForget.java @@ -36,6 +36,7 @@ import android.widget.TextView; import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; +import com.android.settings.core.instrumentation.InstrumentedDialogFragment; public class PrivateVolumeForget extends SettingsPreferenceFragment { private static final String TAG_FORGET_CONFIRM = "forget_confirm"; @@ -72,7 +73,13 @@ public class PrivateVolumeForget extends SettingsPreferenceFragment { } }; - public static class ForgetConfirmFragment extends DialogFragment { + public static class ForgetConfirmFragment extends InstrumentedDialogFragment { + + @Override + public int getMetricsCategory() { + return MetricsEvent.DIALOG_VOLUME_FORGET; + } + public static void show(Fragment parent, String fsUuid) { final Bundle args = new Bundle(); args.putString(VolumeRecord.EXTRA_FS_UUID, fsUuid); diff --git a/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java b/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java index 428e472c1c8..43202238d92 100644 --- a/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java +++ b/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java @@ -60,6 +60,7 @@ import com.android.settings.Settings.StorageUseActivity; import com.android.settings.SettingsPreferenceFragment; import com.android.settings.Utils; import com.android.settings.applications.ManageApplications; +import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settings.deletionhelper.AutomaticStorageManagerSettings; import com.android.settings.deviceinfo.StorageSettings.MountTask; import com.android.settingslib.deviceinfo.StorageMeasurement; @@ -705,7 +706,7 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment { /** * Dialog that allows editing of volume nickname. */ - public static class RenameFragment extends DialogFragment { + public static class RenameFragment extends InstrumentedDialogFragment { public static void show(PrivateVolumeSettings parent, VolumeInfo vol) { if (!parent.isAdded()) return; @@ -717,6 +718,11 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment { dialog.show(parent.getFragmentManager(), TAG_RENAME); } + @Override + public int getMetricsCategory() { + return MetricsEvent.DIALOG_VOLUME_RENAME; + } + @Override public Dialog onCreateDialog(Bundle savedInstanceState) { final Context context = getActivity(); @@ -751,7 +757,7 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment { } } - public static class SystemInfoFragment extends DialogFragment { + public static class SystemInfoFragment extends InstrumentedDialogFragment { public static void show(Fragment parent) { if (!parent.isAdded()) return; @@ -760,6 +766,11 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment { dialog.show(parent.getFragmentManager(), TAG_SYSTEM_INFO); } + @Override + public int getMetricsCategory() { + return MetricsEvent.DIALOG_STORAGE_SYSTEM_INFO; + } + @Override public Dialog onCreateDialog(Bundle savedInstanceState) { return new AlertDialog.Builder(getActivity()) @@ -769,7 +780,7 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment { } } - public static class OtherInfoFragment extends DialogFragment { + public static class OtherInfoFragment extends InstrumentedDialogFragment { public static void show(Fragment parent, String title, VolumeInfo sharedVol) { if (!parent.isAdded()) return; @@ -782,6 +793,11 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment { dialog.show(parent.getFragmentManager(), TAG_OTHER_INFO); } + @Override + public int getMetricsCategory() { + return MetricsEvent.DIALOG_STORAGE_OTHER_INFO; + } + @Override public Dialog onCreateDialog(Bundle savedInstanceState) { final Context context = getActivity(); @@ -806,7 +822,7 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment { } } - public static class UserInfoFragment extends DialogFragment { + public static class UserInfoFragment extends InstrumentedDialogFragment { public static void show(Fragment parent, CharSequence userLabel, CharSequence userSize) { if (!parent.isAdded()) return; @@ -819,6 +835,11 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment { dialog.show(parent.getFragmentManager(), TAG_USER_INFO); } + @Override + public int getMetricsCategory() { + return MetricsEvent.DIALOG_STORAGE_USER_INFO; + } + @Override public Dialog onCreateDialog(Bundle savedInstanceState) { final Context context = getActivity(); @@ -839,7 +860,7 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment { /** * Dialog to request user confirmation before clearing all cache data. */ - public static class ConfirmClearCacheFragment extends DialogFragment { + public static class ConfirmClearCacheFragment extends InstrumentedDialogFragment { public static void show(Fragment parent) { if (!parent.isAdded()) return; @@ -848,6 +869,11 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment { dialog.show(parent.getFragmentManager(), TAG_CONFIRM_CLEAR_CACHE); } + @Override + public int getMetricsCategory() { + return MetricsEvent.DIALOG_STORAGE_CLEAR_CACHE; + } + @Override public Dialog onCreateDialog(Bundle savedInstanceState) { final Context context = getActivity(); diff --git a/src/com/android/settings/deviceinfo/StorageSettings.java b/src/com/android/settings/deviceinfo/StorageSettings.java index 05f5ef0d073..20717aeb49e 100644 --- a/src/com/android/settings/deviceinfo/StorageSettings.java +++ b/src/com/android/settings/deviceinfo/StorageSettings.java @@ -47,6 +47,7 @@ import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; import com.android.settings.Utils; +import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settings.dashboard.SummaryLoader; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.Indexable; @@ -382,7 +383,7 @@ public class StorageSettings extends SettingsPreferenceFragment implements Index } } - public static class VolumeUnmountedFragment extends DialogFragment { + public static class VolumeUnmountedFragment extends InstrumentedDialogFragment { public static void show(Fragment parent, String volumeId) { final Bundle args = new Bundle(); args.putString(VolumeInfo.EXTRA_VOLUME_ID, volumeId); @@ -393,6 +394,11 @@ public class StorageSettings extends SettingsPreferenceFragment implements Index dialog.show(parent.getFragmentManager(), TAG_VOLUME_UNMOUNTED); } + @Override + public int getMetricsCategory() { + return MetricsEvent.DIALOG_VOLUME_UNMOUNT; + } + @Override public Dialog onCreateDialog(Bundle savedInstanceState) { final Context context = getActivity(); @@ -428,7 +434,12 @@ public class StorageSettings extends SettingsPreferenceFragment implements Index } } - public static class DiskInitFragment extends DialogFragment { + public static class DiskInitFragment extends InstrumentedDialogFragment { + @Override + public int getMetricsCategory() { + return MetricsEvent.DIALOG_VOLUME_INIT; + } + public static void show(Fragment parent, int resId, String diskId) { final Bundle args = new Bundle(); args.putInt(Intent.EXTRA_TEXT, resId); diff --git a/src/com/android/settings/deviceinfo/StorageWizardFormatProgress.java b/src/com/android/settings/deviceinfo/StorageWizardFormatProgress.java index b44bc33ee20..bf33487d884 100644 --- a/src/com/android/settings/deviceinfo/StorageWizardFormatProgress.java +++ b/src/com/android/settings/deviceinfo/StorageWizardFormatProgress.java @@ -33,7 +33,9 @@ import android.util.Log; import android.view.View; import android.widget.Toast; +import com.android.internal.logging.MetricsProto; import com.android.settings.R; +import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import java.util.Objects; @@ -168,7 +170,13 @@ public class StorageWizardFormatProgress extends StorageWizardBase { } } - public static class SlowWarningFragment extends DialogFragment { + public static class SlowWarningFragment extends InstrumentedDialogFragment { + + @Override + public int getMetricsCategory() { + return MetricsProto.MetricsEvent.DIALOG_VOLUME_SLOW_WARNING; + } + @Override public Dialog onCreateDialog(Bundle savedInstanceState) { final Context context = getActivity(); diff --git a/src/com/android/settings/fingerprint/FingerprintEnrollEnrolling.java b/src/com/android/settings/fingerprint/FingerprintEnrollEnrolling.java index adc7a995562..cd564588c92 100644 --- a/src/com/android/settings/fingerprint/FingerprintEnrollEnrolling.java +++ b/src/com/android/settings/fingerprint/FingerprintEnrollEnrolling.java @@ -44,6 +44,7 @@ import android.widget.TextView; import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.settings.ChooseLockSettingsHelper; import com.android.settings.R; +import com.android.settings.core.instrumentation.InstrumentedDialogFragment; /** * Activity which handles the actual enrolling for fingerprint. @@ -427,7 +428,7 @@ public class FingerprintEnrollEnrolling extends FingerprintEnrollBase return MetricsEvent.FINGERPRINT_ENROLLING; } - public static class IconTouchDialog extends DialogFragment { + public static class IconTouchDialog extends InstrumentedDialogFragment { @Override public Dialog onCreateDialog(Bundle savedInstanceState) { @@ -443,9 +444,14 @@ public class FingerprintEnrollEnrolling extends FingerprintEnrollBase }); return builder.create(); } + + @Override + public int getMetricsCategory() { + return MetricsEvent.DIALOG_FINGERPRINT_ICON_TOUCH; + } } - public static class ErrorDialog extends DialogFragment { + public static class ErrorDialog extends InstrumentedDialogFragment { /** * Create a new instance of ErrorDialog. @@ -488,5 +494,10 @@ public class FingerprintEnrollEnrolling extends FingerprintEnrollBase dialog.setCanceledOnTouchOutside(false); return dialog; } + + @Override + public int getMetricsCategory() { + return MetricsEvent.DIALOG_FINGERPINT_ERROR; + } } } diff --git a/src/com/android/settings/fingerprint/FingerprintSettings.java b/src/com/android/settings/fingerprint/FingerprintSettings.java index 980bf0bfb44..5bb08560d89 100644 --- a/src/com/android/settings/fingerprint/FingerprintSettings.java +++ b/src/com/android/settings/fingerprint/FingerprintSettings.java @@ -64,6 +64,7 @@ import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.settings.ChooseLockGeneric; import com.android.settings.ChooseLockSettingsHelper; +import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settingslib.HelpUtils; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; @@ -562,7 +563,7 @@ public class FingerprintSettings extends SubSettings { } }; - public static class RenameDeleteDialog extends DialogFragment { + public static class RenameDeleteDialog extends InstrumentedDialogFragment { private Fingerprint mFp; private EditText mDialogTextField; @@ -669,12 +670,22 @@ public class FingerprintSettings extends SubSettings { outState.putInt("endSelection", mDialogTextField.getSelectionEnd()); } } + + @Override + public int getMetricsCategory() { + return MetricsEvent.DIALOG_FINGERPINT_EDIT; + } } - public static class ConfirmLastDeleteDialog extends DialogFragment { + public static class ConfirmLastDeleteDialog extends InstrumentedDialogFragment { private Fingerprint mFp; + @Override + public int getMetricsCategory() { + return MetricsEvent.DIALOG_FINGERPINT_DELETE_LAST; + } + @Override public Dialog onCreateDialog(Bundle savedInstanceState) { mFp = getArguments().getParcelable("fingerprint"); diff --git a/src/com/android/settings/fingerprint/SetupFingerprintEnrollEnrolling.java b/src/com/android/settings/fingerprint/SetupFingerprintEnrollEnrolling.java index 7e95a9a4484..90b281f54d9 100644 --- a/src/com/android/settings/fingerprint/SetupFingerprintEnrollEnrolling.java +++ b/src/com/android/settings/fingerprint/SetupFingerprintEnrollEnrolling.java @@ -31,6 +31,7 @@ import android.widget.Button; import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.settings.R; import com.android.settings.SetupWizardUtils; +import com.android.settings.core.instrumentation.InstrumentedDialogFragment; public class SetupFingerprintEnrollEnrolling extends FingerprintEnrollEnrolling { @@ -73,7 +74,7 @@ public class SetupFingerprintEnrollEnrolling extends FingerprintEnrollEnrolling return MetricsEvent.FINGERPRINT_ENROLLING_SETUP; } - public static class SkipDialog extends DialogFragment { + public static class SkipDialog extends InstrumentedDialogFragment { @Override public void show(FragmentManager manager, String tag) { @@ -111,5 +112,10 @@ public class SetupFingerprintEnrollEnrolling extends FingerprintEnrollEnrolling }) .create(); } + + @Override + public int getMetricsCategory() { + return MetricsEvent.DIALOG_FINGERPRINT_CANCEL_SETUP; + } } } diff --git a/src/com/android/settings/fingerprint/SetupSkipDialog.java b/src/com/android/settings/fingerprint/SetupSkipDialog.java index c6e04d7d190..9e9bb4c1785 100644 --- a/src/com/android/settings/fingerprint/SetupSkipDialog.java +++ b/src/com/android/settings/fingerprint/SetupSkipDialog.java @@ -25,9 +25,12 @@ import android.content.DialogInterface; import android.os.Bundle; import android.support.annotation.NonNull; +import com.android.internal.logging.MetricsProto; import com.android.settings.R; +import com.android.settings.core.instrumentation.InstrumentedDialogFragment; -public class SetupSkipDialog extends DialogFragment implements DialogInterface.OnClickListener { +public class SetupSkipDialog extends InstrumentedDialogFragment + implements DialogInterface.OnClickListener { public static final String EXTRA_FRP_SUPPORTED = ":settings:frp_supported"; @@ -43,6 +46,11 @@ public class SetupSkipDialog extends DialogFragment implements DialogInterface.O return dialog; } + @Override + public int getMetricsCategory() { + return MetricsProto.MetricsEvent.DIALOG_FINGERPRINT_SKIP_SETUP; + } + @Override public Dialog onCreateDialog(Bundle savedInstanceState) { return onCreateDialogBuilder().create(); diff --git a/src/com/android/settings/fuelgauge/HighPowerDetail.java b/src/com/android/settings/fuelgauge/HighPowerDetail.java index 6946f62f18e..c448756973a 100644 --- a/src/com/android/settings/fuelgauge/HighPowerDetail.java +++ b/src/com/android/settings/fuelgauge/HighPowerDetail.java @@ -30,11 +30,13 @@ import android.view.View; import android.widget.Checkable; import android.widget.TextView; +import com.android.internal.logging.MetricsProto; import com.android.settings.R; import com.android.settings.applications.AppInfoBase; +import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settingslib.applications.ApplicationsState.AppEntry; -public class HighPowerDetail extends DialogFragment implements OnClickListener, +public class HighPowerDetail extends InstrumentedDialogFragment implements OnClickListener, View.OnClickListener { private static final String ARG_DEFAULT_ON = "default_on"; @@ -48,6 +50,11 @@ public class HighPowerDetail extends DialogFragment implements OnClickListener, private Checkable mOptionOn; private Checkable mOptionOff; + @Override + public int getMetricsCategory() { + return MetricsProto.MetricsEvent.DIALOG_HIGH_POWER_DETAILS; + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/src/com/android/settings/inputmethod/KeyboardLayoutDialogFragment.java b/src/com/android/settings/inputmethod/KeyboardLayoutDialogFragment.java index ad7a2b167a5..24bdd617972 100644 --- a/src/com/android/settings/inputmethod/KeyboardLayoutDialogFragment.java +++ b/src/com/android/settings/inputmethod/KeyboardLayoutDialogFragment.java @@ -40,12 +40,14 @@ import android.widget.CheckedTextView; import android.widget.RadioButton; import android.widget.TextView; +import com.android.internal.logging.MetricsProto; import com.android.settings.R; +import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import java.util.ArrayList; import java.util.Collections; -public class KeyboardLayoutDialogFragment extends DialogFragment +public class KeyboardLayoutDialogFragment extends InstrumentedDialogFragment implements InputDeviceListener, LoaderCallbacks { private static final String KEY_INPUT_DEVICE_IDENTIFIER = "inputDeviceIdentifier"; @@ -62,6 +64,12 @@ public class KeyboardLayoutDialogFragment extends DialogFragment mInputDeviceIdentifier = inputDeviceIdentifier; } + + @Override + public int getMetricsCategory() { + return MetricsProto.MetricsEvent.DIALOG_KEYBOARD_LAYOUT; + } + @Override public void onAttach(Activity activity) { super.onAttach(activity); diff --git a/src/com/android/settings/notification/NotificationAccessSettings.java b/src/com/android/settings/notification/NotificationAccessSettings.java index 78e90c84053..ad3daae46c8 100644 --- a/src/com/android/settings/notification/NotificationAccessSettings.java +++ b/src/com/android/settings/notification/NotificationAccessSettings.java @@ -31,6 +31,7 @@ import android.service.notification.NotificationListenerService; import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.settings.R; +import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settings.utils.ManagedServiceSettings; import com.android.settings.utils.ServiceListing; @@ -102,7 +103,7 @@ public class NotificationAccessSettings extends ManagedServiceSettings { }); } - public class FriendlyWarningDialogFragment extends DialogFragment { + public class FriendlyWarningDialogFragment extends InstrumentedDialogFragment { static final String KEY_COMPONENT = "c"; static final String KEY_LABEL = "l"; @@ -114,6 +115,11 @@ public class NotificationAccessSettings extends ManagedServiceSettings { return this; } + @Override + public int getMetricsCategory() { + return MetricsEvent.DIALOG_DISABLE_NOTIFICATION_ACCESS; + } + @Override public Dialog onCreateDialog(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/src/com/android/settings/notification/SoundSettings.java b/src/com/android/settings/notification/SoundSettings.java index 8b8ef9ea18a..7365995881d 100644 --- a/src/com/android/settings/notification/SoundSettings.java +++ b/src/com/android/settings/notification/SoundSettings.java @@ -66,6 +66,7 @@ import com.android.settings.RingtonePreference; import com.android.settings.DefaultRingtonePreference; import com.android.settings.SettingsPreferenceFragment; import com.android.settings.Utils; +import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settings.dashboard.SummaryLoader; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.Indexable; @@ -826,11 +827,16 @@ public class SoundSettings extends SettingsPreferenceFragment mWorkAlarmRingtonePreference = null; } - public static class UnifyWorkDialogFragment extends DialogFragment + public static class UnifyWorkDialogFragment extends InstrumentedDialogFragment implements DialogInterface.OnClickListener { private static final String TAG = "UnifyWorkDialogFragment"; private static final int REQUEST_CODE = 200; + @Override + public int getMetricsCategory() { + return MetricsEvent.DIALOG_UNIFY_SOUND_SETTINGS; + } + @Override public Dialog onCreateDialog(Bundle savedInstanceState) { return new AlertDialog.Builder(getActivity()) diff --git a/src/com/android/settings/notification/ZenAccessSettings.java b/src/com/android/settings/notification/ZenAccessSettings.java index b0e8e9b6d98..7312b1d090d 100644 --- a/src/com/android/settings/notification/ZenAccessSettings.java +++ b/src/com/android/settings/notification/ZenAccessSettings.java @@ -46,6 +46,7 @@ import android.widget.Toast; import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.settings.R; +import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import java.util.ArrayList; import java.util.Collections; @@ -203,10 +204,15 @@ public class ZenAccessSettings extends EmptyTextSettings { /** * Warning dialog when allowing zen access warning about the privileges being granted. */ - public static class ScaryWarningDialogFragment extends DialogFragment { + public static class ScaryWarningDialogFragment extends InstrumentedDialogFragment { static final String KEY_PKG = "p"; static final String KEY_LABEL = "l"; + @Override + public int getMetricsCategory() { + return MetricsEvent.DIALOG_ZEN_ACCESS_GRANT; + } + public ScaryWarningDialogFragment setPkgInfo(String pkg, CharSequence label) { Bundle args = new Bundle(); args.putString(KEY_PKG, pkg); @@ -249,10 +255,16 @@ public class ZenAccessSettings extends EmptyTextSettings { /** * Warning dialog when revoking zen access warning that zen rule instances will be deleted. */ - public static class FriendlyWarningDialogFragment extends DialogFragment { + public static class FriendlyWarningDialogFragment extends InstrumentedDialogFragment { static final String KEY_PKG = "p"; static final String KEY_LABEL = "l"; + + @Override + public int getMetricsCategory() { + return MetricsEvent.DIALOG_ZEN_ACCESS_REVOKE; + } + public FriendlyWarningDialogFragment setPkgInfo(String pkg, CharSequence label) { Bundle args = new Bundle(); args.putString(KEY_PKG, pkg); diff --git a/src/com/android/settings/notification/ZenModeScheduleRuleSettings.java b/src/com/android/settings/notification/ZenModeScheduleRuleSettings.java index d2dcdf8b59a..7a816c3fe87 100644 --- a/src/com/android/settings/notification/ZenModeScheduleRuleSettings.java +++ b/src/com/android/settings/notification/ZenModeScheduleRuleSettings.java @@ -39,6 +39,7 @@ import android.widget.TimePicker; import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.settings.R; +import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import java.text.SimpleDateFormat; import java.util.Arrays; @@ -275,10 +276,15 @@ public class ZenModeScheduleRuleSettings extends ZenModeRuleSettingsBase { setSummary(time); } - public static class TimePickerFragment extends DialogFragment implements + public static class TimePickerFragment extends InstrumentedDialogFragment implements TimePickerDialog.OnTimeSetListener { public TimePickerPreference pref; + @Override + public int getMetricsCategory() { + return MetricsEvent.DIALOG_ZEN_TIMEPICKER; + } + @Override public Dialog onCreateDialog(Bundle savedInstanceState) { final boolean usePref = pref != null && pref.mHourOfDay >= 0 && pref.mMinute >= 0; diff --git a/src/com/android/settings/utils/ManagedServiceSettings.java b/src/com/android/settings/utils/ManagedServiceSettings.java index 14c9b61fd80..bd839c8e925 100644 --- a/src/com/android/settings/utils/ManagedServiceSettings.java +++ b/src/com/android/settings/utils/ManagedServiceSettings.java @@ -35,7 +35,9 @@ import android.support.v7.preference.PreferenceScreen; import android.view.View; import android.widget.TextView; +import com.android.internal.logging.MetricsProto; import com.android.settings.R; +import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settings.notification.EmptyTextSettings; import java.util.Collections; @@ -130,10 +132,15 @@ public abstract class ManagedServiceSettings extends EmptyTextSettings { } } - public static class ScaryWarningDialogFragment extends DialogFragment { + public static class ScaryWarningDialogFragment extends InstrumentedDialogFragment { static final String KEY_COMPONENT = "c"; static final String KEY_LABEL = "l"; + @Override + public int getMetricsCategory() { + return MetricsProto.MetricsEvent.DIALOG_SERVICE_ACCESS_WARNING; + } + public ScaryWarningDialogFragment setServiceInfo(ComponentName cn, String label, Fragment target) { Bundle args = new Bundle(); diff --git a/src/com/android/settings/vpn2/AppDialogFragment.java b/src/com/android/settings/vpn2/AppDialogFragment.java index 8013780df45..6093e89edad 100644 --- a/src/com/android/settings/vpn2/AppDialogFragment.java +++ b/src/com/android/settings/vpn2/AppDialogFragment.java @@ -31,13 +31,15 @@ import android.os.UserHandle; import android.os.UserManager; import android.util.Log; +import com.android.internal.logging.MetricsProto; import com.android.internal.net.VpnConfig; import com.android.settings.R; +import com.android.settings.core.instrumentation.InstrumentedDialogFragment; /** * Fragment wrapper around an {@link AppDialog}. */ -public class AppDialogFragment extends DialogFragment implements AppDialog.Listener { +public class AppDialogFragment extends InstrumentedDialogFragment implements AppDialog.Listener { private static final String TAG_APP_DIALOG = "vpnappdialog"; private static final String TAG = "AppDialogFragment"; @@ -53,9 +55,14 @@ public class AppDialogFragment extends DialogFragment implements AppDialog.Liste private final IConnectivityManager mService = IConnectivityManager.Stub.asInterface( ServiceManager.getService(Context.CONNECTIVITY_SERVICE)); + @Override + public int getMetricsCategory() { + return MetricsProto.MetricsEvent.DIALOG_VPN_APP_CONFIG; + } + public interface Listener { - public void onForget(); - public void onCancel(); + void onForget(); + void onCancel(); } public static void show(Fragment parent, PackageInfo packageInfo, String label, diff --git a/src/com/android/settings/vpn2/AppManagementFragment.java b/src/com/android/settings/vpn2/AppManagementFragment.java index e9dd4fd75f9..1a3000e1c3f 100644 --- a/src/com/android/settings/vpn2/AppManagementFragment.java +++ b/src/com/android/settings/vpn2/AppManagementFragment.java @@ -42,6 +42,7 @@ import com.android.internal.util.ArrayUtils; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; import com.android.settings.Utils; +import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settingslib.RestrictedSwitchPreference; import com.android.settingslib.RestrictedPreference; @@ -303,10 +304,15 @@ public class AppManagementFragment extends SettingsPreferenceFragment return getAlwaysOnVpnPackage() != null && !isVpnAlwaysOn(); } - public static class CannotConnectFragment extends DialogFragment { + public static class CannotConnectFragment extends InstrumentedDialogFragment { private static final String TAG = "CannotConnect"; private static final String ARG_VPN_LABEL = "label"; + @Override + public int getMetricsCategory() { + return MetricsEvent.DIALOG_VPN_CANNOT_CONNECT; + } + public static void show(AppManagementFragment parent, String vpnLabel) { if (parent.getFragmentManager().findFragmentByTag(TAG) == null) { final Bundle args = new Bundle(); @@ -329,10 +335,15 @@ public class AppManagementFragment extends SettingsPreferenceFragment } } - public static class ReplaceExistingVpnFragment extends DialogFragment + public static class ReplaceExistingVpnFragment extends InstrumentedDialogFragment implements DialogInterface.OnClickListener { private static final String TAG = "ReplaceExistingVpn"; + @Override + public int getMetricsCategory() { + return MetricsEvent.DIALOG_VPN_REPLACE_EXISTING; + } + public static void show(AppManagementFragment parent) { if (parent.getFragmentManager().findFragmentByTag(TAG) == null) { final ReplaceExistingVpnFragment frag = new ReplaceExistingVpnFragment(); diff --git a/src/com/android/settings/vpn2/ConfigDialogFragment.java b/src/com/android/settings/vpn2/ConfigDialogFragment.java index 1880a6bd237..1a180c571de 100644 --- a/src/com/android/settings/vpn2/ConfigDialogFragment.java +++ b/src/com/android/settings/vpn2/ConfigDialogFragment.java @@ -16,8 +16,6 @@ package com.android.settings.vpn2; -import java.util.Arrays; - import android.app.Dialog; import android.app.DialogFragment; import android.content.Context; @@ -33,16 +31,18 @@ import android.security.KeyStore; import android.util.Log; import android.widget.Toast; +import com.android.internal.logging.MetricsProto; import com.android.internal.net.LegacyVpnInfo; import com.android.internal.net.VpnConfig; import com.android.internal.net.VpnProfile; import com.android.settings.R; +import com.android.settings.core.instrumentation.InstrumentedDialogFragment; /** * Fragment wrapper around a {@link ConfigDialog}. */ -public class ConfigDialogFragment extends DialogFragment implements - DialogInterface.OnClickListener { +public class ConfigDialogFragment extends InstrumentedDialogFragment + implements DialogInterface.OnClickListener { private static final String TAG_CONFIG_DIALOG = "vpnconfigdialog"; private static final String TAG = "ConfigDialogFragment"; @@ -55,6 +55,12 @@ public class ConfigDialogFragment extends DialogFragment implements private boolean mUnlocking = false; + + @Override + public int getMetricsCategory() { + return MetricsProto.MetricsEvent.DIALOG_LEGACY_VPN_CONFIG; + } + public static void show(VpnSettings parent, VpnProfile profile, boolean edit, boolean exists) { if (!parent.isAdded()) return; diff --git a/src/com/android/settings/wifi/AdvancedWifiSettings.java b/src/com/android/settings/wifi/AdvancedWifiSettings.java index f53f59ab658..b0bdd77fb0d 100644 --- a/src/com/android/settings/wifi/AdvancedWifiSettings.java +++ b/src/com/android/settings/wifi/AdvancedWifiSettings.java @@ -31,6 +31,7 @@ import android.support.v7.preference.PreferenceScreen; import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.settings.R; import com.android.settings.RestrictedSettingsFragment; +import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settingslib.RestrictedLockUtils; public class AdvancedWifiSettings extends RestrictedSettingsFragment { @@ -117,7 +118,7 @@ public class AdvancedWifiSettings extends RestrictedSettingsFragment { } /* Wrapper class for the WPS dialog to properly handle life cycle events like rotation. */ - public static class WpsFragment extends DialogFragment { + public static class WpsFragment extends InstrumentedDialogFragment { private static int mWpsSetup; // Public default constructor is required for rotation. @@ -130,6 +131,11 @@ public class AdvancedWifiSettings extends RestrictedSettingsFragment { mWpsSetup = wpsSetup; } + @Override + public int getMetricsCategory() { + return MetricsEvent.DIALOG_WPS_SETUP; + } + @Override public Dialog onCreateDialog(Bundle savedInstanceState) { return new WpsDialog(getActivity(), mWpsSetup); diff --git a/src/com/android/settings/wifi/WifiScanModeActivity.java b/src/com/android/settings/wifi/WifiScanModeActivity.java index 893aaf4bedb..29ef79e9022 100644 --- a/src/com/android/settings/wifi/WifiScanModeActivity.java +++ b/src/com/android/settings/wifi/WifiScanModeActivity.java @@ -28,7 +28,9 @@ import android.net.wifi.WifiManager; import android.os.Bundle; import android.provider.Settings; +import com.android.internal.logging.MetricsProto; import com.android.settings.R; +import com.android.settings.core.instrumentation.InstrumentedDialogFragment; /** * This activity requests users permission to allow scanning even when Wi-Fi is turned off @@ -104,7 +106,7 @@ public class WifiScanModeActivity extends Activity { createDialog(); } - public static class AlertDialogFragment extends DialogFragment { + public static class AlertDialogFragment extends InstrumentedDialogFragment { static AlertDialogFragment newInstance(String app) { AlertDialogFragment frag = new AlertDialogFragment(app); return frag; @@ -121,6 +123,11 @@ public class WifiScanModeActivity extends Activity { mApp = null; } + @Override + public int getMetricsCategory() { + return MetricsProto.MetricsEvent.DIALOG_WIFI_SCAN_MODE; + } + @Override public Dialog onCreateDialog(Bundle savedInstanceState) { return new AlertDialog.Builder(getActivity()) diff --git a/src/com/android/settings/wifi/WifiSetupActivity.java b/src/com/android/settings/wifi/WifiSetupActivity.java index 22645463ea5..70370b2e890 100644 --- a/src/com/android/settings/wifi/WifiSetupActivity.java +++ b/src/com/android/settings/wifi/WifiSetupActivity.java @@ -32,9 +32,11 @@ import android.os.Bundle; import android.support.v14.preference.PreferenceFragment; import android.util.Log; +import com.android.internal.logging.MetricsProto; import com.android.settings.ButtonBarHandler; import com.android.settings.R; import com.android.settings.SetupWizardUtils; +import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.setupwizardlib.view.NavigationBar; public class WifiSetupActivity extends WifiPickerActivity @@ -240,7 +242,7 @@ public class WifiSetupActivity extends WifiPickerActivity return info != null && info.isConnected(); } - public static class WifiSkipDialog extends DialogFragment { + public static class WifiSkipDialog extends InstrumentedDialogFragment { public static WifiSkipDialog newInstance(int messageRes) { final Bundle args = new Bundle(); args.putInt("messageRes", messageRes); @@ -253,6 +255,11 @@ public class WifiSetupActivity extends WifiPickerActivity // no-arg constructor for fragment } + @Override + public int getMetricsCategory() { + return MetricsProto.MetricsEvent.DIALOG_WIFI_SKIP; + } + @Override public Dialog onCreateDialog(Bundle savedInstanceState) { int messageRes = getArguments().getInt("messageRes");