Use MetricsFeatureProvider for logging in Settings.
Bug: 31664539 Test: make RunSettingsRoboTests for regression Test: adb logcat -b events | egrep "(sysui_|notification_)" for verifying log Change-Id: Id944be7c4ff9911aebee481c2df485542f1318f0
This commit is contained in:
@@ -27,21 +27,21 @@ import android.provider.Settings;
|
||||
import android.support.v14.preference.SwitchPreference;
|
||||
import android.support.v7.preference.Preference;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||
import com.android.internal.telephony.PhoneStateIntentReceiver;
|
||||
import com.android.internal.telephony.TelephonyProperties;
|
||||
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
|
||||
import com.android.settingslib.WirelessUtils;
|
||||
|
||||
public class AirplaneModeEnabler implements Preference.OnPreferenceChangeListener {
|
||||
|
||||
private static final int EVENT_SERVICE_STATE_CHANGED = 3;
|
||||
|
||||
private final Context mContext;
|
||||
private final SwitchPreference mSwitchPref;
|
||||
private final MetricsFeatureProvider mMetricsFeatureProvider;
|
||||
|
||||
private PhoneStateIntentReceiver mPhoneStateReceiver;
|
||||
|
||||
private final SwitchPreference mSwitchPref;
|
||||
|
||||
private static final int EVENT_SERVICE_STATE_CHANGED = 3;
|
||||
|
||||
private Handler mHandler = new Handler() {
|
||||
@Override
|
||||
@@ -61,19 +61,21 @@ public class AirplaneModeEnabler implements Preference.OnPreferenceChangeListene
|
||||
}
|
||||
};
|
||||
|
||||
public AirplaneModeEnabler(Context context, SwitchPreference airplaneModeSwitchPreference) {
|
||||
|
||||
public AirplaneModeEnabler(Context context, SwitchPreference airplaneModeSwitchPreference,
|
||||
MetricsFeatureProvider metricsFeatureProvider) {
|
||||
|
||||
mContext = context;
|
||||
mSwitchPref = airplaneModeSwitchPreference;
|
||||
mMetricsFeatureProvider = metricsFeatureProvider;
|
||||
|
||||
airplaneModeSwitchPreference.setPersistent(false);
|
||||
|
||||
|
||||
mPhoneStateReceiver = new PhoneStateIntentReceiver(mContext, mHandler);
|
||||
mPhoneStateReceiver.notifyServiceState(EVENT_SERVICE_STATE_CHANGED);
|
||||
}
|
||||
|
||||
public void resume() {
|
||||
|
||||
|
||||
mSwitchPref.setChecked(WirelessUtils.isAirplaneModeOn(mContext));
|
||||
|
||||
mPhoneStateReceiver.registerIntent();
|
||||
@@ -82,7 +84,7 @@ public class AirplaneModeEnabler implements Preference.OnPreferenceChangeListene
|
||||
Settings.Global.getUriFor(Settings.Global.AIRPLANE_MODE_ON), true,
|
||||
mAirplaneModeObserver);
|
||||
}
|
||||
|
||||
|
||||
public void pause() {
|
||||
mPhoneStateReceiver.unregisterIntent();
|
||||
mSwitchPref.setOnPreferenceChangeListener(null);
|
||||
@@ -91,11 +93,11 @@ public class AirplaneModeEnabler implements Preference.OnPreferenceChangeListene
|
||||
|
||||
private void setAirplaneModeOn(boolean enabling) {
|
||||
// Change the system setting
|
||||
Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON,
|
||||
enabling ? 1 : 0);
|
||||
Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON,
|
||||
enabling ? 1 : 0);
|
||||
// Update the UI to reflect system setting
|
||||
mSwitchPref.setChecked(enabling);
|
||||
|
||||
|
||||
// Post the intent
|
||||
Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
|
||||
intent.putExtra("state", enabling);
|
||||
@@ -113,17 +115,17 @@ public class AirplaneModeEnabler implements Preference.OnPreferenceChangeListene
|
||||
private void onAirplaneModeChanged() {
|
||||
mSwitchPref.setChecked(WirelessUtils.isAirplaneModeOn(mContext));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Called when someone clicks on the checkbox preference.
|
||||
*/
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
if (Boolean.parseBoolean(
|
||||
SystemProperties.get(TelephonyProperties.PROPERTY_INECM_MODE))) {
|
||||
SystemProperties.get(TelephonyProperties.PROPERTY_INECM_MODE))) {
|
||||
// In ECM mode, do not update database at this point
|
||||
} else {
|
||||
Boolean value = (Boolean) newValue;
|
||||
MetricsLogger.action(mContext, MetricsEvent.ACTION_AIRPLANE_TOGGLE, value);
|
||||
mMetricsFeatureProvider.action(mContext, MetricsEvent.ACTION_AIRPLANE_TOGGLE, value);
|
||||
setAirplaneModeOn(value);
|
||||
}
|
||||
return true;
|
||||
|
@@ -21,19 +21,15 @@ import android.app.ActivityManagerNative;
|
||||
import android.app.AlertDialog.Builder;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.os.Handler;
|
||||
import android.os.RemoteException;
|
||||
import android.text.format.DateUtils;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.CheckedTextView;
|
||||
import android.widget.RadioButton;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
|
||||
public class BugreportPreference extends CustomDialogPreference {
|
||||
|
||||
@@ -87,11 +83,12 @@ public class BugreportPreference extends CustomDialogPreference {
|
||||
final Context context = getContext();
|
||||
if (mFullTitle.isChecked()) {
|
||||
Log.v(TAG, "Taking full bugreport right away");
|
||||
MetricsLogger.action(context, MetricsEvent.ACTION_BUGREPORT_FROM_SETTINGS_FULL);
|
||||
FeatureFactory.getFactory(context).getMetricsFeatureProvider().action(context,
|
||||
MetricsEvent.ACTION_BUGREPORT_FROM_SETTINGS_FULL);
|
||||
takeBugreport(ActivityManager.BUGREPORT_OPTION_FULL);
|
||||
} else {
|
||||
Log.v(TAG, "Taking interactive bugreport right away");
|
||||
MetricsLogger.action(context,
|
||||
FeatureFactory.getFactory(context).getMetricsFeatureProvider().action(context,
|
||||
MetricsEvent.ACTION_BUGREPORT_FROM_SETTINGS_INTERACTIVE);
|
||||
takeBugreport(ActivityManager.BUGREPORT_OPTION_INTERACTIVE);
|
||||
}
|
||||
|
@@ -19,11 +19,9 @@ package com.android.settings;
|
||||
import android.app.Activity;
|
||||
import android.app.ActivityManager;
|
||||
import android.app.UiModeManager;
|
||||
import android.app.WallpaperManager;
|
||||
import android.app.admin.DevicePolicyManager;
|
||||
import android.content.ContentResolver;
|
||||
import android.content.Context;
|
||||
import android.content.ComponentName;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
@@ -46,7 +44,6 @@ import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.internal.app.NightDisplayController;
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||
import com.android.internal.view.RotationPolicy;
|
||||
import com.android.settings.accessibility.ToggleFontSizePreferenceFragment;
|
||||
@@ -61,13 +58,11 @@ import java.util.List;
|
||||
|
||||
import static android.provider.Settings.Secure.CAMERA_GESTURE_DISABLED;
|
||||
import static android.provider.Settings.Secure.DOUBLE_TAP_TO_WAKE;
|
||||
import static android.provider.Settings.Secure.DOZE_ENABLED;
|
||||
import static android.provider.Settings.Secure.WAKE_GESTURE_ENABLED;
|
||||
import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE;
|
||||
import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC;
|
||||
import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL;
|
||||
import static android.provider.Settings.System.SCREEN_OFF_TIMEOUT;
|
||||
|
||||
import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
|
||||
|
||||
public class DisplaySettings extends SettingsPreferenceFragment implements
|
||||
@@ -194,7 +189,7 @@ public class DisplaySettings extends SettingsPreferenceFragment implements
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
final boolean locked = Integer.parseInt((String) newValue) != 0;
|
||||
MetricsLogger.action(getActivity(), MetricsEvent.ACTION_ROTATION_LOCK,
|
||||
mMetricsFeatureProvider.action(getActivity(), MetricsEvent.ACTION_ROTATION_LOCK,
|
||||
locked);
|
||||
RotationPolicy.setRotationLock(activity, locked);
|
||||
return true;
|
||||
@@ -437,7 +432,7 @@ public class DisplaySettings extends SettingsPreferenceFragment implements
|
||||
@Override
|
||||
public boolean onPreferenceTreeClick(Preference preference) {
|
||||
if (preference == mDozePreference) {
|
||||
MetricsLogger.action(getActivity(), MetricsEvent.ACTION_AMBIENT_DISPLAY);
|
||||
mMetricsFeatureProvider.action(getActivity(), MetricsEvent.ACTION_AMBIENT_DISPLAY);
|
||||
}
|
||||
return super.onPreferenceTreeClick(preference);
|
||||
}
|
||||
|
@@ -50,7 +50,6 @@ import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
|
||||
import com.android.settingslib.HelpUtils;
|
||||
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
/**
|
||||
* Base class for Settings fragments, with some helper functions and dialog management.
|
||||
|
@@ -39,7 +39,6 @@ import android.widget.TextView;
|
||||
|
||||
import com.android.ims.ImsConfig;
|
||||
import com.android.ims.ImsManager;
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||
import com.android.internal.telephony.Phone;
|
||||
import com.android.settings.widget.SwitchBar;
|
||||
@@ -335,9 +334,9 @@ public class WifiCallingSettings extends SettingsPreferenceFragment
|
||||
int wfcMode = ImsManager.getWfcMode(context);
|
||||
updateButtonWfcMode(context, wfcEnabled, wfcMode);
|
||||
if (wfcEnabled) {
|
||||
MetricsLogger.action(getActivity(), getMetricsCategory(), wfcMode);
|
||||
mMetricsFeatureProvider.action(getActivity(), getMetricsCategory(), wfcMode);
|
||||
} else {
|
||||
MetricsLogger.action(getActivity(), getMetricsCategory(), -1);
|
||||
mMetricsFeatureProvider.action(getActivity(), getMetricsCategory(), -1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -390,7 +389,7 @@ public class WifiCallingSettings extends SettingsPreferenceFragment
|
||||
if (buttonMode != currentMode) {
|
||||
ImsManager.setWfcMode(context, buttonMode);
|
||||
mButtonWfcMode.setSummary(getWfcModeSummary(context, buttonMode));
|
||||
MetricsLogger.action(getActivity(), getMetricsCategory(), buttonMode);
|
||||
mMetricsFeatureProvider.action(getActivity(), getMetricsCategory(), buttonMode);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
@@ -234,7 +234,8 @@ public class WirelessSettings extends SettingsPreferenceFragment implements Inde
|
||||
RestrictedPreference androidBeam = (RestrictedPreference) findPreference(
|
||||
KEY_ANDROID_BEAM_SETTINGS);
|
||||
|
||||
mAirplaneModeEnabler = new AirplaneModeEnabler(activity, mAirplaneModePreference);
|
||||
mAirplaneModeEnabler = new AirplaneModeEnabler(activity, mAirplaneModePreference,
|
||||
mMetricsFeatureProvider);
|
||||
mNfcEnabler = new NfcEnabler(activity, nfc, androidBeam);
|
||||
|
||||
mButtonWfc = (PreferenceScreen) findPreference(KEY_WFC_SETTINGS);
|
||||
|
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.settings.accessibility;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||
|
||||
public class FontSizePreferenceFragmentForSetupWizard
|
||||
@@ -31,7 +30,7 @@ public class FontSizePreferenceFragmentForSetupWizard
|
||||
public void onStop() {
|
||||
// Log the final choice in value if it's different from the previous value.
|
||||
if (mCurrentIndex != mInitialIndex) {
|
||||
MetricsLogger.action(getContext(), MetricsEvent.SUW_ACCESSIBILITY_FONT_SIZE,
|
||||
mMetricsFeatureProvider.action(getContext(), MetricsEvent.SUW_ACCESSIBILITY_FONT_SIZE,
|
||||
mCurrentIndex);
|
||||
}
|
||||
|
||||
|
@@ -41,7 +41,7 @@ public class ToggleScreenMagnificationPreferenceFragmentForSetupWizard
|
||||
public void onStop() {
|
||||
// Log the final choice in value if it's different from the previous value.
|
||||
if (mToggleSwitch.isChecked() != mToggleSwitchWasInitiallyChecked) {
|
||||
MetricsLogger.action(getContext(),
|
||||
mMetricsFeatureProvider.action(getContext(),
|
||||
MetricsEvent.SUW_ACCESSIBILITY_TOGGLE_SCREEN_MAGNIFICATION,
|
||||
mToggleSwitch.isChecked());
|
||||
}
|
||||
|
@@ -18,7 +18,6 @@ package com.android.settings.accessibility;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||
|
||||
public class ToggleScreenReaderPreferenceFragmentForSetupWizard
|
||||
@@ -41,7 +40,7 @@ public class ToggleScreenReaderPreferenceFragmentForSetupWizard
|
||||
public void onStop() {
|
||||
// Log the final choice in value if it's different from the previous value.
|
||||
if (mToggleSwitch.isChecked() != mToggleSwitchWasInitiallyChecked) {
|
||||
MetricsLogger.action(getContext(),
|
||||
mMetricsFeatureProvider.action(getContext(),
|
||||
MetricsEvent.SUW_ACCESSIBILITY_TOGGLE_SCREEN_READER, mToggleSwitch.isChecked());
|
||||
}
|
||||
|
||||
|
@@ -24,13 +24,12 @@ import android.content.IntentFilter;
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
import android.provider.Settings;
|
||||
import android.util.Log;
|
||||
import android.widget.Switch;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
|
||||
import com.android.settings.search.Index;
|
||||
import com.android.settings.widget.SwitchBar;
|
||||
import com.android.settingslib.WirelessUtils;
|
||||
@@ -43,9 +42,10 @@ import com.android.settingslib.bluetooth.LocalBluetoothManager;
|
||||
* preference reflects the current state.
|
||||
*/
|
||||
public final class BluetoothEnabler implements SwitchBar.OnSwitchChangeListener {
|
||||
private final Switch mSwitch;
|
||||
private final SwitchBar mSwitchBar;
|
||||
private final MetricsFeatureProvider mMetricsFeatureProvider;
|
||||
private Context mContext;
|
||||
private Switch mSwitch;
|
||||
private SwitchBar mSwitchBar;
|
||||
private boolean mValidListener;
|
||||
private final LocalBluetoothAdapter mLocalAdapter;
|
||||
private final IntentFilter mIntentFilter;
|
||||
@@ -76,8 +76,10 @@ public final class BluetoothEnabler implements SwitchBar.OnSwitchChangeListener
|
||||
}
|
||||
};
|
||||
|
||||
public BluetoothEnabler(Context context, SwitchBar switchBar) {
|
||||
public BluetoothEnabler(Context context, SwitchBar switchBar,
|
||||
MetricsFeatureProvider metricsFeatureProvider) {
|
||||
mContext = context;
|
||||
mMetricsFeatureProvider = metricsFeatureProvider;
|
||||
mSwitchBar = switchBar;
|
||||
mSwitch = switchBar.getSwitch();
|
||||
mValidListener = false;
|
||||
@@ -187,7 +189,7 @@ public final class BluetoothEnabler implements SwitchBar.OnSwitchChangeListener
|
||||
switchView.setChecked(false);
|
||||
}
|
||||
|
||||
MetricsLogger.action(mContext, MetricsEvent.ACTION_BLUETOOTH_TOGGLE, isChecked);
|
||||
mMetricsFeatureProvider.action(mContext, MetricsEvent.ACTION_BLUETOOTH_TOGGLE, isChecked);
|
||||
|
||||
if (mLocalAdapter != null) {
|
||||
boolean status = mLocalAdapter.setBluetoothEnabled(isChecked);
|
||||
|
@@ -40,7 +40,7 @@ import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
|
||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.LinkifyUtils;
|
||||
import com.android.settings.R;
|
||||
@@ -146,7 +146,7 @@ public final class BluetoothSettings extends DeviceListPreferenceFragment implem
|
||||
final SettingsActivity activity = (SettingsActivity) getActivity();
|
||||
mSwitchBar = activity.getSwitchBar();
|
||||
|
||||
mBluetoothEnabler = new BluetoothEnabler(activity, mSwitchBar);
|
||||
mBluetoothEnabler = new BluetoothEnabler(activity, mSwitchBar, mMetricsFeatureProvider);
|
||||
mBluetoothEnabler.setupSwitchBar();
|
||||
}
|
||||
|
||||
@@ -248,19 +248,22 @@ public final class BluetoothSettings extends DeviceListPreferenceFragment implem
|
||||
switch (item.getItemId()) {
|
||||
case MENU_ID_SCAN:
|
||||
if (mLocalAdapter.getBluetoothState() == BluetoothAdapter.STATE_ON) {
|
||||
MetricsLogger.action(getActivity(), MetricsEvent.ACTION_BLUETOOTH_SCAN);
|
||||
mMetricsFeatureProvider.action(getActivity(),
|
||||
MetricsEvent.ACTION_BLUETOOTH_SCAN);
|
||||
startScanning();
|
||||
}
|
||||
return true;
|
||||
|
||||
case MENU_ID_RENAME_DEVICE:
|
||||
MetricsLogger.action(getActivity(), MetricsEvent.ACTION_BLUETOOTH_RENAME);
|
||||
mMetricsFeatureProvider.action(getActivity(),
|
||||
MetricsEvent.ACTION_BLUETOOTH_RENAME);
|
||||
new BluetoothNameDialogFragment().show(
|
||||
getFragmentManager(), "rename device");
|
||||
return true;
|
||||
|
||||
case MENU_ID_SHOW_RECEIVED:
|
||||
MetricsLogger.action(getActivity(), MetricsEvent.ACTION_BLUETOOTH_FILES);
|
||||
mMetricsFeatureProvider.action(getActivity(),
|
||||
MetricsEvent.ACTION_BLUETOOTH_FILES);
|
||||
Intent intent = new Intent(BTOPP_ACTION_OPEN_RECEIVED_FILES);
|
||||
getActivity().sendBroadcast(intent);
|
||||
return true;
|
||||
|
@@ -15,14 +15,18 @@
|
||||
*/
|
||||
package com.android.settings.core.instrumentation;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.android.settings.DialogCreatable;
|
||||
import com.android.settings.core.lifecycle.ObservableDialogFragment;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
|
||||
public abstract class InstrumentedDialogFragment extends ObservableDialogFragment
|
||||
implements Instrumentable {
|
||||
|
||||
protected final DialogCreatable mDialogCreatable;
|
||||
protected int mDialogId;
|
||||
protected MetricsFeatureProvider mMetricsFeatureProvider;
|
||||
|
||||
public InstrumentedDialogFragment() {
|
||||
this(null /* parentFragment */, 0 /* dialogId */);
|
||||
@@ -37,4 +41,10 @@ public abstract class InstrumentedDialogFragment extends ObservableDialogFragmen
|
||||
mLifecycle.addObserver(new VisibilityLoggerMixin(getMetricsCategory()));
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onAttach(Context context) {
|
||||
super.onAttach(context);
|
||||
mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
|
||||
}
|
||||
}
|
||||
|
@@ -27,11 +27,11 @@ import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.internal.logging.MetricsProto;
|
||||
import com.android.settings.core.InstrumentedFragment;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.overlay.SupportFeatureProvider;
|
||||
import com.android.settings.widget.RtlCompatibleViewPager;
|
||||
@@ -73,7 +73,7 @@ public final class DashboardContainerFragment extends InstrumentedFragment {
|
||||
getChildFragmentManager(), mViewPager);
|
||||
mViewPager.setAdapter(mPagerAdapter);
|
||||
mViewPager.addOnPageChangeListener(
|
||||
new TabChangeListener((SettingsActivity) getActivity()));
|
||||
new TabChangeListener((SettingsActivity) getActivity(), mMetricsFeatureProvider));
|
||||
|
||||
// check if support tab needs to be selected
|
||||
final String selectedTab = getArguments().
|
||||
@@ -157,9 +157,12 @@ public final class DashboardContainerFragment extends InstrumentedFragment {
|
||||
implements RtlCompatibleViewPager.OnPageChangeListener {
|
||||
|
||||
private final SettingsActivity mActivity;
|
||||
private final MetricsFeatureProvider mMetricsFeatureProvider;
|
||||
|
||||
public TabChangeListener(SettingsActivity activity) {
|
||||
public TabChangeListener(SettingsActivity activity,
|
||||
MetricsFeatureProvider metricsFeatureProvider) {
|
||||
mActivity = activity;
|
||||
mMetricsFeatureProvider = metricsFeatureProvider;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -176,12 +179,12 @@ public final class DashboardContainerFragment extends InstrumentedFragment {
|
||||
public void onPageSelected(int position) {
|
||||
switch (position) {
|
||||
case INDEX_SUMMARY_FRAGMENT:
|
||||
MetricsLogger.action(
|
||||
mMetricsFeatureProvider.action(
|
||||
mActivity, MetricsProto.MetricsEvent.ACTION_SELECT_SUMMARY);
|
||||
mActivity.setDisplaySearchMenu(true);
|
||||
break;
|
||||
case INDEX_SUPPORT_FRAGMENT:
|
||||
MetricsLogger.action(
|
||||
mMetricsFeatureProvider.action(
|
||||
mActivity, MetricsProto.MetricsEvent.ACTION_SELECT_SUPPORT_FRAGMENT);
|
||||
mActivity.setDisplaySearchMenu(false);
|
||||
break;
|
||||
|
@@ -31,12 +31,10 @@ import com.android.settings.R;
|
||||
import com.android.settings.Settings;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.core.InstrumentedFragment;
|
||||
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
|
||||
import com.android.settings.dashboard.conditional.Condition;
|
||||
import com.android.settings.dashboard.conditional.ConditionAdapterUtils;
|
||||
import com.android.settings.dashboard.conditional.ConditionManager;
|
||||
import com.android.settings.dashboard.conditional.FocusRecyclerView;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settingslib.SuggestionParser;
|
||||
import com.android.settingslib.drawer.DashboardCategory;
|
||||
import com.android.settingslib.drawer.SettingsDrawerActivity;
|
||||
|
@@ -33,11 +33,12 @@ import android.util.AttributeSet;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.Checkable;
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
|
||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.CustomDialogPreference;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -110,7 +111,9 @@ public class CellDataPreference extends CustomDialogPreference implements Templa
|
||||
|
||||
@Override
|
||||
protected void performClick(View view) {
|
||||
MetricsLogger.action(getContext(), MetricsEvent.ACTION_CELL_DATA_TOGGLE, !mChecked);
|
||||
final Context context = getContext();
|
||||
FeatureFactory.getFactory(context).getMetricsFeatureProvider()
|
||||
.action(context, MetricsEvent.ACTION_CELL_DATA_TOGGLE, !mChecked);
|
||||
if (mChecked) {
|
||||
final SubscriptionInfo currentSir = mSubscriptionManager.getActiveSubscriptionInfo(
|
||||
mSubId);
|
||||
|
@@ -19,12 +19,11 @@ import android.net.INetworkPolicyListener;
|
||||
import android.net.NetworkPolicyManager;
|
||||
import android.os.Handler;
|
||||
import android.os.RemoteException;
|
||||
import android.os.ServiceManager;
|
||||
import android.util.Log;
|
||||
import android.util.SparseIntArray;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -37,6 +36,7 @@ public class DataSaverBackend {
|
||||
private static final String TAG = "DataSaverBackend";
|
||||
|
||||
private final Context mContext;
|
||||
private final MetricsFeatureProvider mMetricsFeatureProvider;
|
||||
|
||||
private final Handler mHandler = new Handler();
|
||||
private final NetworkPolicyManager mPolicyManager;
|
||||
@@ -48,6 +48,7 @@ public class DataSaverBackend {
|
||||
// TODO: Staticize into only one.
|
||||
public DataSaverBackend(Context context) {
|
||||
mContext = context;
|
||||
mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
|
||||
mPolicyManager = NetworkPolicyManager.from(context);
|
||||
}
|
||||
|
||||
@@ -72,7 +73,8 @@ public class DataSaverBackend {
|
||||
|
||||
public void setDataSaverEnabled(boolean enabled) {
|
||||
mPolicyManager.setRestrictBackground(enabled);
|
||||
MetricsLogger.action(mContext, MetricsEvent.ACTION_DATA_SAVER_MODE, enabled ? 1 : 0);
|
||||
mMetricsFeatureProvider.action(
|
||||
mContext, MetricsEvent.ACTION_DATA_SAVER_MODE, enabled ? 1 : 0);
|
||||
}
|
||||
|
||||
public void refreshWhitelist() {
|
||||
@@ -84,7 +86,8 @@ public class DataSaverBackend {
|
||||
mPolicyManager.setUidPolicy(uid, policy);
|
||||
mUidPolicies.put(uid, policy);
|
||||
if (whitelisted) {
|
||||
MetricsLogger.action(mContext, MetricsEvent.ACTION_DATA_SAVER_WHITELIST, packageName);
|
||||
mMetricsFeatureProvider.action(
|
||||
mContext, MetricsEvent.ACTION_DATA_SAVER_WHITELIST, packageName);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -122,7 +125,8 @@ public class DataSaverBackend {
|
||||
mPolicyManager.setUidPolicy(uid, policy);
|
||||
mUidPolicies.put(uid, policy);
|
||||
if (blacklisted) {
|
||||
MetricsLogger.action(mContext, MetricsEvent.ACTION_DATA_SAVER_BLACKLIST, packageName);
|
||||
mMetricsFeatureProvider.action(
|
||||
mContext, MetricsEvent.ACTION_DATA_SAVER_BLACKLIST, packageName);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.settings.display;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||
|
||||
public class ScreenZoomPreferenceFragmentForSetupWizard
|
||||
@@ -31,8 +30,8 @@ public class ScreenZoomPreferenceFragmentForSetupWizard
|
||||
public void onStop() {
|
||||
// Log the final choice in value if it's different from the previous value.
|
||||
if (mCurrentIndex != mInitialIndex) {
|
||||
MetricsLogger.action(getContext(), MetricsEvent.SUW_ACCESSIBILITY_DISPLAY_SIZE,
|
||||
mCurrentIndex);
|
||||
mMetricsFeatureProvider.action(
|
||||
getContext(), MetricsEvent.SUW_ACCESSIBILITY_DISPLAY_SIZE, mCurrentIndex);
|
||||
}
|
||||
|
||||
super.onStop();
|
||||
|
@@ -21,7 +21,6 @@ import android.annotation.Nullable;
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
import android.app.DialogFragment;
|
||||
import android.app.admin.DevicePolicyManager;
|
||||
import android.content.ActivityNotFoundException;
|
||||
import android.content.Context;
|
||||
@@ -40,8 +39,8 @@ import android.os.Handler;
|
||||
import android.os.UserHandle;
|
||||
import android.os.UserManager;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.support.v7.preference.Preference.OnPreferenceClickListener;
|
||||
import android.support.v7.preference.Preference.OnPreferenceChangeListener;
|
||||
import android.support.v7.preference.Preference.OnPreferenceClickListener;
|
||||
import android.support.v7.preference.PreferenceGroup;
|
||||
import android.support.v7.preference.PreferenceScreen;
|
||||
import android.support.v7.preference.PreferenceViewHolder;
|
||||
@@ -60,16 +59,15 @@ import android.widget.EditText;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.ChooseLockGeneric;
|
||||
import com.android.settings.ChooseLockSettingsHelper;
|
||||
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
|
||||
import com.android.settingslib.HelpUtils;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsPreferenceFragment;
|
||||
import com.android.settings.SubSettings;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
|
||||
import com.android.settingslib.HelpUtils;
|
||||
import com.android.settingslib.RestrictedLockUtils;
|
||||
|
||||
import java.util.List;
|
||||
@@ -594,7 +592,7 @@ public class FingerprintSettings extends SubSettings {
|
||||
if (DEBUG) {
|
||||
Log.v(TAG, "rename " + name + " to " + newName);
|
||||
}
|
||||
MetricsLogger.action(getContext(),
|
||||
mMetricsFeatureProvider.action(getContext(),
|
||||
MetricsEvent.ACTION_FINGERPRINT_RENAME,
|
||||
mFp.getFingerId());
|
||||
FingerprintSettingsFragment parent
|
||||
@@ -639,7 +637,7 @@ public class FingerprintSettings extends SubSettings {
|
||||
|
||||
private void onDeleteClick(DialogInterface dialog) {
|
||||
if (DEBUG) Log.v(TAG, "Removing fpId=" + mFp.getFingerId());
|
||||
MetricsLogger.action(getContext(), MetricsEvent.ACTION_FINGERPRINT_DELETE,
|
||||
mMetricsFeatureProvider.action(getContext(), MetricsEvent.ACTION_FINGERPRINT_DELETE,
|
||||
mFp.getFingerId());
|
||||
FingerprintSettingsFragment parent
|
||||
= (FingerprintSettingsFragment) getTargetFragment();
|
||||
|
@@ -39,7 +39,6 @@ import android.support.v7.preference.PreferenceScreen;
|
||||
import android.support.v7.preference.PreferenceViewHolder;
|
||||
import android.view.View;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.utils.ManagedServiceSettings.Config;
|
||||
@@ -109,7 +108,7 @@ public class ZenModeAutomationSettings extends ZenModeSettingsBase {
|
||||
new ZenRuleNameDialog(mContext, null) {
|
||||
@Override
|
||||
public void onOk(String ruleName) {
|
||||
MetricsLogger.action(mContext, MetricsEvent.ACTION_ZEN_ADD_RULE_OK);
|
||||
mMetricsFeatureProvider.action(mContext, MetricsEvent.ACTION_ZEN_ADD_RULE_OK);
|
||||
AutomaticZenRule rule = new AutomaticZenRule(ruleName, ri.serviceComponent,
|
||||
ri.defaultConditionId, NotificationManager.INTERRUPTION_FILTER_PRIORITY,
|
||||
true);
|
||||
@@ -129,7 +128,8 @@ public class ZenModeAutomationSettings extends ZenModeSettingsBase {
|
||||
new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
MetricsLogger.action(mContext, MetricsEvent.ACTION_ZEN_DELETE_RULE_OK);
|
||||
mMetricsFeatureProvider.action(mContext,
|
||||
MetricsEvent.ACTION_ZEN_DELETE_RULE_OK);
|
||||
removeZenRule(ruleId);
|
||||
}
|
||||
})
|
||||
@@ -173,7 +173,7 @@ public class ZenModeAutomationSettings extends ZenModeSettingsBase {
|
||||
p.setOnPreferenceClickListener(new OnPreferenceClickListener() {
|
||||
@Override
|
||||
public boolean onPreferenceClick(Preference preference) {
|
||||
MetricsLogger.action(mContext, MetricsEvent.ACTION_ZEN_ADD_RULE);
|
||||
mMetricsFeatureProvider.action(mContext, MetricsEvent.ACTION_ZEN_ADD_RULE);
|
||||
showAddRuleDialog();
|
||||
return true;
|
||||
}
|
||||
|
@@ -27,7 +27,6 @@ import android.support.v7.preference.Preference.OnPreferenceChangeListener;
|
||||
import android.support.v7.preference.PreferenceScreen;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.search.Indexable;
|
||||
@@ -64,7 +63,8 @@ public class ZenModePrioritySettings extends ZenModeSettingsBase implements Inde
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
if (mDisableListeners) return true;
|
||||
final boolean val = (Boolean) newValue;
|
||||
MetricsLogger.action(mContext, MetricsEvent.ACTION_ZEN_ALLOW_REMINDERS, val);
|
||||
mMetricsFeatureProvider.action(mContext, MetricsEvent.ACTION_ZEN_ALLOW_REMINDERS,
|
||||
val);
|
||||
if (DEBUG) Log.d(TAG, "onPrefChange allowReminders=" + val);
|
||||
savePolicy(getNewPriorityCategories(val, Policy.PRIORITY_CATEGORY_REMINDERS),
|
||||
mPolicy.priorityCallSenders, mPolicy.priorityMessageSenders,
|
||||
@@ -79,7 +79,7 @@ public class ZenModePrioritySettings extends ZenModeSettingsBase implements Inde
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
if (mDisableListeners) return true;
|
||||
final boolean val = (Boolean) newValue;
|
||||
MetricsLogger.action(mContext, MetricsEvent.ACTION_ZEN_ALLOW_EVENTS, val);
|
||||
mMetricsFeatureProvider.action(mContext, MetricsEvent.ACTION_ZEN_ALLOW_EVENTS, val);
|
||||
if (DEBUG) Log.d(TAG, "onPrefChange allowEvents=" + val);
|
||||
savePolicy(getNewPriorityCategories(val, Policy.PRIORITY_CATEGORY_EVENTS),
|
||||
mPolicy.priorityCallSenders, mPolicy.priorityMessageSenders,
|
||||
@@ -98,7 +98,7 @@ public class ZenModePrioritySettings extends ZenModeSettingsBase implements Inde
|
||||
final boolean allowMessages = val != SOURCE_NONE;
|
||||
final int allowMessagesFrom =
|
||||
val == SOURCE_NONE ? mPolicy.priorityMessageSenders : val;
|
||||
MetricsLogger.action(mContext, MetricsEvent.ACTION_ZEN_ALLOW_MESSAGES, val);
|
||||
mMetricsFeatureProvider.action(mContext, MetricsEvent.ACTION_ZEN_ALLOW_MESSAGES, val);
|
||||
if (DEBUG) Log.d(TAG, "onPrefChange allowMessages=" + allowMessages
|
||||
+ " allowMessagesFrom=" + ZenModeConfig.sourceToString(allowMessagesFrom));
|
||||
savePolicy(
|
||||
@@ -118,7 +118,7 @@ public class ZenModePrioritySettings extends ZenModeSettingsBase implements Inde
|
||||
final int val = Integer.parseInt((String) newValue);
|
||||
final boolean allowCalls = val != SOURCE_NONE;
|
||||
final int allowCallsFrom = val == SOURCE_NONE ? mPolicy.priorityCallSenders : val;
|
||||
MetricsLogger.action(mContext, MetricsEvent.ACTION_ZEN_ALLOW_CALLS, val);
|
||||
mMetricsFeatureProvider.action(mContext, MetricsEvent.ACTION_ZEN_ALLOW_CALLS, val);
|
||||
if (DEBUG) Log.d(TAG, "onPrefChange allowCalls=" + allowCalls
|
||||
+ " allowCallsFrom=" + ZenModeConfig.sourceToString(allowCallsFrom));
|
||||
savePolicy(getNewPriorityCategories(allowCalls, Policy.PRIORITY_CATEGORY_CALLS),
|
||||
@@ -137,7 +137,8 @@ public class ZenModePrioritySettings extends ZenModeSettingsBase implements Inde
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
if (mDisableListeners) return true;
|
||||
final boolean val = (Boolean) newValue;
|
||||
MetricsLogger.action(mContext, MetricsEvent.ACTION_ZEN_ALLOW_REPEAT_CALLS, val);
|
||||
mMetricsFeatureProvider.action(mContext, MetricsEvent.ACTION_ZEN_ALLOW_REPEAT_CALLS,
|
||||
val);
|
||||
if (DEBUG) Log.d(TAG, "onPrefChange allowRepeatCallers=" + val);
|
||||
int priorityCategories = getNewPriorityCategories(val,
|
||||
NotificationManager.Policy.PRIORITY_CATEGORY_REPEAT_CALLERS);
|
||||
|
@@ -39,7 +39,6 @@ import android.view.View;
|
||||
import android.widget.Switch;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
@@ -163,7 +162,7 @@ public abstract class ZenModeRuleSettingsBase extends ZenModeSettingsBase
|
||||
if (mDisableListeners) return;
|
||||
final boolean enabled = isChecked;
|
||||
if (enabled == mRule.isEnabled()) return;
|
||||
MetricsLogger.action(mContext, MetricsEvent.ACTION_ZEN_ENABLE_RULE, enabled);
|
||||
mMetricsFeatureProvider.action(mContext, MetricsEvent.ACTION_ZEN_ENABLE_RULE, enabled);
|
||||
if (DEBUG) Log.d(TAG, "onSwitchChanged enabled=" + enabled);
|
||||
mRule.setEnabled(enabled);
|
||||
setZenRule(mId, mRule);
|
||||
@@ -207,7 +206,7 @@ public abstract class ZenModeRuleSettingsBase extends ZenModeSettingsBase
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
if (DEBUG) Log.d(TAG, "onOptionsItemSelected " + item.getItemId());
|
||||
if (item.getItemId() == R.id.delete) {
|
||||
MetricsLogger.action(mContext, MetricsEvent.ACTION_ZEN_DELETE_RULE);
|
||||
mMetricsFeatureProvider.action(mContext, MetricsEvent.ACTION_ZEN_DELETE_RULE);
|
||||
showDeleteRuleDialog();
|
||||
return true;
|
||||
}
|
||||
@@ -241,7 +240,8 @@ public abstract class ZenModeRuleSettingsBase extends ZenModeSettingsBase
|
||||
.setPositiveButton(R.string.zen_mode_delete_rule_button, new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
MetricsLogger.action(mContext, MetricsEvent.ACTION_ZEN_DELETE_RULE_OK);
|
||||
mMetricsFeatureProvider.action(mContext,
|
||||
MetricsEvent.ACTION_ZEN_DELETE_RULE_OK);
|
||||
mDeleting = true;
|
||||
removeZenRule(mId);
|
||||
}
|
||||
|
@@ -18,23 +18,15 @@ package com.android.settings.notification;
|
||||
|
||||
import android.app.NotificationManager;
|
||||
import android.app.NotificationManager.Policy;
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.provider.SearchIndexableResource;
|
||||
import android.support.v14.preference.SwitchPreference;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.support.v7.preference.PreferenceScreen;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.search.BaseSearchIndexProvider;
|
||||
import com.android.settings.search.Indexable;
|
||||
import com.android.settings.R;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
public class ZenModeVisualInterruptionSettings extends ZenModeSettingsBase {
|
||||
|
||||
private static final String KEY_SCREEN_OFF = "screenOff";
|
||||
@@ -64,7 +56,8 @@ public class ZenModeVisualInterruptionSettings extends ZenModeSettingsBase {
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
if (mDisableListeners) return true;
|
||||
final boolean val = (Boolean) newValue;
|
||||
MetricsLogger.action(mContext, MetricsEvent.ACTION_ZEN_ALLOW_WHEN_SCREEN_OFF, val);
|
||||
mMetricsFeatureProvider.action(mContext,
|
||||
MetricsEvent.ACTION_ZEN_ALLOW_WHEN_SCREEN_OFF, val);
|
||||
if (DEBUG) Log.d(TAG, "onPrefChange suppressWhenScreenOff=" + val);
|
||||
savePolicy(getNewSuppressedEffects(val, Policy.SUPPRESSED_EFFECT_SCREEN_OFF));
|
||||
return true;
|
||||
@@ -77,7 +70,8 @@ public class ZenModeVisualInterruptionSettings extends ZenModeSettingsBase {
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
if (mDisableListeners) return true;
|
||||
final boolean val = (Boolean) newValue;
|
||||
MetricsLogger.action(mContext, MetricsEvent.ACTION_ZEN_ALLOW_WHEN_SCREEN_ON, val);
|
||||
mMetricsFeatureProvider.action(mContext,
|
||||
MetricsEvent.ACTION_ZEN_ALLOW_WHEN_SCREEN_ON, val);
|
||||
if (DEBUG) Log.d(TAG, "onPrefChange suppressWhenScreenOn=" + val);
|
||||
savePolicy(getNewSuppressedEffects(val, Policy.SUPPRESSED_EFFECT_SCREEN_ON));
|
||||
return true;
|
||||
|
@@ -32,7 +32,6 @@ import android.view.View;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.internal.logging.MetricsProto;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
|
||||
@@ -78,7 +77,7 @@ public final class SupportDisclaimerDialogFragment extends InstrumentedDialogFra
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
if (which == Dialog.BUTTON_NEGATIVE) {
|
||||
MetricsLogger.action(getContext(),
|
||||
mMetricsFeatureProvider.action(getContext(),
|
||||
MetricsProto.MetricsEvent.ACTION_SUPPORT_DISCLAIMER_CANCEL);
|
||||
return;
|
||||
}
|
||||
@@ -89,7 +88,8 @@ public final class SupportDisclaimerDialogFragment extends InstrumentedDialogFra
|
||||
FeatureFactory.getFactory(activity).getSupportFeatureProvider(activity);
|
||||
supportFeatureProvider.setShouldShowDisclaimerDialog(getContext(), !doNotShow.isChecked());
|
||||
final Bundle bundle = getArguments();
|
||||
MetricsLogger.action(activity, MetricsProto.MetricsEvent.ACTION_SUPPORT_DISCLAIMER_OK);
|
||||
mMetricsFeatureProvider.action(activity,
|
||||
MetricsProto.MetricsEvent.ACTION_SUPPORT_DISCLAIMER_OK);
|
||||
supportFeatureProvider.startSupport(getActivity(),
|
||||
bundle.getParcelable(EXTRA_ACCOUNT), bundle.getInt(EXTRA_TYPE));
|
||||
}
|
||||
@@ -97,7 +97,7 @@ public final class SupportDisclaimerDialogFragment extends InstrumentedDialogFra
|
||||
@Override
|
||||
public void onCancel(DialogInterface dialog) {
|
||||
super.onCancel(dialog);
|
||||
MetricsLogger.action(getContext(),
|
||||
mMetricsFeatureProvider.action(getContext(),
|
||||
MetricsProto.MetricsEvent.ACTION_SUPPORT_DISCLAIMER_CANCEL);
|
||||
}
|
||||
|
||||
|
@@ -24,7 +24,6 @@ import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.internal.logging.MetricsProto;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
|
||||
@@ -76,7 +75,7 @@ public final class SupportPhoneDialogFragment extends InstrumentedDialogFragment
|
||||
.queryIntentActivities(intent, 0)
|
||||
.isEmpty();
|
||||
if (canDial) {
|
||||
MetricsLogger.action(getActivity(),
|
||||
mMetricsFeatureProvider.action(getActivity(),
|
||||
MetricsProto.MetricsEvent.ACTION_SUPPORT_DIAL_TOLLED);
|
||||
getActivity().startActivity(intent);
|
||||
}
|
||||
|
@@ -34,14 +34,15 @@ import android.widget.LinearLayout;
|
||||
import android.widget.Switch;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settingslib.RestrictedLockUtils;
|
||||
|
||||
import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
|
||||
|
||||
public class SwitchBar extends LinearLayout implements CompoundButton.OnCheckedChangeListener,
|
||||
View.OnClickListener {
|
||||
|
||||
@@ -55,6 +56,7 @@ public class SwitchBar extends LinearLayout implements CompoundButton.OnCheckedC
|
||||
void onSwitchChanged(Switch switchView, boolean isChecked);
|
||||
}
|
||||
|
||||
private MetricsFeatureProvider mMetricsFeatureProvider;
|
||||
private final TextAppearanceSpan mSummarySpan;
|
||||
|
||||
private ToggleSwitch mSwitch;
|
||||
@@ -130,6 +132,8 @@ public class SwitchBar extends LinearLayout implements CompoundButton.OnCheckedC
|
||||
|
||||
// Default is hide
|
||||
setVisibility(View.GONE);
|
||||
|
||||
mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
|
||||
}
|
||||
|
||||
public void setMetricsTag(String tag) {
|
||||
@@ -230,7 +234,7 @@ public class SwitchBar extends LinearLayout implements CompoundButton.OnCheckedC
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (mDisabledByAdmin) {
|
||||
MetricsLogger.count(mContext, mMetricsTag + "/switch_bar|restricted", 1);
|
||||
mMetricsFeatureProvider.count(mContext, mMetricsTag + "/switch_bar|restricted", 1);
|
||||
RestrictedLockUtils.sendShowAdminSupportDetailsIntent(mContext, mEnforcedAdmin);
|
||||
} else {
|
||||
final boolean isChecked = !mSwitch.isChecked();
|
||||
@@ -248,7 +252,7 @@ public class SwitchBar extends LinearLayout implements CompoundButton.OnCheckedC
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
if (mLoggingIntialized) {
|
||||
MetricsLogger.count(mContext, mMetricsTag + "/switch_bar|" + isChecked, 1);
|
||||
mMetricsFeatureProvider.count(mContext, mMetricsTag + "/switch_bar|" + isChecked, 1);
|
||||
}
|
||||
mLoggingIntialized = true;
|
||||
propagateChecked(isChecked);
|
||||
|
@@ -32,9 +32,9 @@ import android.provider.Settings;
|
||||
import android.widget.Switch;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
|
||||
import com.android.settings.search.Index;
|
||||
import com.android.settings.widget.SwitchBar;
|
||||
import com.android.settingslib.RestrictedLockUtils;
|
||||
@@ -44,12 +44,16 @@ import com.android.settingslib.WirelessUtils;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
public class WifiEnabler implements SwitchBar.OnSwitchChangeListener {
|
||||
|
||||
private final SwitchBar mSwitchBar;
|
||||
private final WifiManager mWifiManager;
|
||||
private final MetricsFeatureProvider mMetricsFeatureProvider;
|
||||
|
||||
private Context mContext;
|
||||
private SwitchBar mSwitchBar;
|
||||
private boolean mListeningToOnSwitchChange = false;
|
||||
private AtomicBoolean mConnected = new AtomicBoolean(false);
|
||||
|
||||
private final WifiManager mWifiManager;
|
||||
|
||||
private boolean mStateMachineEvent;
|
||||
private final IntentFilter mIntentFilter;
|
||||
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
|
||||
@@ -89,10 +93,11 @@ public class WifiEnabler implements SwitchBar.OnSwitchChangeListener {
|
||||
}
|
||||
};
|
||||
|
||||
public WifiEnabler(Context context, SwitchBar switchBar) {
|
||||
public WifiEnabler(Context context, SwitchBar switchBar,
|
||||
MetricsFeatureProvider metricsFeatureProvider) {
|
||||
mContext = context;
|
||||
mSwitchBar = switchBar;
|
||||
|
||||
mMetricsFeatureProvider = metricsFeatureProvider;
|
||||
mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
|
||||
|
||||
mIntentFilter = new IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION);
|
||||
@@ -226,7 +231,7 @@ public class WifiEnabler implements SwitchBar.OnSwitchChangeListener {
|
||||
if (mayDisableTethering(isChecked)) {
|
||||
mWifiManager.setWifiApEnabled(null, false);
|
||||
}
|
||||
MetricsLogger.action(mContext,
|
||||
mMetricsFeatureProvider.action(mContext,
|
||||
isChecked ? MetricsEvent.ACTION_WIFI_ON : MetricsEvent.ACTION_WIFI_OFF);
|
||||
if (!mWifiManager.setWifiEnabled(isChecked)) {
|
||||
// Error
|
||||
|
@@ -57,7 +57,6 @@ import android.widget.TextView;
|
||||
import android.widget.TextView.BufferType;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.LinkifyUtils;
|
||||
import com.android.settings.R;
|
||||
@@ -308,7 +307,7 @@ public class WifiSettings extends RestrictedSettingsFragment
|
||||
*/
|
||||
/* package */ WifiEnabler createWifiEnabler() {
|
||||
final SettingsActivity activity = (SettingsActivity) getActivity();
|
||||
return new WifiEnabler(activity, activity.getSwitchBar());
|
||||
return new WifiEnabler(activity, activity.getSwitchBar(), mMetricsFeatureProvider);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -411,7 +410,7 @@ public class WifiSettings extends RestrictedSettingsFragment
|
||||
showDialog(WPS_PIN_DIALOG_ID);
|
||||
return true;
|
||||
case MENU_ID_SCAN:
|
||||
MetricsLogger.action(getActivity(), MetricsEvent.ACTION_WIFI_FORCE_SCAN);
|
||||
mMetricsFeatureProvider.action(getActivity(), MetricsEvent.ACTION_WIFI_FORCE_SCAN);
|
||||
mWifiTracker.forceScan();
|
||||
return true;
|
||||
case MENU_ID_ADVANCED:
|
||||
@@ -847,7 +846,7 @@ public class WifiSettings extends RestrictedSettingsFragment
|
||||
}
|
||||
|
||||
/* package */ void forget() {
|
||||
MetricsLogger.action(getActivity(), MetricsEvent.ACTION_WIFI_FORGET);
|
||||
mMetricsFeatureProvider.action(getActivity(), MetricsEvent.ACTION_WIFI_FORGET);
|
||||
if (!mSelectedAccessPoint.isSaved()) {
|
||||
if (mSelectedAccessPoint.getNetworkInfo() != null &&
|
||||
mSelectedAccessPoint.getNetworkInfo().getState() != State.DISCONNECTED) {
|
||||
@@ -870,12 +869,12 @@ public class WifiSettings extends RestrictedSettingsFragment
|
||||
}
|
||||
|
||||
protected void connect(final WifiConfiguration config) {
|
||||
MetricsLogger.action(getActivity(), MetricsEvent.ACTION_WIFI_CONNECT);
|
||||
mMetricsFeatureProvider.action(getActivity(), MetricsEvent.ACTION_WIFI_CONNECT);
|
||||
mWifiManager.connect(config, mConnectListener);
|
||||
}
|
||||
|
||||
protected void connect(final int networkId) {
|
||||
MetricsLogger.action(getActivity(), MetricsEvent.ACTION_WIFI_CONNECT);
|
||||
mMetricsFeatureProvider.action(getActivity(), MetricsEvent.ACTION_WIFI_CONNECT);
|
||||
mWifiManager.connect(networkId, mConnectListener);
|
||||
}
|
||||
|
||||
@@ -883,7 +882,7 @@ public class WifiSettings extends RestrictedSettingsFragment
|
||||
* Called when "add network" button is pressed.
|
||||
*/
|
||||
/* package */ void onAddNetworkPressed() {
|
||||
MetricsLogger.action(getActivity(), MetricsEvent.ACTION_WIFI_ADD_NETWORK);
|
||||
mMetricsFeatureProvider.action(getActivity(), MetricsEvent.ACTION_WIFI_ADD_NETWORK);
|
||||
// No exact access point is selected.
|
||||
mSelectedAccessPoint = null;
|
||||
showDialog(null, WifiConfigUiBase.MODE_CONNECT);
|
||||
|
@@ -0,0 +1,66 @@
|
||||
/*
|
||||
* Copyright (C) 2016 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.android.settings.core.instrumentation;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
import com.android.settings.TestConfig;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.robolectric.util.FragmentTestUtil;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
||||
public class InstrumentedDialogFragmentTest {
|
||||
|
||||
public static class TestDialogFragment extends InstrumentedDialogFragment {
|
||||
static final int TEST_METRIC = 1234;
|
||||
|
||||
public MetricsFeatureProvider getMetricsFeatureProvider() {
|
||||
return mMetricsFeatureProvider;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
assertThat(mMetricsFeatureProvider).isNotNull();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetricsCategory() {
|
||||
return TEST_METRIC;
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void runThroughFragmentLifecycles_shouldHaveMetricsFeatureProviderOnAttach() {
|
||||
final TestDialogFragment fragment = new TestDialogFragment();
|
||||
|
||||
// Precondition: no metrics feature
|
||||
assertThat(fragment.getMetricsFeatureProvider()).isNull();
|
||||
|
||||
FragmentTestUtil.startFragment(fragment);
|
||||
|
||||
// Verify: has metrics feature
|
||||
assertThat(fragment.getMetricsFeatureProvider()).isNotNull();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user