go back to having Ok and Cancel buttons: that's the way the built-in

prefs editors work.  Dismiss == Cancel, again following the built-in.
This commit is contained in:
eehouse 2010-03-25 04:48:03 +00:00
parent 02a96cdaa6
commit 077bc53e80

View file

@ -18,7 +18,6 @@ import junit.framework.Assert;
public class EditColorPreference extends DialogPreference { public class EditColorPreference extends DialogPreference {
private Context m_context; private Context m_context;
private boolean m_cancel;
private int m_curColor; private int m_curColor;
private class SBCL implements SeekBar.OnSeekBarChangeListener { private class SBCL implements SeekBar.OnSeekBarChangeListener {
@ -78,7 +77,6 @@ public class EditColorPreference extends DialogPreference {
@Override @Override
protected void onBindDialogView( View view ) protected void onBindDialogView( View view )
{ {
m_cancel = false;
m_curColor = getPersistedColor(); m_curColor = getPersistedColor();
setOneByte( view, R.id.edit_red, 16 ); setOneByte( view, R.id.edit_red, 16 );
setOneByte( view, R.id.edit_green, 8 ); setOneByte( view, R.id.edit_green, 8 );
@ -91,23 +89,11 @@ public class EditColorPreference extends DialogPreference {
@Override @Override
protected void onPrepareDialogBuilder( AlertDialog.Builder builder ) protected void onPrepareDialogBuilder( AlertDialog.Builder builder )
{ {
builder.setPositiveButton( null, null ); DialogInterface.OnClickListener lstnr =
builder.setNegativeButton( R.string.button_cancel,
new DialogInterface.OnClickListener() { new DialogInterface.OnClickListener() {
@Override @Override
public void onClick( DialogInterface dg, public void onClick( DialogInterface dialog, int which )
int which )
{ {
m_cancel = true;
}
} );
super.onPrepareDialogBuilder( builder );
}
@Override
public void onDismiss( DialogInterface dialog )
{
if ( !m_cancel ) {
int color = (getOneByte( dialog, R.id.edit_red ) << 16) int color = (getOneByte( dialog, R.id.edit_red ) << 16)
| (getOneByte( dialog, R.id.edit_green ) << 8) | (getOneByte( dialog, R.id.edit_green ) << 8)
| getOneByte( dialog, R.id.edit_blue ); | getOneByte( dialog, R.id.edit_blue );
@ -115,6 +101,9 @@ public class EditColorPreference extends DialogPreference {
persistInt( color ); persistInt( color );
notifyChanged(); notifyChanged();
} }
};
builder.setPositiveButton( R.string.button_ok, lstnr );
super.onPrepareDialogBuilder( builder );
} }
private void setOneByte( View parent, int id, int shift ) private void setOneByte( View parent, int id, int shift )