Skip to content

Commit 2996557

Browse files
committed
Resolved #851
1 parent 20fd9f7 commit 2996557

File tree

1 file changed

+13
-9
lines changed
  • commons/src/main/java/com/afollestad/materialdialogs/prefs

1 file changed

+13
-9
lines changed

commons/src/main/java/com/afollestad/materialdialogs/prefs/PrefUtil.java

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import android.content.res.XmlResourceParser;
44
import android.preference.Preference;
55
import android.preference.PreferenceManager;
6+
import android.support.annotation.NonNull;
7+
import android.support.annotation.Nullable;
68
import android.util.AttributeSet;
79

810
import com.afollestad.materialdialogs.commons.R;
@@ -17,21 +19,23 @@ class PrefUtil {
1719
private PrefUtil() {
1820
}
1921

20-
public static void setLayoutResource(Preference preference, AttributeSet attrs) {
22+
public static void setLayoutResource(@NonNull Preference preference, @Nullable AttributeSet attrs) {
2123
boolean foundLayout = false;
22-
for (int i = 0; i < attrs.getAttributeCount(); i++) {
23-
final String namespace = ((XmlResourceParser) attrs).getAttributeNamespace(0);
24-
if (namespace.equals("http://schemas.android.com/apk/res/android") &&
25-
attrs.getAttributeName(i).equals("layout")) {
26-
foundLayout = true;
27-
break;
24+
if (attrs != null) {
25+
for (int i = 0; i < attrs.getAttributeCount(); i++) {
26+
final String namespace = ((XmlResourceParser) attrs).getAttributeNamespace(0);
27+
if (namespace.equals("http://schemas.android.com/apk/res/android") &&
28+
attrs.getAttributeName(i).equals("layout")) {
29+
foundLayout = true;
30+
break;
31+
}
2832
}
2933
}
3034
if (!foundLayout)
3135
preference.setLayoutResource(R.layout.md_preference_custom);
3236
}
3337

34-
public static void registerOnActivityDestroyListener(Preference preference, PreferenceManager.OnActivityDestroyListener listener) {
38+
public static void registerOnActivityDestroyListener(@NonNull Preference preference, @NonNull PreferenceManager.OnActivityDestroyListener listener) {
3539
try {
3640
PreferenceManager pm = preference.getPreferenceManager();
3741
Method method = pm.getClass().getDeclaredMethod(
@@ -43,7 +47,7 @@ public static void registerOnActivityDestroyListener(Preference preference, Pref
4347
}
4448
}
4549

46-
public static void unregisterOnActivityDestroyListener(Preference preference, PreferenceManager.OnActivityDestroyListener listener) {
50+
public static void unregisterOnActivityDestroyListener(@NonNull Preference preference, @NonNull PreferenceManager.OnActivityDestroyListener listener) {
4751
try {
4852
PreferenceManager pm = preference.getPreferenceManager();
4953
Method method = pm.getClass().getDeclaredMethod(

0 commit comments

Comments
 (0)