Introduce High Touch Polling Rate feature

Change-Id: I6eb65e811f1759806aa89747328ee638c99a44f5
This commit is contained in:
Ramii Ahmed
2021-07-06 07:41:17 +00:00
committed by Cosmin Tanislav
parent fad289124c
commit a7262011d4
3 changed files with 32 additions and 1 deletions

View File

@@ -1,6 +1,6 @@
/*
* Copyright (C) 2015-2016 The CyanogenMod Project
* 2017-2021 The LineageOS Project
* 2017-2022 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -41,6 +41,7 @@ import vendor.lineage.livedisplay.V2_0.IReadingEnhancement;
import vendor.lineage.livedisplay.V2_0.ISunlightEnhancement;
import vendor.lineage.livedisplay.V2_1.IAntiFlicker;
import vendor.lineage.touch.V1_0.IGloveMode;
import vendor.lineage.touch.V1_0.IHighTouchPollingRate;
import vendor.lineage.touch.V1_0.IKeyDisabler;
import vendor.lineage.touch.V1_0.IKeySwapper;
import vendor.lineage.touch.V1_0.IStylusMode;
@@ -87,6 +88,12 @@ public final class LineageHardwareManager {
@VisibleForTesting
public static final int FEATURE_DISPLAY_COLOR_CALIBRATION = 0x4;
/**
* High Touch Polling Rate
*/
@VisibleForTesting
public static final int FEATURE_HIGH_TOUCH_POLLING_RATE = 0x8;
/**
* High touch sensitivity for touch panels
*/
@@ -170,6 +177,7 @@ public final class LineageHardwareManager {
FEATURE_ANTI_FLICKER,
FEATURE_AUTO_CONTRAST,
FEATURE_COLOR_ENHANCEMENT,
FEATURE_HIGH_TOUCH_POLLING_RATE,
FEATURE_HIGH_TOUCH_SENSITIVITY,
FEATURE_KEY_DISABLE,
FEATURE_KEY_SWAP,
@@ -298,6 +306,8 @@ public final class LineageHardwareManager {
return IReadingEnhancement.getService(true);
case FEATURE_SUNLIGHT_ENHANCEMENT:
return ISunlightEnhancement.getService(true);
case FEATURE_HIGH_TOUCH_POLLING_RATE:
return IHighTouchPollingRate.getService(true);
case FEATURE_HIGH_TOUCH_SENSITIVITY:
return IGloveMode.getService(true);
case FEATURE_KEY_DISABLE:
@@ -364,6 +374,9 @@ public final class LineageHardwareManager {
case FEATURE_COLOR_ENHANCEMENT:
IColorEnhancement colorEnhancement = (IColorEnhancement) obj;
return colorEnhancement.isEnabled();
case FEATURE_HIGH_TOUCH_POLLING_RATE:
IHighTouchPollingRate highTouchPollingRate = (IHighTouchPollingRate) obj;
return highTouchPollingRate.isEnabled();
case FEATURE_HIGH_TOUCH_SENSITIVITY:
IGloveMode gloveMode = (IGloveMode) obj;
return gloveMode.isEnabled();
@@ -422,6 +435,9 @@ public final class LineageHardwareManager {
case FEATURE_COLOR_ENHANCEMENT:
IColorEnhancement colorEnhancement = (IColorEnhancement) obj;
return colorEnhancement.setEnabled(enable);
case FEATURE_HIGH_TOUCH_POLLING_RATE:
IHighTouchPollingRate highTouchPollingRate = (IHighTouchPollingRate) obj;
return highTouchPollingRate.setEnabled(enable);
case FEATURE_HIGH_TOUCH_SENSITIVITY:
IGloveMode gloveMode = (IGloveMode) obj;
return gloveMode.setEnabled(enable);

View File

@@ -889,6 +889,17 @@ public final class LineageSettings {
/** @hide */
public static final Validator NOTIFICATION_PLAY_QUEUE_VALIDATOR = sBooleanValidator;
/**
* Whether the HighTouchPollingRate is activated or not.
* 0 = off, 1 = on
*/
public static final String HIGH_TOUCH_POLLING_RATE_ENABLE =
"high_touch_polling_rate_enable";
/** @hide */
public static final Validator HIGH_TOUCH_POLLING_RATE_ENABLE_VALIDATOR =
sBooleanValidator;
/**
* Whether the HighTouchSensitivity is activated or not.
* 0 = off, 1 = on
@@ -2145,6 +2156,8 @@ public final class LineageSettings {
new ArrayMap<String, Validator>();
static {
VALIDATORS.put(NOTIFICATION_PLAY_QUEUE, NOTIFICATION_PLAY_QUEUE_VALIDATOR);
VALIDATORS.put(HIGH_TOUCH_POLLING_RATE_ENABLE,
HIGH_TOUCH_POLLING_RATE_ENABLE_VALIDATOR);
VALIDATORS.put(HIGH_TOUCH_SENSITIVITY_ENABLE,
HIGH_TOUCH_SENSITIVITY_ENABLE_VALIDATOR);
VALIDATORS.put(SYSTEM_PROFILES_ENABLED, SYSTEM_PROFILES_ENABLED_VALIDATOR);