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

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

View File

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

View File

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