Add visibility metrics to dialogs.
Bug: 30681529
Test: adb logcat -b events | egrep "(sysui_|notification_)"
Change-Id: I199d2e1b2cb8588a562b46bb8128d8ece24952f0
diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java
index 300f316..9af91cc 100644
--- a/src/com/android/settings/SecuritySettings.java
+++ b/src/com/android/settings/SecuritySettings.java
@@ -55,6 +55,7 @@
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 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 @@
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 8a75905..df073d1 100644
--- a/src/com/android/settings/UserCredentialsSettings.java
+++ b/src/com/android/settings/UserCredentialsSettings.java
@@ -50,6 +50,7 @@
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 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 @@
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 d0e200af..e93c7fa 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.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 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 @@
}
});
}
+
+ @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 @@
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 f7992cc..138fadf 100644
--- a/src/com/android/settings/applications/AppInfoBase.java
+++ b/src/com/android/settings/applications/AppInfoBase.java
@@ -37,9 +37,11 @@
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 @@
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 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 bfd275f..38b8f37 100644
--- a/src/com/android/settings/applications/RunningServiceDetails.java
+++ b/src/com/android/settings/applications/RunningServiceDetails.java
@@ -36,6 +36,7 @@
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 @@
}
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 @@
}
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 293a53e..1ee068f 100644
--- a/src/com/android/settings/bluetooth/BluetoothNameDialogFragment.java
+++ b/src/com/android/settings/bluetooth/BluetoothNameDialogFragment.java
@@ -40,14 +40,17 @@
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;
@@ -88,6 +91,11 @@
}
@Override
+ public int getMetricsCategory() {
+ return MetricsProto.MetricsEvent.DIALOG_BLUETOOTH_RENAME;
+ }
+
+ @Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
String deviceName = mLocalAdapter.getName();
if (savedInstanceState != null) {
diff --git a/src/com/android/settings/bluetooth/DeviceProfilesSettings.java b/src/com/android/settings/bluetooth/DeviceProfilesSettings.java
index ca4d4f5..0c35b69 100755
--- a/src/com/android/settings/bluetooth/DeviceProfilesSettings.java
+++ b/src/com/android/settings/bluetooth/DeviceProfilesSettings.java
@@ -24,8 +24,6 @@
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.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.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,10 +63,6 @@
private ViewGroup mProfileContainer;
private TextView mProfileLabel;
- private EditTextPreference mDeviceNamePref;
-
- private final HashMap<LocalBluetoothProfile, CheckBoxPreference> mAutoConnectPrefs
- = new HashMap<LocalBluetoothProfile, CheckBoxPreference>();
private AlertDialog mDisconnectDialog;
private boolean mProfileGroupIsRemoved;
@@ -76,6 +70,11 @@
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 0bc1705..b8ea9ea 100644
--- a/src/com/android/settings/dashboard/NoHomeDialogFragment.java
+++ b/src/com/android/settings/dashboard/NoHomeDialogFragment.java
@@ -22,9 +22,11 @@
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 @@
.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 7665bf4..deadc54 100644
--- a/src/com/android/settings/datausage/BillingCycleSettings.java
+++ b/src/com/android/settings/datausage/BillingCycleSettings.java
@@ -37,6 +37,7 @@
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 @@
/**
* 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 @@
}
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;
@@ -314,6 +320,11 @@
}
@Override
+ public int getMetricsCategory() {
+ return MetricsEvent.DIALOG_BILLING_CYCLE;
+ }
+
+ @Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final Context context = getActivity();
final DataUsageEditController target = (DataUsageEditController) getTargetFragment();
@@ -359,7 +370,7 @@
* 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";
@@ -392,6 +403,11 @@
}
@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 2d408de..d7a57ca 100644
--- a/src/com/android/settings/deviceinfo/PrivateVolumeForget.java
+++ b/src/com/android/settings/deviceinfo/PrivateVolumeForget.java
@@ -36,6 +36,7 @@
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 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 428e472..4320223 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.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 @@
/**
* 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;
@@ -718,6 +719,11 @@
}
@Override
+ public int getMetricsCategory() {
+ return MetricsEvent.DIALOG_VOLUME_RENAME;
+ }
+
+ @Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final Context context = getActivity();
final StorageManager storageManager = context.getSystemService(StorageManager.class);
@@ -751,7 +757,7 @@
}
}
- public static class SystemInfoFragment extends DialogFragment {
+ public static class SystemInfoFragment extends InstrumentedDialogFragment {
public static void show(Fragment parent) {
if (!parent.isAdded()) return;
@@ -761,6 +767,11 @@
}
@Override
+ public int getMetricsCategory() {
+ return MetricsEvent.DIALOG_STORAGE_SYSTEM_INFO;
+ }
+
+ @Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
return new AlertDialog.Builder(getActivity())
.setMessage(R.string.storage_detail_dialog_system)
@@ -769,7 +780,7 @@
}
}
- 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;
@@ -783,6 +794,11 @@
}
@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 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;
@@ -820,6 +836,11 @@
}
@Override
+ public int getMetricsCategory() {
+ return MetricsEvent.DIALOG_STORAGE_USER_INFO;
+ }
+
+ @Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final Context context = getActivity();
@@ -839,7 +860,7 @@
/**
* 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;
@@ -849,6 +870,11 @@
}
@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 05f5ef0..20717ae 100644
--- a/src/com/android/settings/deviceinfo/StorageSettings.java
+++ b/src/com/android/settings/deviceinfo/StorageSettings.java
@@ -47,6 +47,7 @@
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 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);
@@ -394,6 +395,11 @@
}
@Override
+ public int getMetricsCategory() {
+ return MetricsEvent.DIALOG_VOLUME_UNMOUNT;
+ }
+
+ @Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final Context context = getActivity();
final StorageManager sm = context.getSystemService(StorageManager.class);
@@ -428,7 +434,12 @@
}
}
- 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 b44bc33..bf33487 100644
--- a/src/com/android/settings/deviceinfo/StorageWizardFormatProgress.java
+++ b/src/com/android/settings/deviceinfo/StorageWizardFormatProgress.java
@@ -33,7 +33,9 @@
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 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 adc7a99..cd56458 100644
--- a/src/com/android/settings/fingerprint/FingerprintEnrollEnrolling.java
+++ b/src/com/android/settings/fingerprint/FingerprintEnrollEnrolling.java
@@ -44,6 +44,7 @@
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 @@
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 @@
});
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 @@
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 980bf0b..5bb0856 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.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 static class RenameDeleteDialog extends DialogFragment {
+ public static class RenameDeleteDialog extends InstrumentedDialogFragment {
private Fingerprint mFp;
private EditText mDialogTextField;
@@ -669,13 +670,23 @@
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");
final boolean isProfileChallengeUser =
diff --git a/src/com/android/settings/fingerprint/SetupFingerprintEnrollEnrolling.java b/src/com/android/settings/fingerprint/SetupFingerprintEnrollEnrolling.java
index 7e95a9a..90b281f 100644
--- a/src/com/android/settings/fingerprint/SetupFingerprintEnrollEnrolling.java
+++ b/src/com/android/settings/fingerprint/SetupFingerprintEnrollEnrolling.java
@@ -31,6 +31,7 @@
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 @@
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 @@
})
.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 c6e04d7..9e9bb4c 100644
--- a/src/com/android/settings/fingerprint/SetupSkipDialog.java
+++ b/src/com/android/settings/fingerprint/SetupSkipDialog.java
@@ -25,9 +25,12 @@
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";
@@ -44,6 +47,11 @@
}
@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 6946f62..c448756 100644
--- a/src/com/android/settings/fuelgauge/HighPowerDetail.java
+++ b/src/com/android/settings/fuelgauge/HighPowerDetail.java
@@ -30,11 +30,13 @@
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";
@@ -49,6 +51,11 @@
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 ad7a2b1..24bdd61 100644
--- a/src/com/android/settings/inputmethod/KeyboardLayoutDialogFragment.java
+++ b/src/com/android/settings/inputmethod/KeyboardLayoutDialogFragment.java
@@ -40,12 +40,14 @@
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<KeyboardLayoutDialogFragment.Keyboards> {
private static final String KEY_INPUT_DEVICE_IDENTIFIER = "inputDeviceIdentifier";
@@ -62,6 +64,12 @@
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 78e90c8..ad3daae 100644
--- a/src/com/android/settings/notification/NotificationAccessSettings.java
+++ b/src/com/android/settings/notification/NotificationAccessSettings.java
@@ -31,6 +31,7 @@
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 FriendlyWarningDialogFragment extends DialogFragment {
+ public class FriendlyWarningDialogFragment extends InstrumentedDialogFragment {
static final String KEY_COMPONENT = "c";
static final String KEY_LABEL = "l";
@@ -115,6 +116,11 @@
}
@Override
+ public int getMetricsCategory() {
+ return MetricsEvent.DIALOG_DISABLE_NOTIFICATION_ACCESS;
+ }
+
+ @Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final Bundle args = getArguments();
diff --git a/src/com/android/settings/notification/SoundSettings.java b/src/com/android/settings/notification/SoundSettings.java
index 8b8ef9e..7365995 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.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,12 +827,17 @@
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())
.setTitle(R.string.work_sync_dialog_title)
diff --git a/src/com/android/settings/notification/ZenAccessSettings.java b/src/com/android/settings/notification/ZenAccessSettings.java
index b0e8e9b..7312b1d 100644
--- a/src/com/android/settings/notification/ZenAccessSettings.java
+++ b/src/com/android/settings/notification/ZenAccessSettings.java
@@ -46,6 +46,7 @@
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 @@
/**
* 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 @@
/**
* 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 d2dcdf8..7a816c3 100644
--- a/src/com/android/settings/notification/ZenModeScheduleRuleSettings.java
+++ b/src/com/android/settings/notification/ZenModeScheduleRuleSettings.java
@@ -39,6 +39,7 @@
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,11 +276,16 @@
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;
final Calendar c = Calendar.getInstance();
diff --git a/src/com/android/settings/utils/ManagedServiceSettings.java b/src/com/android/settings/utils/ManagedServiceSettings.java
index 14c9b61..bd839c8 100644
--- a/src/com/android/settings/utils/ManagedServiceSettings.java
+++ b/src/com/android/settings/utils/ManagedServiceSettings.java
@@ -35,7 +35,9 @@
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 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 8013780..6093e89 100644
--- a/src/com/android/settings/vpn2/AppDialogFragment.java
+++ b/src/com/android/settings/vpn2/AppDialogFragment.java
@@ -31,13 +31,15 @@
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 @@
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 e9dd4fd..1a3000e 100644
--- a/src/com/android/settings/vpn2/AppManagementFragment.java
+++ b/src/com/android/settings/vpn2/AppManagementFragment.java
@@ -42,6 +42,7 @@
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 @@
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 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 1880a6b..1a180c5 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.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 @@
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 f53f59a..b0bdd77 100644
--- a/src/com/android/settings/wifi/AdvancedWifiSettings.java
+++ b/src/com/android/settings/wifi/AdvancedWifiSettings.java
@@ -31,6 +31,7 @@
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 @@
}
/* 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.
@@ -131,6 +132,11 @@
}
@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 893aaf4..29ef79e 100644
--- a/src/com/android/settings/wifi/WifiScanModeActivity.java
+++ b/src/com/android/settings/wifi/WifiScanModeActivity.java
@@ -28,7 +28,9 @@
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 @@
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;
@@ -122,6 +124,11 @@
}
@Override
+ public int getMetricsCategory() {
+ return MetricsProto.MetricsEvent.DIALOG_WIFI_SCAN_MODE;
+ }
+
+ @Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
return new AlertDialog.Builder(getActivity())
.setMessage(getString(R.string.wifi_scan_always_turnon_message, mApp))
diff --git a/src/com/android/settings/wifi/WifiSetupActivity.java b/src/com/android/settings/wifi/WifiSetupActivity.java
index 2264546..70370b2 100644
--- a/src/com/android/settings/wifi/WifiSetupActivity.java
+++ b/src/com/android/settings/wifi/WifiSetupActivity.java
@@ -32,9 +32,11 @@
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 @@
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);
@@ -254,6 +256,11 @@
}
@Override
+ public int getMetricsCategory() {
+ return MetricsProto.MetricsEvent.DIALOG_WIFI_SKIP;
+ }
+
+ @Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
int messageRes = getArguments().getInt("messageRes");
final AlertDialog dialog = new AlertDialog.Builder(getActivity())