diff --git a/src/org/omnirom/omnilib/preference/AppMultiSelectListPreference.java b/src/org/omnirom/omnilib/preference/AppMultiSelectListPreference.java
index be6caa4..805ec98 100644
--- a/src/org/omnirom/omnilib/preference/AppMultiSelectListPreference.java
+++ b/src/org/omnirom/omnilib/preference/AppMultiSelectListPreference.java
@@ -36,14 +36,14 @@
 import android.widget.TextView;
 
 import org.omnirom.omnilib.R;
-import com.android.settingslib.CustomDialogPreference;
+import com.android.settingslib.CustomDialogPreferenceCompat;
 
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 
-public class AppMultiSelectListPreference extends CustomDialogPreference {
+public class AppMultiSelectListPreference extends CustomDialogPreferenceCompat {
     private static final String TAG = "AppMultiSelectList";
     private static final boolean DEBUG = false;
 
diff --git a/src/org/omnirom/omnilib/preference/AppSelectListPreference.java b/src/org/omnirom/omnilib/preference/AppSelectListPreference.java
index 428728f..c9b70d3 100644
--- a/src/org/omnirom/omnilib/preference/AppSelectListPreference.java
+++ b/src/org/omnirom/omnilib/preference/AppSelectListPreference.java
@@ -46,10 +46,10 @@
 import java.util.LinkedList;
 import java.util.List;
 
-import com.android.settingslib.CustomDialogPreference;
+import com.android.settingslib.CustomDialogPreferenceCompat;
 import org.omnirom.omnilib.R;
 
-public class AppSelectListPreference extends CustomDialogPreference {
+public class AppSelectListPreference extends CustomDialogPreferenceCompat {
 
     private static String TAG = "AppSelectListPreference";
     public static final String DISABLED_ENTRY = "disabled";
@@ -330,10 +330,10 @@
     }
 
     public static class AppSelectListPreferenceDialogFragment
-            extends CustomDialogPreference.CustomPreferenceDialogFragment {
-        public static CustomDialogPreference.CustomPreferenceDialogFragment
+            extends CustomDialogPreferenceCompat.CustomPreferenceDialogFragment {
+        public static CustomDialogPreferenceCompat.CustomPreferenceDialogFragment
                 newInstance(String key) {
-            return CustomDialogPreference.CustomPreferenceDialogFragment.newInstance(key);
+            return CustomDialogPreferenceCompat.CustomPreferenceDialogFragment.newInstance(key);
         }
     }
 }
diff --git a/src/org/omnirom/omnilib/preference/OmniActionsListPreference.java b/src/org/omnirom/omnilib/preference/OmniActionsListPreference.java
index 8b7bb4e..71ce35b 100644
--- a/src/org/omnirom/omnilib/preference/OmniActionsListPreference.java
+++ b/src/org/omnirom/omnilib/preference/OmniActionsListPreference.java
@@ -33,13 +33,13 @@
 import org.omnirom.omnilib.actions.OmniActionsInflate;
 
 import org.omnirom.omnilib.R;
-import com.android.settingslib.CustomDialogPreference;
+import com.android.settingslib.CustomDialogPreferenceCompat;
 
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
-public class OmniActionsListPreference extends CustomDialogPreference {
+public class OmniActionsListPreference extends CustomDialogPreferenceCompat {
     private static final String TAG = "OmniActionsList";
     private static final boolean DEBUG = true;
 
diff --git a/src/org/omnirom/omnilib/preference/WifiSelectListPreference.java b/src/org/omnirom/omnilib/preference/WifiSelectListPreference.java
index 46b3d36..61a92a9 100644
--- a/src/org/omnirom/omnilib/preference/WifiSelectListPreference.java
+++ b/src/org/omnirom/omnilib/preference/WifiSelectListPreference.java
@@ -34,7 +34,7 @@
 import com.android.settingslib.wifi.WifiSavedConfigUtils;
 
 import org.omnirom.omnilib.R;
-import com.android.settingslib.CustomDialogPreference;
+import com.android.settingslib.CustomDialogPreferenceCompat;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -42,7 +42,7 @@
 import java.util.Comparator;
 import java.util.Collections;
 
-public class WifiSelectListPreference extends CustomDialogPreference {
+public class WifiSelectListPreference extends CustomDialogPreferenceCompat {
     private List<AccessPoint> mAPInfoList;
     private ActionListAdapter mAdapter;
     private List<String> mValues = new ArrayList<String>();
