Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9481334a authored by Abel Tesfaye's avatar Abel Tesfaye
Browse files

Instrument metrics for smart-auto-rotate and screen timeout

Test: locally with flame

Bug: 172974834
Change-Id: Id6927e749049c88e4efea2d69f93b9d397acc1c1
parent c0894378
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEA
import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;

import android.Manifest;
import android.app.settings.SettingsEnums;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
@@ -33,8 +34,10 @@ import androidx.preference.PreferenceScreen;

import com.android.settings.R;
import com.android.settings.bluetooth.RestrictionUtils;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
import com.android.settingslib.RestrictedSwitchPreference;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;

import com.google.common.annotations.VisibleForTesting;

@@ -45,6 +48,7 @@ public class AdaptiveSleepPreferenceController {
    private RestrictionUtils mRestrictionUtils;
    private PackageManager mPackageManager;
    private Context mContext;
    private MetricsFeatureProvider mMetricsFeatureProvider;

    @VisibleForTesting
    RestrictedSwitchPreference mPreference;
@@ -52,6 +56,7 @@ public class AdaptiveSleepPreferenceController {
    public AdaptiveSleepPreferenceController(Context context, RestrictionUtils restrictionUtils) {
        mContext = context;
        mRestrictionUtils = restrictionUtils;
        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
        mPreference = new RestrictedSwitchPreference(context);
        mPreference.setTitle(R.string.adaptive_sleep_title);
        mPreference.setSummary(R.string.adaptive_sleep_description);
@@ -60,6 +65,8 @@ public class AdaptiveSleepPreferenceController {
        mPreference.setKey(PREFERENCE_KEY);
        mPreference.setOnPreferenceClickListener(preference -> {
            final boolean isChecked = ((RestrictedSwitchPreference) preference).isChecked();
            mMetricsFeatureProvider.action(context, SettingsEnums.ACTION_SCREEN_ATTENTION_CHANGED,
                    isChecked);
            Settings.Secure.putInt(context.getContentResolver(),
                    Settings.Secure.ADAPTIVE_SLEEP, isChecked ? 1 : DEFAULT_VALUE);
            return true;
+2 −1
Original line number Diff line number Diff line
@@ -93,7 +93,8 @@ public class AutoRotateSwitchBarController implements OnMainSwitchChangeListener

    private boolean setRotationLock(boolean 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);
        return true;
    }
+6 −0
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;

import com.android.settings.R;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.actionbar.SearchMenuController;
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.settingslib.RestrictedLockUtils;
import com.android.settingslib.RestrictedLockUtilsInternal;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import com.android.settingslib.search.SearchIndexable;
import com.android.settingslib.search.SearchIndexableRaw;
import com.android.settingslib.widget.CandidateInfo;
@@ -70,6 +72,7 @@ public class ScreenTimeoutSettings extends RadioButtonPickerFragment implements
    private CharSequence[] mInitialEntries;
    private CharSequence[] mInitialValues;
    private FooterPreference mPrivacyPreference;
    private MetricsFeatureProvider mMetricsFeatureProvider;

    @VisibleForTesting
    RestrictedLockUtils.EnforcedAdmin mAdmin;
@@ -102,6 +105,7 @@ public class ScreenTimeoutSettings extends RadioButtonPickerFragment implements
        mPrivacyPreference.setTitle(R.string.adaptive_sleep_privacy);
        mPrivacyPreference.setSelectable(false);
        mPrivacyPreference.setLayoutResource(R.layout.preference_footer);
        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
    }

    @Override
@@ -244,6 +248,8 @@ public class ScreenTimeoutSettings extends RadioButtonPickerFragment implements
        try {
            if (context != null) {
                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);
            }
        } catch (NumberFormatException e) {