List of usage examples for android.view ContextThemeWrapper ContextThemeWrapper
public ContextThemeWrapper(Context base, Resources.Theme theme)
From source file:com.nttec.everychan.ui.presentation.BoardFragment.java
@SuppressLint("InflateParams") private void runDelete(final DeletePostModel deletePostModel, final boolean hasFiles) { Context dialogContext = Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB ? new ContextThemeWrapper(activity, R.style.Theme_Neutron) : activity;// w w w . j a v a2 s.co m View dlgLayout = LayoutInflater.from(dialogContext).inflate(R.layout.dialog_delete, null); final EditText inputField = (EditText) dlgLayout.findViewById(R.id.dialog_delete_password_field); final CheckBox onlyFiles = (CheckBox) dlgLayout.findViewById(R.id.dialog_delete_only_files); inputField.setText(chan.getDefaultPassword()); if (!presentationModel.source.boardModel.allowDeletePosts && !presentationModel.source.boardModel.allowDeleteFiles) { Logger.e(TAG, "board model doesn't support deleting"); return; } else if (!presentationModel.source.boardModel.allowDeletePosts) { onlyFiles.setEnabled(false); onlyFiles.setChecked(true); } else if (presentationModel.source.boardModel.allowDeleteFiles && hasFiles) { onlyFiles.setEnabled(true); } else { onlyFiles.setEnabled(false); } DialogInterface.OnClickListener dlgOnClick = new DialogInterface.OnClickListener() { @Override public void onClick(final DialogInterface dialog, final int which) { if (currentTask != null) currentTask.cancel(); if (pullableLayout.isRefreshing()) setPullableNoRefreshing(); deletePostModel.onlyFiles = onlyFiles.isChecked(); deletePostModel.password = inputField.getText().toString(); final ProgressDialog progressDlg = new ProgressDialog(activity); final CancellableTask deleteTask = new CancellableTask.BaseCancellableTask(); progressDlg.setOnCancelListener(new DialogInterface.OnCancelListener() { @Override public void onCancel(DialogInterface dialog) { deleteTask.cancel(); } }); progressDlg.setCanceledOnTouchOutside(false); progressDlg.setMessage(resources.getString(R.string.dialog_delete_progress)); progressDlg.show(); Async.runAsync(new Runnable() { @Override public void run() { String error = null; String targetUrl = null; if (deleteTask.isCancelled()) return; try { targetUrl = chan.deletePost(deletePostModel, null, deleteTask); } catch (Exception e) { if (e instanceof InteractiveException) { if (deleteTask.isCancelled()) return; ((InteractiveException) e).handle(activity, deleteTask, new InteractiveException.Callback() { @Override public void onSuccess() { if (!deleteTask.isCancelled()) { progressDlg.dismiss(); onClick(dialog, which); } } @Override public void onError(String message) { if (!deleteTask.isCancelled()) { progressDlg.dismiss(); Toast.makeText(activity, message, Toast.LENGTH_LONG).show(); runDelete(deletePostModel, hasFiles); } } }); return; } Logger.e(TAG, "cannot delete post", e); error = e.getMessage() == null ? "" : e.getMessage(); } if (deleteTask.isCancelled()) return; final boolean success = error == null; final String result = success ? targetUrl : error; Async.runOnUiThread(new Runnable() { @Override public void run() { if (deleteTask.isCancelled()) return; progressDlg.dismiss(); if (success) { if (result == null) { update(); } else { UrlHandler.open(result, activity); } } else { Toast.makeText(activity, TextUtils.isEmpty(result) ? resources.getString(R.string.error_unknown) : result, Toast.LENGTH_LONG).show(); } } }); } }); } }; new AlertDialog.Builder(activity).setTitle(R.string.dialog_delete_password).setView(dlgLayout) .setPositiveButton(R.string.dialog_delete_button, dlgOnClick) .setNegativeButton(android.R.string.cancel, null).create().show(); }