Only remove touchscreen-trackpad option on TV devices

Some VR headset devices can make use of this without a proper touchscreen
This commit is contained in:
Cameron Gutman 2023-02-20 13:22:01 -06:00
parent b47f3ef397
commit e4538e4a51

View File

@ -252,17 +252,16 @@ public class StreamSettings extends Activity {
PreferenceScreen screen = getPreferenceScreen(); PreferenceScreen screen = getPreferenceScreen();
// hide on-screen controls category on non touch screen devices // hide on-screen controls category on non touch screen devices
if (!getActivity().getPackageManager(). if (!getActivity().getPackageManager().hasSystemFeature(PackageManager.FEATURE_TOUCHSCREEN)) {
hasSystemFeature(PackageManager.FEATURE_TOUCHSCREEN)) { PreferenceCategory category =
{ (PreferenceCategory) findPreference("category_onscreen_controls");
PreferenceCategory category = screen.removePreference(category);
(PreferenceCategory) findPreference("category_onscreen_controls");
screen.removePreference(category);
}
{ // Perform a slightly stricter check to remove the touchscreen trackpad option. This is
PreferenceCategory category = // still useful for non-touch input devices that emulate touchscreens.
(PreferenceCategory) findPreference("category_input_settings"); if (getActivity().getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEVISION) ||
getActivity().getPackageManager().hasSystemFeature(PackageManager.FEATURE_LEANBACK)) {
category = (PreferenceCategory) findPreference("category_input_settings");
category.removePreference(findPreference("checkbox_touchscreen_trackpad")); category.removePreference(findPreference("checkbox_touchscreen_trackpad"));
} }
} }