Skip to content

Commit

Permalink
Migrated PostSettingsInputDialogFragment to ViewBinding
Browse files Browse the repository at this point in the history
  • Loading branch information
neeldoshii committed Jun 6, 2024
1 parent dd271c7 commit baffe30
Showing 1 changed file with 16 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,20 @@
import android.text.TextUtils;
import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.view.ContextThemeWrapper;
import androidx.fragment.app.DialogFragment;

import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.textfield.TextInputLayout;

import org.wordpress.android.R;
import org.wordpress.android.databinding.PostSettingsInputDialogBinding;
import org.wordpress.android.util.ActivityUtils;

import java.util.Objects;

public class PostSettingsInputDialogFragment extends DialogFragment implements TextWatcher {
public static final String TAG = "post_settings_input_dialog_fragment";

Expand All @@ -35,6 +34,8 @@ public interface PostSettingsInputDialogListener {
private static final String HINT_TAG = "hint";
private static final String DISABLE_EMPTY_INPUT_TAG = "disable_empty_input";
private static final String MULTILINE_INPUT_TAG = "is_multiline_input";

private PostSettingsInputDialogBinding binding;
private String mCurrentInput;
private String mTitle;
private String mHint;
Expand Down Expand Up @@ -94,34 +95,31 @@ public void onDismiss(DialogInterface dialog) {
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder =
new MaterialAlertDialogBuilder(new ContextThemeWrapper(getActivity(), R.style.PostSettingsTheme));
LayoutInflater layoutInflater = getActivity().getLayoutInflater();
LayoutInflater layoutInflater = requireActivity().getLayoutInflater();
//noinspection InflateParams
View dialogView = layoutInflater.inflate(R.layout.post_settings_input_dialog, null);
builder.setView(dialogView);
final EditText editText = dialogView.findViewById(R.id.post_settings_input_dialog_edit_text);
binding = PostSettingsInputDialogBinding.inflate(layoutInflater,null,false);
builder.setView(binding.getRoot());
if (mIsMultilineInput) {
editText.setRawInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE);
binding.postSettingsInputDialogEditText.setRawInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE);
} else {
editText.setInputType(InputType.TYPE_CLASS_TEXT);
binding.postSettingsInputDialogEditText.setInputType(InputType.TYPE_CLASS_TEXT);
}
if (!TextUtils.isEmpty(mCurrentInput)) {
editText.setText(mCurrentInput);
binding.postSettingsInputDialogEditText.setText(mCurrentInput);
// move the cursor to the end
editText.setSelection(mCurrentInput.length());
binding.postSettingsInputDialogEditText.setSelection(mCurrentInput.length());
}
editText.addTextChangedListener(this);
binding.postSettingsInputDialogEditText.addTextChangedListener(this);

TextInputLayout textInputLayout = dialogView.findViewById(R.id.post_settings_input_dialog_input_layout);
textInputLayout.setHint(mTitle);
binding.postSettingsInputDialogInputLayout.setHint(mTitle);

TextView hintTextView = dialogView.findViewById(R.id.post_settings_input_dialog_hint);
hintTextView.setText(mHint);
binding.postSettingsInputDialogHint.setText(mHint);

builder.setNegativeButton(R.string.cancel, null);
builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
mCurrentInput = editText.getText().toString();
mCurrentInput = Objects.requireNonNull(binding.postSettingsInputDialogEditText.getText()).toString();
if (mListener != null) {
mListener.onInputUpdated(mCurrentInput);
}
Expand Down

0 comments on commit baffe30

Please sign in to comment.