Merge "Add preference toggle for touchpad acceleration setting" into main

This commit is contained in:
Michael Checo
2025-01-17 15:19:57 -08:00
committed by Android (Google) Code Review
3 changed files with 67 additions and 0 deletions

View File

@@ -4775,6 +4775,10 @@
<string name="trackpad_pointer_speed">Cursor speed</string>
<!-- Title text for 'Three finger tap' touchpad preference. This preference allows the user to select an action that will trigger when they tap three fingers on a touchpad. [CHAR LIMIT=60] -->
<string name="three_finger_tap_preference_title">Customise 3-finger tap</string>
<!-- Title for the 'Touchpad acceleration' preference switch, which dynamically adjusts cursor movement based on speed. [CHAR LIMIT=60] -->
<string name="touchpad_acceleration_title">Touchpad acceleration</string>
<!-- Summary text for the 'Touchpad acceleration' preference switch indicating to users that when this switch is enabled, faster movements with your fingers will move the cursor farther. [CHAR LIMIT=NONE] -->
<string name="touchpad_acceleration_summary">Faster movements on your touchpad will move the cursor farther</string>
<!-- Title text for mouse pointer color. [CHAR LIMIT=35] -->
<string name="pointer_fill_style">Pointer color</string>
<!-- Content description for black pointer fill style. [CHAR LIMIT=60] -->

View File

@@ -54,6 +54,13 @@
settings:controller="com.android.settings.inputmethod.TouchpadThreeFingerTapPreferenceController"
android:order="37"/>
<SwitchPreferenceCompat
android:key="touchpad_acceleration"
android:title="@string/touchpad_acceleration_title"
android:summary="@string/touchpad_acceleration_summary"
settings:controller="com.android.settings.inputmethod.TouchpadAccelerationPreferenceController"
android:order="38"/>
<com.android.settings.widget.SeekBarPreference
android:key="touchpad_pointer_speed"
android:title="@string/trackpad_pointer_speed"

View File

@@ -0,0 +1,56 @@
/*
* Copyright 2025 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.inputmethod;
import android.content.Context;
import android.hardware.input.InputSettings;
import androidx.annotation.NonNull;
import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
public class TouchpadAccelerationPreferenceController extends TogglePreferenceController {
public TouchpadAccelerationPreferenceController(@NonNull Context context, @NonNull String key) {
super(context, key);
}
@Override
public boolean isChecked() {
return InputSettings.isTouchpadAccelerationEnabled(mContext);
}
@Override
public boolean setChecked(boolean isChecked) {
InputSettings.setTouchpadAccelerationEnabled(mContext, isChecked);
return true;
}
@Override
public int getAvailabilityStatus() {
if (!InputSettings.isPointerAccelerationFeatureFlagEnabled()) {
return UNSUPPORTED_ON_DEVICE;
}
return InputPeripheralsSettingsUtils.isTouchpad() ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
}
@Override
public int getSliceHighlightMenuRes() {
return R.string.menu_key_system;
}
}