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

Commit d168aaf1 authored by Yuhan Yang's avatar Yuhan Yang
Browse files

Add metric for mouse scrolling setting changes

Bug: 383555305
Bug: 384795606
Test: m statsd_testdrive
Flag: com.android.hardware.input.mouse_scrolling_acceleration
Change-Id: I9148f13bde2c31373778648fc9b078f5cceffc1c
parent 77737899
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.settings.inputmethod;

import android.app.settings.SettingsEnums;
import android.content.Context;
import android.hardware.input.InputSettings;

@@ -23,12 +24,17 @@ import androidx.annotation.NonNull;

import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;

public class MouseScrollingAccelerationPreferenceController extends TogglePreferenceController {

    private final MetricsFeatureProvider mMetricsFeatureProvider;

    public MouseScrollingAccelerationPreferenceController(
            @NonNull Context context, @NonNull String key) {
        super(context, key);
        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
    }

    @Override
@@ -39,6 +45,9 @@ public class MouseScrollingAccelerationPreferenceController extends TogglePrefer
    @Override
    public boolean setChecked(boolean isChecked) {
        InputSettings.setMouseScrollingAcceleration(mContext, !isChecked);
        mMetricsFeatureProvider.action(mContext,
                isChecked ? SettingsEnums.ACTION_MOUSE_SCROLLING_ACCELERATION_DISABLED :
                            SettingsEnums.ACTION_MOUSE_SCROLLING_ACCELERATION_ENABLED);
        return true;
    }

+8 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.settings.inputmethod;

import android.app.settings.SettingsEnums;
import android.content.ContentResolver;
import android.content.Context;
import android.database.ContentObserver;
@@ -30,7 +31,9 @@ import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;

import com.android.settings.core.SliderPreferenceController;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.widget.SeekBarPreference;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnStart;
import com.android.settingslib.core.lifecycle.events.OnStop;
@@ -39,6 +42,8 @@ import com.android.settingslib.core.lifecycle.events.OnStop;
public class MouseScrollingSpeedPreferenceController extends SliderPreferenceController implements
        Preference.OnPreferenceChangeListener, LifecycleObserver, OnStop, OnStart  {

    private final MetricsFeatureProvider mMetricsFeatureProvider;

    private final ContentResolver mContentResolver;
    private final ContentObserver mContentObserver;

@@ -48,6 +53,7 @@ public class MouseScrollingSpeedPreferenceController extends SliderPreferenceCon
    public MouseScrollingSpeedPreferenceController(@NonNull Context context, @NonNull String key) {
        super(context, key);

        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
        mContentResolver = context.getContentResolver();
        mContentObserver = new ContentObserver(new Handler(Looper.getMainLooper())) {
            @Override
@@ -81,6 +87,8 @@ public class MouseScrollingSpeedPreferenceController extends SliderPreferenceCon
            return false;
        }
        InputSettings.setMouseScrollingSpeed(mContext, position);
        mMetricsFeatureProvider.action(
                mContext, SettingsEnums.ACTION_MOUSE_SCROLLING_SPEED_CHANGED, position);

        return true;
    }