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

Commit a7262011 authored by Ramii Ahmed's avatar Ramii Ahmed Committed by Cosmin Tanislav
Browse files

Introduce High Touch Polling Rate feature

Change-Id: I6eb65e811f1759806aa89747328ee638c99a44f5
parent fad28912
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -196,6 +196,7 @@ package lineageos.hardware {
    field public static final int FEATURE_COLOR_ENHANCEMENT = 2; // 0x2
    field public static final int FEATURE_DISPLAY_COLOR_CALIBRATION = 4; // 0x4
    field public static final int FEATURE_DISPLAY_MODES = 8192; // 0x2000
    field public static final int FEATURE_HIGH_TOUCH_POLLING_RATE = 8; // 0x8
    field public static final int FEATURE_HIGH_TOUCH_SENSITIVITY = 16; // 0x10
    field public static final int FEATURE_KEY_DISABLE = 32; // 0x20
    field public static final int FEATURE_KEY_SWAP = 64; // 0x40
@@ -732,6 +733,7 @@ package lineageos.providers {
    field public static final java.lang.String DISPLAY_TEMPERATURE_NIGHT = "display_temperature_night";
    field public static final java.lang.String DOUBLE_TAP_SLEEP_GESTURE = "double_tap_sleep_gesture";
    field public static final java.lang.String HEADSET_CONNECT_PLAYER = "headset_connect_player";
    field public static final java.lang.String HIGH_TOUCH_POLLING_RATE_ENABLE = "high_touch_polling_rate_enable";
    field public static final java.lang.String HIGH_TOUCH_SENSITIVITY_ENABLE = "high_touch_sensitivity_enable";
    field public static final java.lang.String HOME_WAKE_SCREEN = "home_wake_screen";
    field public static final java.lang.String INCREASING_RING = "increasing_ring";
+17 −1
Original line number Diff line number Diff line
/*
 * 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);
+13 −0
Original line number Diff line number Diff line
@@ -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);