public void showProgressDialog() {
   if (null == mLoadingProgressDialogExt) {
     mLoadingProgressDialogExt = new ProgressDialogExt(this);
     mLoadingProgressDialogExt.setTitle(R.string.loading);
     mLoadingProgressDialogExt.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
     mLoadingProgressDialogExt.setMax(100);
     mLoadingProgressDialogExt.setCancelable(false);
     mLoadingProgressDialogExt.setButton(
         DialogInterface.BUTTON_NEGATIVE,
         this.getText(R.string.back),
         new DialogInterface.OnClickListener() {
           @Override
           public void onClick(DialogInterface dialog, int which) {
             mLoadingProgressDialogExt.dismiss();
             mLoadingProgressDialogExt = null;
           }
         });
   }
   mLoadingProgressDialogExt.setProgress(0);
   mLoadingProgressDialogExt.show();
   mLoadingProgressDialogExt.setOnDismissListener(
       new ProgressDialog.OnDismissListener() {
         @Override
         public void onDismiss(DialogInterface dialog) {
           loadMessageList();
         }
       });
 }
 public void setProgressDialog(int progress) {
   if (null != mLoadingProgressDialogExt) {
     mLoadingProgressDialogExt.postSetProgress(progress);
   }
 }
 public void dismissProgressDialog() {
   if (null != mLoadingProgressDialogExt) {
     mLoadingProgressDialogExt.postDismiss();
     mLoadingProgressDialogExt = null;
   }
 }