Instrument metrics for smart-auto-rotate and screen timeout
Test: locally with flame Bug: 172974834 Change-Id: Id6927e749049c88e4efea2d69f93b9d397acc1c1
This commit is contained in:
@@ -20,6 +20,7 @@ import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEA
|
|||||||
import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
|
import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
|
||||||
|
|
||||||
import android.Manifest;
|
import android.Manifest;
|
||||||
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
@@ -33,8 +34,10 @@ import androidx.preference.PreferenceScreen;
|
|||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.bluetooth.RestrictionUtils;
|
import com.android.settings.bluetooth.RestrictionUtils;
|
||||||
|
import com.android.settings.overlay.FeatureFactory;
|
||||||
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
|
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
|
||||||
import com.android.settingslib.RestrictedSwitchPreference;
|
import com.android.settingslib.RestrictedSwitchPreference;
|
||||||
|
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||||
|
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
|
|
||||||
@@ -45,6 +48,7 @@ public class AdaptiveSleepPreferenceController {
|
|||||||
private RestrictionUtils mRestrictionUtils;
|
private RestrictionUtils mRestrictionUtils;
|
||||||
private PackageManager mPackageManager;
|
private PackageManager mPackageManager;
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
|
private MetricsFeatureProvider mMetricsFeatureProvider;
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
RestrictedSwitchPreference mPreference;
|
RestrictedSwitchPreference mPreference;
|
||||||
@@ -52,6 +56,7 @@ public class AdaptiveSleepPreferenceController {
|
|||||||
public AdaptiveSleepPreferenceController(Context context, RestrictionUtils restrictionUtils) {
|
public AdaptiveSleepPreferenceController(Context context, RestrictionUtils restrictionUtils) {
|
||||||
mContext = context;
|
mContext = context;
|
||||||
mRestrictionUtils = restrictionUtils;
|
mRestrictionUtils = restrictionUtils;
|
||||||
|
mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
|
||||||
mPreference = new RestrictedSwitchPreference(context);
|
mPreference = new RestrictedSwitchPreference(context);
|
||||||
mPreference.setTitle(R.string.adaptive_sleep_title);
|
mPreference.setTitle(R.string.adaptive_sleep_title);
|
||||||
mPreference.setSummary(R.string.adaptive_sleep_description);
|
mPreference.setSummary(R.string.adaptive_sleep_description);
|
||||||
@@ -60,6 +65,8 @@ public class AdaptiveSleepPreferenceController {
|
|||||||
mPreference.setKey(PREFERENCE_KEY);
|
mPreference.setKey(PREFERENCE_KEY);
|
||||||
mPreference.setOnPreferenceClickListener(preference -> {
|
mPreference.setOnPreferenceClickListener(preference -> {
|
||||||
final boolean isChecked = ((RestrictedSwitchPreference) preference).isChecked();
|
final boolean isChecked = ((RestrictedSwitchPreference) preference).isChecked();
|
||||||
|
mMetricsFeatureProvider.action(context, SettingsEnums.ACTION_SCREEN_ATTENTION_CHANGED,
|
||||||
|
isChecked);
|
||||||
Settings.Secure.putInt(context.getContentResolver(),
|
Settings.Secure.putInt(context.getContentResolver(),
|
||||||
Settings.Secure.ADAPTIVE_SLEEP, isChecked ? 1 : DEFAULT_VALUE);
|
Settings.Secure.ADAPTIVE_SLEEP, isChecked ? 1 : DEFAULT_VALUE);
|
||||||
return true;
|
return true;
|
||||||
|
@@ -93,7 +93,8 @@ public class AutoRotateSwitchBarController implements OnMainSwitchChangeListener
|
|||||||
|
|
||||||
private boolean setRotationLock(boolean isChecked) {
|
private boolean setRotationLock(boolean isChecked) {
|
||||||
final boolean isLocked = !isChecked;
|
final boolean isLocked = !isChecked;
|
||||||
mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ROTATION_LOCK, isLocked);
|
mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ROTATE_ROTATE_MASTER_TOGGLE,
|
||||||
|
isChecked);
|
||||||
RotationPolicy.setRotationLock(mContext, isLocked);
|
RotationPolicy.setRotationLock(mContext, isLocked);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@@ -37,6 +37,7 @@ import androidx.preference.Preference;
|
|||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.overlay.FeatureFactory;
|
||||||
import com.android.settings.search.BaseSearchIndexProvider;
|
import com.android.settings.search.BaseSearchIndexProvider;
|
||||||
import com.android.settings.search.actionbar.SearchMenuController;
|
import com.android.settings.search.actionbar.SearchMenuController;
|
||||||
import com.android.settings.support.actionbar.HelpMenuController;
|
import com.android.settings.support.actionbar.HelpMenuController;
|
||||||
@@ -44,6 +45,7 @@ import com.android.settings.support.actionbar.HelpResourceProvider;
|
|||||||
import com.android.settings.widget.RadioButtonPickerFragment;
|
import com.android.settings.widget.RadioButtonPickerFragment;
|
||||||
import com.android.settingslib.RestrictedLockUtils;
|
import com.android.settingslib.RestrictedLockUtils;
|
||||||
import com.android.settingslib.RestrictedLockUtilsInternal;
|
import com.android.settingslib.RestrictedLockUtilsInternal;
|
||||||
|
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||||
import com.android.settingslib.search.SearchIndexable;
|
import com.android.settingslib.search.SearchIndexable;
|
||||||
import com.android.settingslib.search.SearchIndexableRaw;
|
import com.android.settingslib.search.SearchIndexableRaw;
|
||||||
import com.android.settingslib.widget.CandidateInfo;
|
import com.android.settingslib.widget.CandidateInfo;
|
||||||
@@ -70,6 +72,7 @@ public class ScreenTimeoutSettings extends RadioButtonPickerFragment implements
|
|||||||
private CharSequence[] mInitialEntries;
|
private CharSequence[] mInitialEntries;
|
||||||
private CharSequence[] mInitialValues;
|
private CharSequence[] mInitialValues;
|
||||||
private FooterPreference mPrivacyPreference;
|
private FooterPreference mPrivacyPreference;
|
||||||
|
private MetricsFeatureProvider mMetricsFeatureProvider;
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
RestrictedLockUtils.EnforcedAdmin mAdmin;
|
RestrictedLockUtils.EnforcedAdmin mAdmin;
|
||||||
@@ -102,6 +105,7 @@ public class ScreenTimeoutSettings extends RadioButtonPickerFragment implements
|
|||||||
mPrivacyPreference.setTitle(R.string.adaptive_sleep_privacy);
|
mPrivacyPreference.setTitle(R.string.adaptive_sleep_privacy);
|
||||||
mPrivacyPreference.setSelectable(false);
|
mPrivacyPreference.setSelectable(false);
|
||||||
mPrivacyPreference.setLayoutResource(R.layout.preference_footer);
|
mPrivacyPreference.setLayoutResource(R.layout.preference_footer);
|
||||||
|
mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -244,6 +248,8 @@ public class ScreenTimeoutSettings extends RadioButtonPickerFragment implements
|
|||||||
try {
|
try {
|
||||||
if (context != null) {
|
if (context != null) {
|
||||||
final long value = Long.parseLong(key);
|
final long value = Long.parseLong(key);
|
||||||
|
mMetricsFeatureProvider.action(context, SettingsEnums.ACTION_SCREEN_TIMEOUT_CHANGED,
|
||||||
|
(int) value);
|
||||||
Settings.System.putLong(context.getContentResolver(), SCREEN_OFF_TIMEOUT, value);
|
Settings.System.putLong(context.getContentResolver(), SCREEN_OFF_TIMEOUT, value);
|
||||||
}
|
}
|
||||||
} catch (NumberFormatException e) {
|
} catch (NumberFormatException e) {
|
||||||
|
Reference in New Issue
Block a user