Settings: Add high touch sensitivity and touchscreen hovering toggles

Co-authored-by: Bruno Martins <bgcngm@gmail.com>
Change-Id: Ib8712d2d0c0fe4396dbea7c7fc130e0c253d3207
This commit is contained in:
LuK1337
2018-03-11 11:38:52 +01:00
committed by Michael Bestas
parent a3e4298433
commit 486f2ce5c5
5 changed files with 52 additions and 1 deletions

View File

@@ -40,6 +40,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">Use VPN for connected devices</string>
<string name="tethering_allow_vpn_upstreams_summary">When this device is using a VPN, all devices connected to the hotspot will use the same VPN</string>
@@ -77,4 +81,8 @@
<!-- Touchscreen gesture settings -->
<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>
</resources>

View File

@@ -211,6 +211,13 @@
android:defaultValue="@*lineageos.platform:bool/config_dt2sGestureEnabledByDefault"
settings:requiresConfig="@*lineageos.platform:bool/config_dt2sGestureAvailable" />
<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"

View File

@@ -61,6 +61,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>
<SwitchPreferenceCompat

View File

@@ -37,6 +37,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;
@@ -44,6 +46,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;
@@ -90,6 +94,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) {

View File

@@ -36,6 +36,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;
@@ -47,6 +49,7 @@ public class KeyboardSettings extends DashboardFragment {
private static final String KEY_KEYBOARDS_CATEGORY = "keyboards_category";
private static final String KEY_POINTER_CATEGORY = "pointer_category";
private static final String KEY_TOUCH_HOVERING = "feature_touch_hovering";
@Override
public int getMetricsCategory() {
@@ -110,5 +113,15 @@ public class KeyboardSettings extends DashboardFragment {
}
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider(R.xml.keyboard_settings);
new BaseSearchIndexProvider(R.xml.keyboard_settings) {
@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;
}
};
}