Add visibility metrics to dialogs.

Bug: 30681529
Test: adb logcat -b events | egrep "(sysui_|notification_)"
Change-Id: I199d2e1b2cb8588a562b46bb8128d8ece24952f0
This commit is contained in:
Fan Zhang
2016-09-16 12:45:07 -07:00
parent 9560b36306
commit 1e516287bd
30 changed files with 311 additions and 59 deletions

View File

@@ -55,6 +55,7 @@ import android.util.Log;
import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.internal.widget.LockPatternUtils; import com.android.internal.widget.LockPatternUtils;
import com.android.settings.TrustAgentUtils.TrustAgentComponentInfo; import com.android.settings.TrustAgentUtils.TrustAgentComponentInfo;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settings.fingerprint.FingerprintSettings; import com.android.settings.fingerprint.FingerprintSettings;
import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Index; 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"; private static final String EXTRA_COMPLIANT = "compliant";
public static UnificationConfirmationDialog newIntance(boolean compliant) { public static UnificationConfirmationDialog newIntance(boolean compliant) {
@@ -1272,6 +1273,11 @@ public class SecuritySettings extends SettingsPreferenceFragment
super.onDismiss(dialog); super.onDismiss(dialog);
((SecuritySettings) getParentFragment()).updateUnificationPreference(); ((SecuritySettings) getParentFragment()).updateUnificationPreference();
} }
@Override
public int getMetricsCategory() {
return MetricsEvent.DIALOG_UNIFICATION_CONFIRMATION;
}
} }
} }

View File

@@ -50,6 +50,7 @@ import android.widget.TextView;
import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.internal.widget.LockPatternUtils; import com.android.internal.widget.LockPatternUtils;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; 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 TAG = "CredentialDialogFragment";
private static final String ARG_CREDENTIAL = "credential"; private static final String ARG_CREDENTIAL = "credential";
@@ -166,6 +167,11 @@ public class UserCredentialsSettings extends OptionsMenuFragment implements OnIt
return builder.create(); return builder.create();
} }
@Override
public int getMetricsCategory() {
return MetricsEvent.DIALOG_USER_CREDENTIAL;
}
/** /**
* Deletes all certificates and keys under a given alias. * Deletes all certificates and keys under a given alias.
* *

View File

@@ -56,6 +56,7 @@ import com.android.settings.R;
import com.android.settings.SettingsActivity; import com.android.settings.SettingsActivity;
import com.android.settings.SettingsPreferenceFragment; import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils; import com.android.settings.Utils;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Index; import com.android.settings.search.Index;
import com.android.settings.search.Indexable; 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"; private static final String ARG_USER_ID = "userId";
static RemoveUserFragment newInstance(int 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 * 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_ENABLING = "enabling";
private static final String SAVE_USER_HANDLE = "userHandle"; private static final String SAVE_USER_HANDLE = "userHandle";
private boolean mEnabling; private boolean mEnabling;
@@ -705,6 +711,11 @@ public class AccountSettings extends SettingsPreferenceFragment
outState.putBoolean(SAVE_ENABLING, mEnabling); outState.putBoolean(SAVE_ENABLING, mEnabling);
outState.putParcelable(SAVE_USER_HANDLE, mUserHandle); 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 = public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =

View File

@@ -37,9 +37,11 @@ import android.os.UserHandle;
import android.os.UserManager; import android.os.UserManager;
import android.util.Log; import android.util.Log;
import com.android.internal.logging.MetricsProto;
import com.android.settings.SettingsActivity; import com.android.settings.SettingsActivity;
import com.android.settings.SettingsPreferenceFragment; import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils; import com.android.settings.Utils;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.applications.ApplicationsState; import com.android.settingslib.applications.ApplicationsState;
import com.android.settingslib.applications.ApplicationsState.AppEntry; import com.android.settingslib.applications.ApplicationsState.AppEntry;
@@ -229,11 +231,18 @@ public abstract class AppInfoBase extends SettingsPreferenceFragment
new UserHandle(UserHandle.getUserId(uid))); 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 @Override
public Dialog onCreateDialog(Bundle savedInstanceState) { public Dialog onCreateDialog(Bundle savedInstanceState) {
int id = getArguments().getInt("id"); int id = getArguments().getInt(ARG_ID);
int errorCode = getArguments().getInt("moveError"); int errorCode = getArguments().getInt("moveError");
Dialog dialog = ((AppInfoBase) getTargetFragment()).createDialog(id, errorCode); Dialog dialog = ((AppInfoBase) getTargetFragment()).createDialog(id, errorCode);
if (dialog == null) { if (dialog == null) {
@@ -245,7 +254,7 @@ public abstract class AppInfoBase extends SettingsPreferenceFragment
public static MyAlertDialogFragment newInstance(int id, int errorCode) { public static MyAlertDialogFragment newInstance(int id, int errorCode) {
MyAlertDialogFragment dialogFragment = new MyAlertDialogFragment(); MyAlertDialogFragment dialogFragment = new MyAlertDialogFragment();
Bundle args = new Bundle(); Bundle args = new Bundle();
args.putInt("id", id); args.putInt(ARG_ID, id);
args.putInt("moveError", errorCode); args.putInt("moveError", errorCode);
dialogFragment.setArguments(args); dialogFragment.setArguments(args);
return dialogFragment; return dialogFragment;

View File

@@ -36,6 +36,7 @@ import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.settings.core.InstrumentedFragment; import com.android.settings.core.InstrumentedFragment;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.Utils; import com.android.settings.Utils;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
@@ -562,7 +563,7 @@ public class RunningServiceDetails extends InstrumentedFragment
newFragment.show(getFragmentManager(), "confirmstop"); newFragment.show(getFragmentManager(), "confirmstop");
} }
public static class MyAlertDialogFragment extends DialogFragment { public static class MyAlertDialogFragment extends InstrumentedDialogFragment {
public static MyAlertDialogFragment newConfirmStop(int id, ComponentName comp) { public static MyAlertDialogFragment newConfirmStop(int id, ComponentName comp) {
MyAlertDialogFragment frag = new MyAlertDialogFragment(); MyAlertDialogFragment frag = new MyAlertDialogFragment();
@@ -605,6 +606,11 @@ public class RunningServiceDetails extends InstrumentedFragment
} }
throw new IllegalArgumentException("unknown id " + id); throw new IllegalArgumentException("unknown id " + id);
} }
@Override
public int getMetricsCategory() {
return MetricsEvent.DIALOG_RUNNIGN_SERVICE;
}
} }
void ensureData() { void ensureData() {

View File

@@ -40,14 +40,17 @@ import android.widget.Button;
import android.widget.EditText; import android.widget.EditText;
import android.widget.TextView; import android.widget.TextView;
import com.android.internal.logging.MetricsProto;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settingslib.bluetooth.LocalBluetoothAdapter; import com.android.settingslib.bluetooth.LocalBluetoothAdapter;
import com.android.settingslib.bluetooth.LocalBluetoothManager; import com.android.settingslib.bluetooth.LocalBluetoothManager;
/** /**
* Dialog fragment for renaming the local Bluetooth device. * 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 static final int BLUETOOTH_NAME_MAX_LENGTH_BYTES = 248;
private AlertDialog mAlertDialog; private AlertDialog mAlertDialog;
@@ -87,6 +90,11 @@ public final class BluetoothNameDialogFragment extends DialogFragment implements
mLocalAdapter = localManager.getBluetoothAdapter(); mLocalAdapter = localManager.getBluetoothAdapter();
} }
@Override
public int getMetricsCategory() {
return MetricsProto.MetricsEvent.DIALOG_BLUETOOTH_RENAME;
}
@Override @Override
public Dialog onCreateDialog(Bundle savedInstanceState) { public Dialog onCreateDialog(Bundle savedInstanceState) {
String deviceName = mLocalAdapter.getName(); String deviceName = mLocalAdapter.getName();

View File

@@ -24,8 +24,6 @@ import android.bluetooth.BluetoothProfile;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.os.Bundle; import android.os.Bundle;
import android.support.v7.preference.CheckBoxPreference;
import android.support.v7.preference.EditTextPreference;
import android.text.Html; import android.text.Html;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
@@ -37,7 +35,9 @@ import android.widget.CheckBox;
import android.widget.EditText; import android.widget.EditText;
import android.widget.TextView; import android.widget.TextView;
import com.android.internal.logging.MetricsProto;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settingslib.bluetooth.CachedBluetoothDevice; import com.android.settingslib.bluetooth.CachedBluetoothDevice;
import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager; import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
import com.android.settingslib.bluetooth.LocalBluetoothManager; 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.PanProfile;
import com.android.settingslib.bluetooth.PbapServerProfile; import com.android.settingslib.bluetooth.PbapServerProfile;
import java.util.HashMap; public final class DeviceProfilesSettings extends InstrumentedDialogFragment implements
public final class DeviceProfilesSettings extends DialogFragment implements
CachedBluetoothDevice.Callback, DialogInterface.OnClickListener, OnClickListener { CachedBluetoothDevice.Callback, DialogInterface.OnClickListener, OnClickListener {
private static final String TAG = "DeviceProfilesSettings"; private static final String TAG = "DeviceProfilesSettings";
@@ -65,16 +63,17 @@ public final class DeviceProfilesSettings extends DialogFragment implements
private ViewGroup mProfileContainer; private ViewGroup mProfileContainer;
private TextView mProfileLabel; private TextView mProfileLabel;
private EditTextPreference mDeviceNamePref;
private final HashMap<LocalBluetoothProfile, CheckBoxPreference> mAutoConnectPrefs
= new HashMap<LocalBluetoothProfile, CheckBoxPreference>();
private AlertDialog mDisconnectDialog; private AlertDialog mDisconnectDialog;
private boolean mProfileGroupIsRemoved; private boolean mProfileGroupIsRemoved;
private View mRootView; private View mRootView;
@Override
public int getMetricsCategory() {
return MetricsProto.MetricsEvent.DIALOG_BLUETOOTH_PAIRED_DEVICE_PROFILE;
}
@Override @Override
public void onCreate(Bundle savedInstanceState) { public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);

View File

@@ -22,9 +22,11 @@ import android.app.Dialog;
import android.app.DialogFragment; import android.app.DialogFragment;
import android.os.Bundle; import android.os.Bundle;
import com.android.internal.logging.MetricsProto;
import com.android.settings.R; 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) { public static void show(Activity parent) {
final NoHomeDialogFragment dialog = new NoHomeDialogFragment(); final NoHomeDialogFragment dialog = new NoHomeDialogFragment();
dialog.show(parent.getFragmentManager(), null); dialog.show(parent.getFragmentManager(), null);
@@ -37,4 +39,9 @@ public class NoHomeDialogFragment extends DialogFragment {
.setPositiveButton(android.R.string.ok, null) .setPositiveButton(android.R.string.ok, null)
.create(); .create();
} }
@Override
public int getMetricsCategory() {
return MetricsProto.MetricsEvent.DIALOG_NO_HOME;
}
} }

View File

@@ -37,6 +37,7 @@ import android.widget.Spinner;
import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settingslib.NetworkPolicyEditor; import com.android.settingslib.NetworkPolicyEditor;
import com.android.settingslib.net.DataUsageController; import com.android.settingslib.net.DataUsageController;
@@ -191,7 +192,7 @@ public class BillingCycleSettings extends DataUsageBase implements
/** /**
* Dialog to edit {@link NetworkPolicy#warningBytes}. * Dialog to edit {@link NetworkPolicy#warningBytes}.
*/ */
public static class BytesEditorFragment extends DialogFragment public static class BytesEditorFragment extends InstrumentedDialogFragment
implements DialogInterface.OnClickListener { implements DialogInterface.OnClickListener {
private static final String EXTRA_TEMPLATE = "template"; private static final String EXTRA_TEMPLATE = "template";
private static final String EXTRA_LIMIT = "limit"; private static final String EXTRA_LIMIT = "limit";
@@ -291,12 +292,17 @@ public class BillingCycleSettings extends DataUsageBase implements
} }
target.updateDataUsage(); target.updateDataUsage();
} }
@Override
public int getMetricsCategory() {
return MetricsEvent.DIALOG_BILLING_BYTE_LIMIT;
}
} }
/** /**
* Dialog to edit {@link NetworkPolicy#cycleDay}. * Dialog to edit {@link NetworkPolicy#cycleDay}.
*/ */
public static class CycleEditorFragment extends DialogFragment implements public static class CycleEditorFragment extends InstrumentedDialogFragment implements
DialogInterface.OnClickListener { DialogInterface.OnClickListener {
private static final String EXTRA_TEMPLATE = "template"; private static final String EXTRA_TEMPLATE = "template";
private NumberPicker mCycleDayPicker; private NumberPicker mCycleDayPicker;
@@ -313,6 +319,11 @@ public class BillingCycleSettings extends DataUsageBase implements
dialog.show(parent.getFragmentManager(), TAG_CYCLE_EDITOR); dialog.show(parent.getFragmentManager(), TAG_CYCLE_EDITOR);
} }
@Override
public int getMetricsCategory() {
return MetricsEvent.DIALOG_BILLING_CYCLE;
}
@Override @Override
public Dialog onCreateDialog(Bundle savedInstanceState) { public Dialog onCreateDialog(Bundle savedInstanceState) {
final Context context = getActivity(); final Context context = getActivity();
@@ -359,7 +370,7 @@ public class BillingCycleSettings extends DataUsageBase implements
* Dialog to request user confirmation before setting * Dialog to request user confirmation before setting
* {@link NetworkPolicy#limitBytes}. * {@link NetworkPolicy#limitBytes}.
*/ */
public static class ConfirmLimitFragment extends DialogFragment implements public static class ConfirmLimitFragment extends InstrumentedDialogFragment implements
DialogInterface.OnClickListener { DialogInterface.OnClickListener {
private static final String EXTRA_MESSAGE = "message"; private static final String EXTRA_MESSAGE = "message";
private static final String EXTRA_LIMIT_BYTES = "limitBytes"; 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); dialog.show(parent.getFragmentManager(), TAG_CONFIRM_LIMIT);
} }
@Override
public int getMetricsCategory() {
return MetricsEvent.DIALOG_BILLING_CONFIRM_LIMIT;
}
@Override @Override
public Dialog onCreateDialog(Bundle savedInstanceState) { public Dialog onCreateDialog(Bundle savedInstanceState) {
final Context context = getActivity(); final Context context = getActivity();

View File

@@ -36,6 +36,7 @@ import android.widget.TextView;
import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment; import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
public class PrivateVolumeForget extends SettingsPreferenceFragment { public class PrivateVolumeForget extends SettingsPreferenceFragment {
private static final String TAG_FORGET_CONFIRM = "forget_confirm"; 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) { public static void show(Fragment parent, String fsUuid) {
final Bundle args = new Bundle(); final Bundle args = new Bundle();
args.putString(VolumeRecord.EXTRA_FS_UUID, fsUuid); args.putString(VolumeRecord.EXTRA_FS_UUID, fsUuid);

View File

@@ -60,6 +60,7 @@ import com.android.settings.Settings.StorageUseActivity;
import com.android.settings.SettingsPreferenceFragment; import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils; import com.android.settings.Utils;
import com.android.settings.applications.ManageApplications; import com.android.settings.applications.ManageApplications;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settings.deletionhelper.AutomaticStorageManagerSettings; import com.android.settings.deletionhelper.AutomaticStorageManagerSettings;
import com.android.settings.deviceinfo.StorageSettings.MountTask; import com.android.settings.deviceinfo.StorageSettings.MountTask;
import com.android.settingslib.deviceinfo.StorageMeasurement; import com.android.settingslib.deviceinfo.StorageMeasurement;
@@ -705,7 +706,7 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment {
/** /**
* Dialog that allows editing of volume nickname. * 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) { public static void show(PrivateVolumeSettings parent, VolumeInfo vol) {
if (!parent.isAdded()) return; if (!parent.isAdded()) return;
@@ -717,6 +718,11 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment {
dialog.show(parent.getFragmentManager(), TAG_RENAME); dialog.show(parent.getFragmentManager(), TAG_RENAME);
} }
@Override
public int getMetricsCategory() {
return MetricsEvent.DIALOG_VOLUME_RENAME;
}
@Override @Override
public Dialog onCreateDialog(Bundle savedInstanceState) { public Dialog onCreateDialog(Bundle savedInstanceState) {
final Context context = getActivity(); 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) { public static void show(Fragment parent) {
if (!parent.isAdded()) return; if (!parent.isAdded()) return;
@@ -760,6 +766,11 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment {
dialog.show(parent.getFragmentManager(), TAG_SYSTEM_INFO); dialog.show(parent.getFragmentManager(), TAG_SYSTEM_INFO);
} }
@Override
public int getMetricsCategory() {
return MetricsEvent.DIALOG_STORAGE_SYSTEM_INFO;
}
@Override @Override
public Dialog onCreateDialog(Bundle savedInstanceState) { public Dialog onCreateDialog(Bundle savedInstanceState) {
return new AlertDialog.Builder(getActivity()) 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) { public static void show(Fragment parent, String title, VolumeInfo sharedVol) {
if (!parent.isAdded()) return; if (!parent.isAdded()) return;
@@ -782,6 +793,11 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment {
dialog.show(parent.getFragmentManager(), TAG_OTHER_INFO); dialog.show(parent.getFragmentManager(), TAG_OTHER_INFO);
} }
@Override
public int getMetricsCategory() {
return MetricsEvent.DIALOG_STORAGE_OTHER_INFO;
}
@Override @Override
public Dialog onCreateDialog(Bundle savedInstanceState) { public Dialog onCreateDialog(Bundle savedInstanceState) {
final Context context = getActivity(); 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) { public static void show(Fragment parent, CharSequence userLabel, CharSequence userSize) {
if (!parent.isAdded()) return; if (!parent.isAdded()) return;
@@ -819,6 +835,11 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment {
dialog.show(parent.getFragmentManager(), TAG_USER_INFO); dialog.show(parent.getFragmentManager(), TAG_USER_INFO);
} }
@Override
public int getMetricsCategory() {
return MetricsEvent.DIALOG_STORAGE_USER_INFO;
}
@Override @Override
public Dialog onCreateDialog(Bundle savedInstanceState) { public Dialog onCreateDialog(Bundle savedInstanceState) {
final Context context = getActivity(); final Context context = getActivity();
@@ -839,7 +860,7 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment {
/** /**
* Dialog to request user confirmation before clearing all cache data. * 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) { public static void show(Fragment parent) {
if (!parent.isAdded()) return; if (!parent.isAdded()) return;
@@ -848,6 +869,11 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment {
dialog.show(parent.getFragmentManager(), TAG_CONFIRM_CLEAR_CACHE); dialog.show(parent.getFragmentManager(), TAG_CONFIRM_CLEAR_CACHE);
} }
@Override
public int getMetricsCategory() {
return MetricsEvent.DIALOG_STORAGE_CLEAR_CACHE;
}
@Override @Override
public Dialog onCreateDialog(Bundle savedInstanceState) { public Dialog onCreateDialog(Bundle savedInstanceState) {
final Context context = getActivity(); final Context context = getActivity();

View File

@@ -47,6 +47,7 @@ import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment; import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils; import com.android.settings.Utils;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settings.dashboard.SummaryLoader; import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable; 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) { public static void show(Fragment parent, String volumeId) {
final Bundle args = new Bundle(); final Bundle args = new Bundle();
args.putString(VolumeInfo.EXTRA_VOLUME_ID, volumeId); 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); dialog.show(parent.getFragmentManager(), TAG_VOLUME_UNMOUNTED);
} }
@Override
public int getMetricsCategory() {
return MetricsEvent.DIALOG_VOLUME_UNMOUNT;
}
@Override @Override
public Dialog onCreateDialog(Bundle savedInstanceState) { public Dialog onCreateDialog(Bundle savedInstanceState) {
final Context context = getActivity(); 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) { public static void show(Fragment parent, int resId, String diskId) {
final Bundle args = new Bundle(); final Bundle args = new Bundle();
args.putInt(Intent.EXTRA_TEXT, resId); args.putInt(Intent.EXTRA_TEXT, resId);

View File

@@ -33,7 +33,9 @@ import android.util.Log;
import android.view.View; import android.view.View;
import android.widget.Toast; import android.widget.Toast;
import com.android.internal.logging.MetricsProto;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import java.util.Objects; 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 @Override
public Dialog onCreateDialog(Bundle savedInstanceState) { public Dialog onCreateDialog(Bundle savedInstanceState) {
final Context context = getActivity(); final Context context = getActivity();

View File

@@ -44,6 +44,7 @@ import android.widget.TextView;
import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.settings.ChooseLockSettingsHelper; import com.android.settings.ChooseLockSettingsHelper;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
/** /**
* Activity which handles the actual enrolling for fingerprint. * Activity which handles the actual enrolling for fingerprint.
@@ -427,7 +428,7 @@ public class FingerprintEnrollEnrolling extends FingerprintEnrollBase
return MetricsEvent.FINGERPRINT_ENROLLING; return MetricsEvent.FINGERPRINT_ENROLLING;
} }
public static class IconTouchDialog extends DialogFragment { public static class IconTouchDialog extends InstrumentedDialogFragment {
@Override @Override
public Dialog onCreateDialog(Bundle savedInstanceState) { public Dialog onCreateDialog(Bundle savedInstanceState) {
@@ -443,9 +444,14 @@ public class FingerprintEnrollEnrolling extends FingerprintEnrollBase
}); });
return builder.create(); 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. * Create a new instance of ErrorDialog.
@@ -488,5 +494,10 @@ public class FingerprintEnrollEnrolling extends FingerprintEnrollBase
dialog.setCanceledOnTouchOutside(false); dialog.setCanceledOnTouchOutside(false);
return dialog; return dialog;
} }
@Override
public int getMetricsCategory() {
return MetricsEvent.DIALOG_FINGERPINT_ERROR;
}
} }
} }

View File

@@ -64,6 +64,7 @@ import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.settings.ChooseLockGeneric; import com.android.settings.ChooseLockGeneric;
import com.android.settings.ChooseLockSettingsHelper; import com.android.settings.ChooseLockSettingsHelper;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settingslib.HelpUtils; import com.android.settingslib.HelpUtils;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment; 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 Fingerprint mFp;
private EditText mDialogTextField; private EditText mDialogTextField;
@@ -669,12 +670,22 @@ public class FingerprintSettings extends SubSettings {
outState.putInt("endSelection", mDialogTextField.getSelectionEnd()); 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; private Fingerprint mFp;
@Override
public int getMetricsCategory() {
return MetricsEvent.DIALOG_FINGERPINT_DELETE_LAST;
}
@Override @Override
public Dialog onCreateDialog(Bundle savedInstanceState) { public Dialog onCreateDialog(Bundle savedInstanceState) {
mFp = getArguments().getParcelable("fingerprint"); mFp = getArguments().getParcelable("fingerprint");

View File

@@ -31,6 +31,7 @@ import android.widget.Button;
import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SetupWizardUtils; import com.android.settings.SetupWizardUtils;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
public class SetupFingerprintEnrollEnrolling extends FingerprintEnrollEnrolling { public class SetupFingerprintEnrollEnrolling extends FingerprintEnrollEnrolling {
@@ -73,7 +74,7 @@ public class SetupFingerprintEnrollEnrolling extends FingerprintEnrollEnrolling
return MetricsEvent.FINGERPRINT_ENROLLING_SETUP; return MetricsEvent.FINGERPRINT_ENROLLING_SETUP;
} }
public static class SkipDialog extends DialogFragment { public static class SkipDialog extends InstrumentedDialogFragment {
@Override @Override
public void show(FragmentManager manager, String tag) { public void show(FragmentManager manager, String tag) {
@@ -111,5 +112,10 @@ public class SetupFingerprintEnrollEnrolling extends FingerprintEnrollEnrolling
}) })
.create(); .create();
} }
@Override
public int getMetricsCategory() {
return MetricsEvent.DIALOG_FINGERPRINT_CANCEL_SETUP;
}
} }
} }

View File

@@ -25,9 +25,12 @@ import android.content.DialogInterface;
import android.os.Bundle; import android.os.Bundle;
import android.support.annotation.NonNull; import android.support.annotation.NonNull;
import com.android.internal.logging.MetricsProto;
import com.android.settings.R; 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"; public static final String EXTRA_FRP_SUPPORTED = ":settings:frp_supported";
@@ -43,6 +46,11 @@ public class SetupSkipDialog extends DialogFragment implements DialogInterface.O
return dialog; return dialog;
} }
@Override
public int getMetricsCategory() {
return MetricsProto.MetricsEvent.DIALOG_FINGERPRINT_SKIP_SETUP;
}
@Override @Override
public Dialog onCreateDialog(Bundle savedInstanceState) { public Dialog onCreateDialog(Bundle savedInstanceState) {
return onCreateDialogBuilder().create(); return onCreateDialogBuilder().create();

View File

@@ -30,11 +30,13 @@ import android.view.View;
import android.widget.Checkable; import android.widget.Checkable;
import android.widget.TextView; import android.widget.TextView;
import com.android.internal.logging.MetricsProto;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.applications.AppInfoBase; import com.android.settings.applications.AppInfoBase;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settingslib.applications.ApplicationsState.AppEntry; import com.android.settingslib.applications.ApplicationsState.AppEntry;
public class HighPowerDetail extends DialogFragment implements OnClickListener, public class HighPowerDetail extends InstrumentedDialogFragment implements OnClickListener,
View.OnClickListener { View.OnClickListener {
private static final String ARG_DEFAULT_ON = "default_on"; 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 mOptionOn;
private Checkable mOptionOff; private Checkable mOptionOff;
@Override
public int getMetricsCategory() {
return MetricsProto.MetricsEvent.DIALOG_HIGH_POWER_DETAILS;
}
@Override @Override
public void onCreate(Bundle savedInstanceState) { public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);

View File

@@ -40,12 +40,14 @@ import android.widget.CheckedTextView;
import android.widget.RadioButton; import android.widget.RadioButton;
import android.widget.TextView; import android.widget.TextView;
import com.android.internal.logging.MetricsProto;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
public class KeyboardLayoutDialogFragment extends DialogFragment public class KeyboardLayoutDialogFragment extends InstrumentedDialogFragment
implements InputDeviceListener, LoaderCallbacks<KeyboardLayoutDialogFragment.Keyboards> { implements InputDeviceListener, LoaderCallbacks<KeyboardLayoutDialogFragment.Keyboards> {
private static final String KEY_INPUT_DEVICE_IDENTIFIER = "inputDeviceIdentifier"; private static final String KEY_INPUT_DEVICE_IDENTIFIER = "inputDeviceIdentifier";
@@ -62,6 +64,12 @@ public class KeyboardLayoutDialogFragment extends DialogFragment
mInputDeviceIdentifier = inputDeviceIdentifier; mInputDeviceIdentifier = inputDeviceIdentifier;
} }
@Override
public int getMetricsCategory() {
return MetricsProto.MetricsEvent.DIALOG_KEYBOARD_LAYOUT;
}
@Override @Override
public void onAttach(Activity activity) { public void onAttach(Activity activity) {
super.onAttach(activity); super.onAttach(activity);

View File

@@ -31,6 +31,7 @@ import android.service.notification.NotificationListenerService;
import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settings.utils.ManagedServiceSettings; import com.android.settings.utils.ManagedServiceSettings;
import com.android.settings.utils.ServiceListing; 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_COMPONENT = "c";
static final String KEY_LABEL = "l"; static final String KEY_LABEL = "l";
@@ -114,6 +115,11 @@ public class NotificationAccessSettings extends ManagedServiceSettings {
return this; return this;
} }
@Override
public int getMetricsCategory() {
return MetricsEvent.DIALOG_DISABLE_NOTIFICATION_ACCESS;
}
@Override @Override
public Dialog onCreateDialog(Bundle savedInstanceState) { public Dialog onCreateDialog(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);

View File

@@ -66,6 +66,7 @@ import com.android.settings.RingtonePreference;
import com.android.settings.DefaultRingtonePreference; import com.android.settings.DefaultRingtonePreference;
import com.android.settings.SettingsPreferenceFragment; import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils; import com.android.settings.Utils;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settings.dashboard.SummaryLoader; import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable; import com.android.settings.search.Indexable;
@@ -826,11 +827,16 @@ public class SoundSettings extends SettingsPreferenceFragment
mWorkAlarmRingtonePreference = null; mWorkAlarmRingtonePreference = null;
} }
public static class UnifyWorkDialogFragment extends DialogFragment public static class UnifyWorkDialogFragment extends InstrumentedDialogFragment
implements DialogInterface.OnClickListener { implements DialogInterface.OnClickListener {
private static final String TAG = "UnifyWorkDialogFragment"; private static final String TAG = "UnifyWorkDialogFragment";
private static final int REQUEST_CODE = 200; private static final int REQUEST_CODE = 200;
@Override
public int getMetricsCategory() {
return MetricsEvent.DIALOG_UNIFY_SOUND_SETTINGS;
}
@Override @Override
public Dialog onCreateDialog(Bundle savedInstanceState) { public Dialog onCreateDialog(Bundle savedInstanceState) {
return new AlertDialog.Builder(getActivity()) return new AlertDialog.Builder(getActivity())

View File

@@ -46,6 +46,7 @@ import android.widget.Toast;
import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; 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. * 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_PKG = "p";
static final String KEY_LABEL = "l"; static final String KEY_LABEL = "l";
@Override
public int getMetricsCategory() {
return MetricsEvent.DIALOG_ZEN_ACCESS_GRANT;
}
public ScaryWarningDialogFragment setPkgInfo(String pkg, CharSequence label) { public ScaryWarningDialogFragment setPkgInfo(String pkg, CharSequence label) {
Bundle args = new Bundle(); Bundle args = new Bundle();
args.putString(KEY_PKG, pkg); 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. * 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_PKG = "p";
static final String KEY_LABEL = "l"; static final String KEY_LABEL = "l";
@Override
public int getMetricsCategory() {
return MetricsEvent.DIALOG_ZEN_ACCESS_REVOKE;
}
public FriendlyWarningDialogFragment setPkgInfo(String pkg, CharSequence label) { public FriendlyWarningDialogFragment setPkgInfo(String pkg, CharSequence label) {
Bundle args = new Bundle(); Bundle args = new Bundle();
args.putString(KEY_PKG, pkg); args.putString(KEY_PKG, pkg);

View File

@@ -39,6 +39,7 @@ import android.widget.TimePicker;
import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Arrays; import java.util.Arrays;
@@ -275,10 +276,15 @@ public class ZenModeScheduleRuleSettings extends ZenModeRuleSettingsBase {
setSummary(time); setSummary(time);
} }
public static class TimePickerFragment extends DialogFragment implements public static class TimePickerFragment extends InstrumentedDialogFragment implements
TimePickerDialog.OnTimeSetListener { TimePickerDialog.OnTimeSetListener {
public TimePickerPreference pref; public TimePickerPreference pref;
@Override
public int getMetricsCategory() {
return MetricsEvent.DIALOG_ZEN_TIMEPICKER;
}
@Override @Override
public Dialog onCreateDialog(Bundle savedInstanceState) { public Dialog onCreateDialog(Bundle savedInstanceState) {
final boolean usePref = pref != null && pref.mHourOfDay >= 0 && pref.mMinute >= 0; final boolean usePref = pref != null && pref.mHourOfDay >= 0 && pref.mMinute >= 0;

View File

@@ -35,7 +35,9 @@ import android.support.v7.preference.PreferenceScreen;
import android.view.View; import android.view.View;
import android.widget.TextView; import android.widget.TextView;
import com.android.internal.logging.MetricsProto;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settings.notification.EmptyTextSettings; import com.android.settings.notification.EmptyTextSettings;
import java.util.Collections; 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_COMPONENT = "c";
static final String KEY_LABEL = "l"; static final String KEY_LABEL = "l";
@Override
public int getMetricsCategory() {
return MetricsProto.MetricsEvent.DIALOG_SERVICE_ACCESS_WARNING;
}
public ScaryWarningDialogFragment setServiceInfo(ComponentName cn, String label, public ScaryWarningDialogFragment setServiceInfo(ComponentName cn, String label,
Fragment target) { Fragment target) {
Bundle args = new Bundle(); Bundle args = new Bundle();

View File

@@ -31,13 +31,15 @@ import android.os.UserHandle;
import android.os.UserManager; import android.os.UserManager;
import android.util.Log; import android.util.Log;
import com.android.internal.logging.MetricsProto;
import com.android.internal.net.VpnConfig; import com.android.internal.net.VpnConfig;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
/** /**
* Fragment wrapper around an {@link AppDialog}. * 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_APP_DIALOG = "vpnappdialog";
private static final String TAG = "AppDialogFragment"; 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( private final IConnectivityManager mService = IConnectivityManager.Stub.asInterface(
ServiceManager.getService(Context.CONNECTIVITY_SERVICE)); ServiceManager.getService(Context.CONNECTIVITY_SERVICE));
@Override
public int getMetricsCategory() {
return MetricsProto.MetricsEvent.DIALOG_VPN_APP_CONFIG;
}
public interface Listener { public interface Listener {
public void onForget(); void onForget();
public void onCancel(); void onCancel();
} }
public static void show(Fragment parent, PackageInfo packageInfo, String label, public static void show(Fragment parent, PackageInfo packageInfo, String label,

View File

@@ -42,6 +42,7 @@ import com.android.internal.util.ArrayUtils;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment; import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils; import com.android.settings.Utils;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settingslib.RestrictedSwitchPreference; import com.android.settingslib.RestrictedSwitchPreference;
import com.android.settingslib.RestrictedPreference; import com.android.settingslib.RestrictedPreference;
@@ -303,10 +304,15 @@ public class AppManagementFragment extends SettingsPreferenceFragment
return getAlwaysOnVpnPackage() != null && !isVpnAlwaysOn(); 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 TAG = "CannotConnect";
private static final String ARG_VPN_LABEL = "label"; 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) { public static void show(AppManagementFragment parent, String vpnLabel) {
if (parent.getFragmentManager().findFragmentByTag(TAG) == null) { if (parent.getFragmentManager().findFragmentByTag(TAG) == null) {
final Bundle args = new Bundle(); 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 { implements DialogInterface.OnClickListener {
private static final String TAG = "ReplaceExistingVpn"; private static final String TAG = "ReplaceExistingVpn";
@Override
public int getMetricsCategory() {
return MetricsEvent.DIALOG_VPN_REPLACE_EXISTING;
}
public static void show(AppManagementFragment parent) { public static void show(AppManagementFragment parent) {
if (parent.getFragmentManager().findFragmentByTag(TAG) == null) { if (parent.getFragmentManager().findFragmentByTag(TAG) == null) {
final ReplaceExistingVpnFragment frag = new ReplaceExistingVpnFragment(); final ReplaceExistingVpnFragment frag = new ReplaceExistingVpnFragment();

View File

@@ -16,8 +16,6 @@
package com.android.settings.vpn2; package com.android.settings.vpn2;
import java.util.Arrays;
import android.app.Dialog; import android.app.Dialog;
import android.app.DialogFragment; import android.app.DialogFragment;
import android.content.Context; import android.content.Context;
@@ -33,16 +31,18 @@ import android.security.KeyStore;
import android.util.Log; import android.util.Log;
import android.widget.Toast; import android.widget.Toast;
import com.android.internal.logging.MetricsProto;
import com.android.internal.net.LegacyVpnInfo; import com.android.internal.net.LegacyVpnInfo;
import com.android.internal.net.VpnConfig; import com.android.internal.net.VpnConfig;
import com.android.internal.net.VpnProfile; import com.android.internal.net.VpnProfile;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
/** /**
* Fragment wrapper around a {@link ConfigDialog}. * Fragment wrapper around a {@link ConfigDialog}.
*/ */
public class ConfigDialogFragment extends DialogFragment implements public class ConfigDialogFragment extends InstrumentedDialogFragment
DialogInterface.OnClickListener { implements DialogInterface.OnClickListener {
private static final String TAG_CONFIG_DIALOG = "vpnconfigdialog"; private static final String TAG_CONFIG_DIALOG = "vpnconfigdialog";
private static final String TAG = "ConfigDialogFragment"; private static final String TAG = "ConfigDialogFragment";
@@ -55,6 +55,12 @@ public class ConfigDialogFragment extends DialogFragment implements
private boolean mUnlocking = false; 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) { public static void show(VpnSettings parent, VpnProfile profile, boolean edit, boolean exists) {
if (!parent.isAdded()) return; if (!parent.isAdded()) return;

View File

@@ -31,6 +31,7 @@ import android.support.v7.preference.PreferenceScreen;
import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.RestrictedSettingsFragment; import com.android.settings.RestrictedSettingsFragment;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedLockUtils;
public class AdvancedWifiSettings extends RestrictedSettingsFragment { 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. */ /* 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; private static int mWpsSetup;
// Public default constructor is required for rotation. // Public default constructor is required for rotation.
@@ -130,6 +131,11 @@ public class AdvancedWifiSettings extends RestrictedSettingsFragment {
mWpsSetup = wpsSetup; mWpsSetup = wpsSetup;
} }
@Override
public int getMetricsCategory() {
return MetricsEvent.DIALOG_WPS_SETUP;
}
@Override @Override
public Dialog onCreateDialog(Bundle savedInstanceState) { public Dialog onCreateDialog(Bundle savedInstanceState) {
return new WpsDialog(getActivity(), mWpsSetup); return new WpsDialog(getActivity(), mWpsSetup);

View File

@@ -28,7 +28,9 @@ import android.net.wifi.WifiManager;
import android.os.Bundle; import android.os.Bundle;
import android.provider.Settings; import android.provider.Settings;
import com.android.internal.logging.MetricsProto;
import com.android.settings.R; 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 * 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(); createDialog();
} }
public static class AlertDialogFragment extends DialogFragment { public static class AlertDialogFragment extends InstrumentedDialogFragment {
static AlertDialogFragment newInstance(String app) { static AlertDialogFragment newInstance(String app) {
AlertDialogFragment frag = new AlertDialogFragment(app); AlertDialogFragment frag = new AlertDialogFragment(app);
return frag; return frag;
@@ -121,6 +123,11 @@ public class WifiScanModeActivity extends Activity {
mApp = null; mApp = null;
} }
@Override
public int getMetricsCategory() {
return MetricsProto.MetricsEvent.DIALOG_WIFI_SCAN_MODE;
}
@Override @Override
public Dialog onCreateDialog(Bundle savedInstanceState) { public Dialog onCreateDialog(Bundle savedInstanceState) {
return new AlertDialog.Builder(getActivity()) return new AlertDialog.Builder(getActivity())

View File

@@ -32,9 +32,11 @@ import android.os.Bundle;
import android.support.v14.preference.PreferenceFragment; import android.support.v14.preference.PreferenceFragment;
import android.util.Log; import android.util.Log;
import com.android.internal.logging.MetricsProto;
import com.android.settings.ButtonBarHandler; import com.android.settings.ButtonBarHandler;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SetupWizardUtils; import com.android.settings.SetupWizardUtils;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.setupwizardlib.view.NavigationBar; import com.android.setupwizardlib.view.NavigationBar;
public class WifiSetupActivity extends WifiPickerActivity public class WifiSetupActivity extends WifiPickerActivity
@@ -240,7 +242,7 @@ public class WifiSetupActivity extends WifiPickerActivity
return info != null && info.isConnected(); return info != null && info.isConnected();
} }
public static class WifiSkipDialog extends DialogFragment { public static class WifiSkipDialog extends InstrumentedDialogFragment {
public static WifiSkipDialog newInstance(int messageRes) { public static WifiSkipDialog newInstance(int messageRes) {
final Bundle args = new Bundle(); final Bundle args = new Bundle();
args.putInt("messageRes", messageRes); args.putInt("messageRes", messageRes);
@@ -253,6 +255,11 @@ public class WifiSetupActivity extends WifiPickerActivity
// no-arg constructor for fragment // no-arg constructor for fragment
} }
@Override
public int getMetricsCategory() {
return MetricsProto.MetricsEvent.DIALOG_WIFI_SKIP;
}
@Override @Override
public Dialog onCreateDialog(Bundle savedInstanceState) { public Dialog onCreateDialog(Bundle savedInstanceState) {
int messageRes = getArguments().getInt("messageRes"); int messageRes = getArguments().getInt("messageRes");