package com.vladstoick.DialogFragment; import android.app.AlertDialog; import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; import android.os.Bundle; import android.view.KeyEvent; import android.view.WindowManager; import android.view.inputmethod.InputMethodManager; import android.widget.EditText; import android.widget.TextView; import com.actionbarsherlock.app.SherlockDialogFragment; import com.vladstoick.OttoBus.BusProvider; import com.vladstoick.OttoBus.DataModifiedEvent; import com.vladstoick.stiridinromania.R; /** * Created by Vlad on 8/10/13. */ public class RenameDialogFragment extends SherlockDialogFragment implements EditText.OnEditorActionListener { public class ElementRenamedEvent { public final String type; public final int id; public final String newName; ElementRenamedEvent(String type, int id, String newName) { this.type = type; this.id = id; this.newName = newName; } } public static final String TAG = "RENAMEDIALOGFRAGMENT"; public static final String GROUP_TAG = "GROUP"; public static final String SOURCE_TAG = "SOURCE"; private String type; private int id; EditText mEditText; public RenameDialogFragment(String type, int id) { this.type = type; this.id = id; } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { BusProvider.getInstance().register(this); mEditText = new EditText(getSherlockActivity()); AlertDialog builder = new AlertDialog.Builder(getSherlockActivity()) .setView(mEditText) .setPositiveButton(getSherlockActivity().getString(R.string.ok), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { BusProvider.getInstance().post(new ElementRenamedEvent(type, id, mEditText.getText().toString())); getDialog().dismiss(); } }) .setNegativeButton(getSherlockActivity().getString(R.string.cancel), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { getDialog().dismiss(); } }) .create(); InputMethodManager imm = (InputMethodManager) getActivity(). getSystemService(Context.INPUT_METHOD_SERVICE); mEditText.requestFocus(); builder.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE); if (type == GROUP_TAG) { builder.setTitle(getString(R.string.rename) + " " + getString(R.string.group)); } else { builder.setTitle(getString(R.string.rename) + " " + getString(R.string.feed)); } return builder; } @Override public void onDestroyView() { super.onDestroyView(); BusProvider.getInstance().unregister(this); } @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { return false; } }