diff --git a/core/java/android/preference/Preference.java b/core/java/android/preference/Preference.java index 1584424a66240..93114ad2aaf92 100644 --- a/core/java/android/preference/Preference.java +++ b/core/java/android/preference/Preference.java @@ -470,11 +470,15 @@ public class Preference implements Comparable, OnDependencyChangeLis final View layout = layoutInflater.inflate(mLayoutResId, parent, false); - if (mWidgetLayoutResId != 0) { - final ViewGroup widgetFrame = (ViewGroup)layout.findViewById(com.android.internal.R.id.widget_frame); - layoutInflater.inflate(mWidgetLayoutResId, widgetFrame); + final ViewGroup widgetFrame = (ViewGroup) layout + .findViewById(com.android.internal.R.id.widget_frame); + if (widgetFrame != null) { + if (mWidgetLayoutResId != 0) { + layoutInflater.inflate(mWidgetLayoutResId, widgetFrame); + } else { + widgetFrame.setVisibility(View.GONE); + } } - return layout; } @@ -510,17 +514,20 @@ public class Preference implements Comparable, OnDependencyChangeLis } } } - + ImageView imageView = (ImageView) view.findViewById(com.android.internal.R.id.icon); - if (imageView != null && (mIconResId != 0 || mIcon != null)) { - if (mIcon == null) { - mIcon = getContext().getResources().getDrawable(mIconResId); - } - if (mIcon != null) { - imageView.setImageDrawable(mIcon); + if (imageView != null) { + if (mIconResId != 0 || mIcon != null) { + if (mIcon == null) { + mIcon = getContext().getResources().getDrawable(mIconResId); + } + if (mIcon != null) { + imageView.setImageDrawable(mIcon); + } } imageView.setVisibility(mIcon != null ? View.VISIBLE : View.GONE); } + if (mShouldDisableView) { setEnabledStateOnViews(view, isEnabled()); } diff --git a/core/res/res/layout/locale_picker_item.xml b/core/res/res/layout/locale_picker_item.xml index b63f5ab65864c..19c0deeff93a6 100644 --- a/core/res/res/layout/locale_picker_item.xml +++ b/core/res/res/layout/locale_picker_item.xml @@ -20,11 +20,14 @@ android:layout_width="match_parent" android:gravity="center_vertical" android:minHeight="?android:attr/listPreferredItemHeight" - android:padding="5dip"> + android:paddingLeft="16dp" + android:paddingTop="8dp" + android:paddingBottom="8dp" + android:paddingRight="16dp"> diff --git a/core/res/res/layout/preference_holo.xml b/core/res/res/layout/preference_holo.xml index 8b1b02734eb69..e5ed33c8ff833 100644 --- a/core/res/res/layout/preference_holo.xml +++ b/core/res/res/layout/preference_holo.xml @@ -35,6 +35,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" + android:minWidth="48dp" />