AlertDialog isso é um bug?

Meu aplicativo cria um AlertDialog no qual um usuário insere o nome para salvar. Quando um usuário clica no botão salvar, o onClickListener verifica o nome duplicado. Se o nome já existir, outra caixa de diálogo será exibida para alertar o usuário de que os dados existentes serão substituídos. O usuário então tem a opção de cancelar e voltar para mudar para um novo nome ou ir em frente e ter os dados substituídos.
Quando a segunda caixa de diálogo aparecer, espero que a primeira caixa de diálogo ainda esteja visível até que eu chame demitir. No entanto, o primeiro AlertDialog desapareceu antes do segundo AlertDialog aparecer. Isso é dispensado será chamado automaticamente quando um botão é clicado. Isso é um bug ou por design?
Eu escrevi o caso de teste abaixo do qual eu verifiquei em 3 dispositivos: Android Nexus S 4.0, Android 2.3 Rezound HTC e Motorola Droid Bionic android 2.3.

Layout

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
     android:orientation="vertical" >

    <TextView 
        android:id="@+id/message"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Some message will be here"
    />

    <Button
        android:id="@+id/show_btn"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:text="Show"
    />

</LinearLayout>

Código

public class AlertDialogBug extends Activity 
{
    static final int DIALOG_ALERT_ID = 1;
    AlertDialog alertDlg;  
    TextView message;

    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        message = (TextView) findViewById(R.id.message);
        Button showButton = (Button) findViewById(R.id.show_btn);
        showButton.setOnClickListener(new OnClickListener()
        {
            @Override
            public void onClick(View v)
            {
                showDialog(DIALOG_ALERT_ID);
            }   
         });
     }

    private AlertDialog createAlertDialog()
    {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("Bug?");

        builder.setPositiveButton("OK", new DialogInterface.OnClickListener()
        {

            @Override
            public void onClick(DialogInterface dialog, int which)
            {
                // No dismiss, cancel, finish, or removeDialog,
                // but the dialog will disappear when this button is clicked.
            }

          });

         alertDlg = builder.create();
         alertDlg.setOnDismissListener(new OnDismissListener()
         {

             @Override
             public void onDismiss(DialogInterface dialog)
             {
                message.setText("onDismiss was called");
             }

          });

          return alertDlg;
    }

    @Override
    protected Dialog onCreateDialog(int id)
    {
        switch (id)
        {
            case DIALOG_ALERT_ID:
                return createAlertDialog();

            default:
                return super.onCreateDialog(id);
        }       
    } 

} 

Eu originalmente escrevi a caixa de diálogo salvar como uma atividade com android: theme = "@ android: style / Theme.Dialog". A interface parece bem no Nexus S e Rezound, mas parece terrível no Droid Bionic (a caixa de edição e o botão ocupam apenas metade da largura, a outra metade fica em branco).

questionAnswers(2)

yourAnswerToTheQuestion