@@ -55,7 +55,6 @@ public class ColorPickerPreference extends Preference implements
55
55
private static final String sAndroidns = "http://schemas.android.com/apk/res/android" ;
56
56
57
57
private PreferenceViewHolder mViewHolder ;
58
- private View mPreview ;
59
58
60
59
private ColorPickerFragment mPickerFragment ;
61
60
@@ -66,7 +65,7 @@ public class ColorPickerPreference extends Preference implements
66
65
private String mResetColor1Title = null ;
67
66
private String mResetColor2Title = null ;
68
67
private int mValue ;
69
- private boolean mAlphaSliderVisible = false ;
68
+ private boolean mAlphaSliderVisible = true ;
70
69
71
70
public ColorPickerPreference (Context context ) {
72
71
this (context , null );
@@ -150,6 +149,7 @@ private void setPreview() {
150
149
return ;
151
150
}
152
151
152
+ widgetFrameView .removeAllViews ();
153
153
float density = mResources .getDisplayMetrics ().density ;
154
154
final int size = (int ) mResources .getDimension (
155
155
R .dimen .color_picker_preference_preview_width_height );
@@ -163,18 +163,18 @@ private void setPreview() {
163
163
borderColor = mResources .getColor (tv .resourceId );
164
164
}
165
165
166
- mPreview = new View (getContext ());
166
+ View preview = new View (getContext ());
167
167
LinearLayout .LayoutParams lp = new LinearLayout .LayoutParams (size , size );
168
168
ColorViewCircleDrawable drawable = new ColorViewCircleDrawable (getContext (), size );
169
169
170
170
widgetFrameView .setVisibility (View .VISIBLE );
171
171
widgetFrameView .setPadding (widgetFrameView .getPaddingLeft (), widgetFrameView .getPaddingTop (),
172
172
(int ) (density * 8 ), widgetFrameView .getPaddingBottom ());
173
- mPreview .setLayoutParams (lp );
174
- drawable .setColor (getValue () );
173
+ preview .setLayoutParams (lp );
174
+ drawable .setColor (mValue );
175
175
drawable .setBorderColor (borderColor );
176
- mPreview .setBackground (drawable );
177
- widgetFrameView .addView (mPreview );
176
+ preview .setBackground (drawable );
177
+ widgetFrameView .addView (preview );
178
178
widgetFrameView .setMinimumWidth (0 );
179
179
}
180
180
@@ -196,13 +196,11 @@ public void onColorChanged(int color) {
196
196
persistInt (color );
197
197
}
198
198
mValue = color ;
199
- if (mPreview != null ) {
200
- ((ColorViewCircleDrawable ) mPreview .getBackground ()).setColor (color );
201
- }
202
199
try {
203
200
getOnPreferenceChangeListener ().onPreferenceChange (this , color );
204
201
} catch (NullPointerException e ) {
205
202
}
203
+ setPreview ();
206
204
}
207
205
208
206
@ Override
@@ -254,11 +252,11 @@ private void showFragment(Bundle state) {
254
252
boolean showHelpScreen = prefs .getBoolean ("show_help_screen" , true );
255
253
arguments = new Bundle ();
256
254
257
- arguments .putInt ("new_color" , getValue () );
258
- arguments .putInt ("old_color" , getValue () );
255
+ arguments .putInt ("new_color" , mValue );
256
+ arguments .putInt ("old_color" , mValue );
259
257
arguments .putBoolean ("help_screen_visible" , showHelpScreen );
260
258
}
261
- arguments .putInt ("initial_color" , getValue () );
259
+ arguments .putInt ("initial_color" , mValue );
262
260
arguments .putInt ("reset_color_1" , mResetColor1 );
263
261
arguments .putInt ("reset_color_2" , mResetColor2 );
264
262
arguments .putCharSequence ("reset_color_1_title" , mResetColor1Title );
0 commit comments