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

Unverified Commit 71fac89c authored by LuK1337's avatar LuK1337 Committed by Michael Bestas
Browse files

Settings: Add high touch sensitivity and touchscreen hovering toggles

Author: Bruno Martins <bgcngm@gmail.com>
Date:   Tue Mar 26 00:06:11 2019 +0000

    DisplaySettings: Hide high touch sensitivity from search if needed

     * Fixes: https://gitlab.com/LineageOS/issues/android/issues/260

    Change-Id: I98ce66dec9801c36da5a2facd6b033895b7963f0

Author: Bruno Martins <bgcngm@gmail.com>
Date:   Tue Mar 26 00:20:37 2019 +0000

    LanguageAndInputSettings: Hide touch hovering from search if needed

    Change-Id: I5d53946262919ff67be5e777654af2171ffd2a44

Change-Id: Ib8712d2d0c0fe4396dbea7c7fc130e0c253d3207
parent 415fa88d
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -48,6 +48,10 @@
    <string name="status_bar_double_tap_to_sleep_title">Tap to sleep</string>
    <string name="status_bar_double_tap_to_sleep_summary">Double-tap on the status bar or lockscreen to turn off the display</string>

    <!-- High touch sensitivity -->
    <string name="high_touch_sensitivity_title">High touch sensitivity</string>
    <string name="high_touch_sensitivity_summary">Increase touchscreen sensitivity so it can be used while wearing gloves</string>

    <!-- Hotspot extras -->
    <string name="tethering_allow_vpn_upstreams_title">Allow clients to use VPNs</string>
    <string name="tethering_allow_vpn_upstreams_summary">Permit hotspot clients to use this device\u2019s VPN connections for upstream connectivity</string>
@@ -93,6 +97,10 @@
    <string name="touchscreen_gesture_settings_title">Touchscreen gestures</string>
    <string name="touchscreen_gesture_settings_summary">Perform various touchscreen gestures for quick actions</string>

    <!-- Touchscreen hovering -->
    <string name="touchscreen_hovering_title">Touchscreen hovering</string>
    <string name="touchscreen_hovering_summary">Allows you to hover the screen like a mouse in web browsers, remote desktops, etc</string>

    <!-- Volume link notification -->
    <string name="volume_link_notification_title">Link ring &amp; notification volumes</string>
</resources>
+7 −0
Original line number Diff line number Diff line
@@ -173,6 +173,13 @@
            android:summary="@string/status_bar_double_tap_to_sleep_summary"
            android:defaultValue="true" />

        <lineageos.preference.LineageSystemSettingSwitchPreference
            android:key="high_touch_sensitivity_enable"
            android:title="@string/high_touch_sensitivity_title"
            android:summary="@string/high_touch_sensitivity_summary"
            android:defaultValue="false"
            settings:requiresFeature="lineagehardware:FEATURE_HIGH_TOUCH_SENSITIVITY" />

        <ListPreference
            android:key="theme"
            android:title="@string/device_theme"
+8 −0
Original line number Diff line number Diff line
@@ -98,6 +98,14 @@
            android:key="pointer_speed"
            android:title="@string/pointer_speed"
            android:dialogTitle="@string/pointer_speed" />

        <lineageos.preference.LineageSecureSettingSwitchPreference
            android:key="feature_touch_hovering"
            android:title="@string/touchscreen_hovering_title"
            android:summary="@string/touchscreen_hovering_summary"
            android:defaultValue="false"
            settings:requiresFeature="lineagehardware:FEATURE_TOUCH_HOVERING" />

    </PreferenceCategory>

    <SwitchPreference
+15 −0
Original line number Diff line number Diff line
@@ -35,6 +35,8 @@ import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.search.SearchIndexable;

import lineageos.hardware.LineageHardwareManager;

import java.util.ArrayList;
import java.util.List;

@@ -42,6 +44,8 @@ import java.util.List;
public class DisplaySettings extends DashboardFragment {
    private static final String TAG = "DisplaySettings";

    private static final String KEY_HIGH_TOUCH_SENSITIVITY = "high_touch_sensitivity_enable";

    @Override
    public int getMetricsCategory() {
        return SettingsEnums.DISPLAY;
@@ -93,6 +97,17 @@ public class DisplaySettings extends DashboardFragment {
    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
            new BaseSearchIndexProvider(R.xml.display_settings) {

                @Override
                public List<String> getNonIndexableKeys(Context context) {
                    List<String> keys = super.getNonIndexableKeys(context);
                    LineageHardwareManager hardware = LineageHardwareManager.getInstance(context);
                    if (!hardware.isSupported(
                            LineageHardwareManager.FEATURE_HIGH_TOUCH_SENSITIVITY)) {
                        keys.add(KEY_HIGH_TOUCH_SENSITIVITY);
                    }
                    return keys;
                }

                @Override
                public List<AbstractPreferenceController> createPreferenceControllers(
                        Context context) {
+13 −0
Original line number Diff line number Diff line
@@ -39,6 +39,8 @@ import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.search.SearchIndexable;

import lineageos.hardware.LineageHardwareManager;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -52,6 +54,7 @@ public class LanguageAndInputSettings extends DashboardFragment {
    private static final String KEY_SPEECH_CATEGORY = "speech_category";
    private static final String KEY_TEXT_TO_SPEECH = "tts_settings_summary";
    private static final String KEY_POINTER_CATEGORY = "pointer_category";
    private static final String KEY_TOUCH_HOVERING = "feature_touch_hovering";

    @Override
    public int getMetricsCategory() {
@@ -144,6 +147,16 @@ public class LanguageAndInputSettings extends DashboardFragment {
    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
            new BaseSearchIndexProvider(R.xml.language_and_input) {

                @Override
                public List<String> getNonIndexableKeys(Context context) {
                    List<String> keys = super.getNonIndexableKeys(context);
                    LineageHardwareManager hardware = LineageHardwareManager.getInstance(context);
                    if (!hardware.isSupported(LineageHardwareManager.FEATURE_TOUCH_HOVERING)) {
                        keys.add(KEY_TOUCH_HOVERING);
                    }
                    return keys;
                }

                @Override
                public List<AbstractPreferenceController> createPreferenceControllers(
                        Context context) {