OSDN Git Service

Fix NPE in HighTouchSensivity
authorMichael Bestas <mikeioannina@gmail.com>
Sun, 18 Jan 2015 15:54:11 +0000 (17:54 +0200)
committerAdnan Begovic <adnan@cyngn.com>
Fri, 30 Oct 2015 00:36:30 +0000 (17:36 -0700)
Change-Id: I7c33decbd34da8e57a22b66980a51be8e422a2b4

src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java

index 439efbc..b583d52 100644 (file)
@@ -176,11 +176,18 @@ public class InputMethodAndLanguageSettings extends SettingsPreferenceFragment
                         findPreference(KEY_POINTER_SETTINGS_CATEGORY);
 
         mHighTouchSensitivity = (SwitchPreference) findPreference(KEY_HIGH_TOUCH_SENSITIVITY);
-        if (!isHighTouchSensitivitySupported()) {
-            pointerSettingsCategory.removePreference(mHighTouchSensitivity);
-            mHighTouchSensitivity = null;
-        } else {
-            mHighTouchSensitivity.setChecked(HighTouchSensitivity.isEnabled());
+
+        if (pointerSettingsCategory != null) {
+            if (!isHighTouchSensitivitySupported()) {
+                pointerSettingsCategory.removePreference(mHighTouchSensitivity);
+                mHighTouchSensitivity = null;
+            } else {
+                mHighTouchSensitivity.setChecked(HighTouchSensitivity.isEnabled());
+            }
+
+            if (pointerSettingsCategory.getPreferenceCount() == 0) {
+                getPreferenceScreen().removePreference(pointerSettingsCategory);
+            }
         }
 
         // Enable or disable mStatusBarImeSwitcher based on boolean: config_show_cmIMESwitcher